Programowanie uC - Pascal, czy C ?

Jezeli nie potrafisz tego zrozumiec, to moze leipej w ogole nie bierz sie za programowanie? Sa inne zawody, prostsze intelektualnie, takie jak fryzjerstwo na przyklad

A jak juz musisz programowac, to kup sobie jakis podrecznik i poczytaj

A.L.

P.S. A moze to zrozumiesz?

typedef char (*(*arrfptr[3])())[10];

Reply to
A.L.
Loading thread data ...

Nie mozna, bo to jest ciag wywolan DYNAMICZNYCH a nie statycznych. Gdyby ktos to roziwazal, rozwiazalby problem stopu.

Ale MECHANIZM musi byc i istniej nawet jak nei ma zagniezdzonych procedur. Jak sie usunie zagniezdzanei procedur na poziomie definicji jezyka, to sie dostanie C

A.L.

Reply to
A.L.

news: snipped-for-privacy@googlegroups.com...

wynik w i.

Podobnie a+=b; wymaga poszukiwania a tylko raz, a a=a+b; wymaga poszukiwania a dwa razy.

P.G.

Reply to
Piotr Ga³ka

A zarabia sie podobnie :-) Prostsze to niekoniecznie, bo to zawod zahaczajacy o sztuke.

Ale to odrzuca nawet doswiadczonych programistow, ktorzy czasem sa do tego zmuszeni ...

J.

Reply to
J.F.

Dnia Fri, 31 Jan 2014 15:43:43 -0800 (PST), snipped-for-privacy@gmail.com

Sie doczytaj. To akurat najprostsza podstawa, nie budzaca watpliwosci po pierwszym czytaniu. Za to w odroznieniu od Pascala zapewniajaca elastycznosc konstrukcji.

Na pierwszy rzut oka moze i burdel, ale jak masz napisac PorzadnieiZgogniezRegulamiSztukiNazwanyWskaznik.DoPorzadnieNazwanejStruktury.iJejPolaWskaznikNastepny.PodpolePozycjaZ=PorzadnieiZgogniezRegulamiSztukiNazwanyWskaznik.DoPorzadnieNazwanejStruktury.iJejPolaWskaznikPoprzedni.PodpolePozycjaZ+1;

to blogoslawisz C. Choc w sumie WITH w Pascalu jakby bardziej uzyteczne.

Borland nie wymyslil INC i DEC ?

J.

Reply to
J.F.

To jest Twoja opinia i masz do niej prawo, ale uszanuj fakt ze dla wiekszosci uzywajacej C operatory wymienione przez Ciebie sa CZYTELNE i sa WYGODNIEJSZE w uzyciu niz ich slowne odpowiedniki. To jest WYLACZNIE kwestia nauczenia i przyzwyczajenia. W matematycze tez masz problem z + ? :-D.

Pozdrawiam

Marek

Reply to
Marek Borowski

W dniu 2014-02-01 00:01, snipped-for-privacy@gmail.com pisze:

Czyli wracając do c i Pascala to według twojej logiki lepszy jest Pascal, w którym oprócz PICów nie da się nic zaprogramować, od c, który jest dostępny na dowolny współczesny proce. Czyli jako wolny człowiek swoim wolnym wyborem wybierasz PIC bo tylko na nim jest Pascal :)

Tymczasem Basic jako język kompilowalny, jak i interpreter jest o wiele bardziej czytelny od krzoków &,&&,|| itd., itp...

Od kiedy ogarnąłem trochę c nie czuję potrzeby pisać w Basicu. A co do krzaczków to jednych może razić && a innych :=

Reply to
Mario

W dniu 2014-01-27 14:49, Marek pisze:

Miałem dawno temu na studiach kolegę po renomowanym liceum matematycznym. Na informatyce (Fortran) nie był w stanie zaakceptować zapisu A=A+1. Nie i koniec. A nie może się równać A+1. Tak się w tym zablokował, że nie pomagało moje tłumaczenie, że to jest operator i w innych językach jest stosowany znak := Jak na umysł ścisły zdumiewająca niezdolność przyjęcia i stosowania jakiejś konwencji.

Reply to
Mario

(Nie)stety PAscal jest już na etapie hobbiści-dla-hobbistów. Jak będziesz musiał zacząć zarabiać na projektach to wyjdą ograniczenia: praktyczny brak standardu, kompilatory pisane przez niewiadomokogo, brak przenośności, istniejące kompilatory na niewiele platform, opóźnienia we wprowadzaniu bibliotek do nowego sprzętu, jakość bibliotek i dość niewielka baza aktywnych użytkowników.

Zwróć uwagę że nic nie piszę o jakości samego języka, bo wbrew pozorom, nie ma ona aż tak dużego znaczenia. Pascal to już przeszłość a w świecie mikrokontrolerów rządzi jak na razie C/C++.

Reply to
Grzegorz Krukowski
[...]

Nie samymi mikrokontrolerami żyjemy.Zapewne, jak w końcu za nie się wezmę, to wyląduję w asemlerze - jako najbardziej skutecznym.

BTW: widzę jakiś mikroPascal na AVR... I nie tylko mikroPascal.

Mnie bardziej wkurzały średniki w Pascalu. I brak automagicznego ich uzupełniania przez edytor ;)

Reply to
RoMan Mandziejewicz

W dniu 2014-01-27 10:33, RoMan Mandziejewicz pisze:

Przeginam żeby właśnie pokazać co w tym złego. Podstawowym argumentem za Pascalem był walor edukacyjny czyli budowa języka taka, żeby wytworzyć poprawne nawyki. Stosowanie tego języka w późniejszym życiu zawodowym jest w sumie efektem lenistwa. To umiem wiec to będę stosował.

Opanowałem na tyle żeby pisać w nim prościutkie programy np na zajęciach, na których siłą bezwładu pokutowało stosowanie Pascala. Po prostu mi się ten język nie podoba i nie podoba mi się, że był wzorem przy tworzeniu VHDL czy w dziedzinie PLC języków SCL czy ST. Trzeba to używam je, ale euforii z tego powodu nie odczuwam.

No to popatrz kto ją zaczął. Nie ja :) Chciałem tylko uświadomić mu, że opiera się wyłącznie na swoich fobiach.

W pierwszej moje pracy mieli jakiś mikrokomputer zbudowany z modułów wsuwanych w obudowę rakową - chyba rozmiar 6U. Na tym był CPM i można było pisać w BASIC. Później był PC - Amstrad na 8086. Na tym też głównie pisałem w BASICu.

Pisalem też trochę

Jak się ma 1 osobową DG to trzeba być projektantem pcb, monterem i programistą. Prawdopodobnie nie jest się dobrym w niczym. Więc mogę sobie pisać w jedynie słusznym c :)

Piszesz o pecetach. Ja głównie pisuję na uC. Gdy odchodziłem od '51 uznałem, ze pora pożegnać się z asemblerem. Przyjąłem, ze c będzie szybsze i da mniejszy kod niż np microbasic.

Reply to
Mario

W dniu 2014-02-01 11:36, RoMan Mandziejewicz pisze:

Tu bym polemizował. Twierdzenie o wyższej skuteczności asemblera jest tak samo prawdziwe jak twierdzenie, że c daje szybszy i zajmujący mniej miejsca kod niż Pascal. Czyli niby prawda pod warunkiem, że programista zna się na rzeczy. Zapewne jeśli weźmiesz się za mikrokontrolery to za coś współczesnego jak np ARM Cortex M4. Są na tyle złożone, że pisanie w asemblerze będzie dla początkującego trudnym wyzwaniem. W dodatku musisz pisać wszystko sam, nie mając bibliotek i sterowników. Łatwiej moim zdaniem nauczyć się nowego języka (czyli właśnie c) i korzystać z pracy innych.

Pakujesz się w getto w którym jest mały wybór procków i mały dorobek społeczności. Jak już coś opanujesz okaże się, że te nieliczne procki przestają ci wystarczać a nowsze rodziny nie są obsługiwanie przez toolchain który wykorzystujesz. I nie będzie szans żeby to się zmieniło bo coraz mniej ludzi będzie zaangażowane w jego rozwój.

A mnie w c wkurzają i średniki i == w warunkach logicznych :) To znaczy wkurza mnie to, że często o nich nie pamiętam. Przynajmniej ; jest wykrywane przez kompilator a zastosowanie = zamiast == daje błędne działanie programu.

Reply to
Mario
[...]

Pascal i lenostwo? Język wymagający ścisłego porządku?

Ano właśnie...

To nie kwestia euforii. Po prostu nie każdy dobrze się czuje w językach stosujących sztuczki i triki służące zaciemnianiu kodu i pokazywaniu całemu światu, jakiż to ja mastah programowania jestem.

Ale to Ty masz pascalofobię. (ja też ale z innych powodów)

A ja na PC nie popełniłem w Basicu niczego poważnego.

Nie przesadzaj. Swego czasu jednoosobowo byłem projektantem systemu, programistą, wdrożeniowcem, obsługą klienta, pisałem instrukcję obsługi i - przy okazji - musiałem poznać dość mocno zasady księgowości

formatting link
jakoś dopiero po 18 (słownie: osiemnastu) latach dopiero konkurencja mnie wyparła. Po tylu latach już naprawdę nie miałem serca do walki :(

Ależ pisz. I pozwól pisać innym tak, jak oni lubią/potrafią.

Nie tyko. W Androidzie jest jeszcze gorzej.

Ale leniwy jesteś - pisanie w asemblerze dałoby jeszcze wydajniejszy i mniejszy kod :P

Reply to
RoMan Mandziejewicz

Jestem za stary, żeby być aż tak ambitnym. Wystarczy mi MSP430 i AVR... Mam naprawdę niewielkie potrzeby - jakieś proste automaty, zbieranie pomiarów itp.

Czyli nie dość, że leniwy, to jeszcze pasożyt :P

Ale ja polemizuję z tym, że tylko PIC...

[...]

Ale akurat „==” ma sens, skoro w C „=” jest stosowane głównie do przypisania.

W FoxPro „=” może być używane jako operator logiczny i działa inaczej niż „==” ale tylko w przypadku stringów. Na przykład:

? "AABB" = "AA" ? "AABB" == "AA"

W pierwszym przypadku odpowiedzią jest .T. a w drugim .F.

Reply to
RoMan Mandziejewicz

W dniu 2014-02-01 11:36, RoMan Mandziejewicz pisze:

A jakie ma być kryterium skuteczności? Bo ja jak zobaczyłem tempo w jakim programiści w ogóle niezaznajomieni z elektroniką wchodzą w mikrokontrolery stwierdziłem, że asembler to tylko jak jest naprawdę dobry powód. Ja w każdym razie go nie widzę. Mówienie o mocy obliczeniowej aktualnie jest mocnym przegięciem - w sytuacji gdy o cenie układu decyduje głównie obudowa i popularność, a nie moc obliczeniowa. Popatrz na ceny SAM3 albo SAM4, albo na rodzinę XMega, a to tylko od Atmela. Zanim wyrzeźbisz coś prostego w asemblerze na te "potworki", to ktoś inny już dawno będzie miał aplikację nie tylko napisaną, ale i przetestowaną na ileś sposobów i już będzie robił coś następnego.

Pozdrawiam

DD

Reply to
Dariusz Dorochowicz

W dniu 2014-02-01 12:50, RoMan Mandziejewicz pisze:

To nie kwestia ambicji. Uznałem ze Army są najbardziej popularne więc najłatwiej o uzyskanie pomocy. Silne jest wsparcie ze środowisk niezależnych od producentów więc łatwo o darmowe środowiska, tanie programatory/debugery.

Ale często ci inni pracują po to żeby ułatwić stosowanie procków więc także napędzić ich sprzedaż. Sterowniki CMSIS, czy przykładowe aplikacje są pisane przez ARMa, czy np przez NXP. Czyli biorę produkt dlatego, że jest oferowany razem z gotowymi przykładami i sterownikami ułatwiającymi obsługę peryferiów. Jest też sporo softu pisanego przez niezależnych programistów. Korzystając z ich pracy jestem faktycznie pasożytem, ale przecież świadomie przekazali swoją pracę do domeny publicznej. Gdybym potrafił napisać ładny, dobrze zaprojektowany kod to też bym coś udostępniał.

Ma sens jeśli przyjąć, że w warunkach logicznych jest tez możliwe wpisanie operacji podstawienia. Można by też było przyjąć, że jest tam możliwe tylko porównanie wiec albo kompilator zgłasza błąd albo po prostu = znaczy tam wyłącznie sprawdzenie warunku. Dla porównania w SCL (i pewnie w Pascalu) wpisanie := w warunku logicznym daje błąd kompilacji. Tak czy inaczej wkurza mnie, że zapominam o == i potem muszę szukać błędu.

Znowu jakieś muzeum :)

Reply to
Mario

Użytkownik "Mario" snipped-for-privacy@w.pl napisał w wiadomości news:lciqds$4l9$ snipped-for-privacy@mx1.internetia.pl...

Używam C++ Buildera 5.0 z roku 2000. Nie pamiętam jak wcześniejsze wersje ale w roku 2000 już wymyślili ostrzeżenie dla = użytego w if(). P.G.

Reply to
Piotr Gałka

W dniu 2014-02-01 12:40, RoMan Mandziejewicz pisze:

Niechęć uczenia się czegoś innego niż to co wyniesione ze szkoły.

Właśnie co? Nie mam zamiaru pisać dużych programów. C też na pc używam do pisania prościutkich programów, ale bardziej mi się podoba niż Pascal czy Basic. Swoją drogą dodatkowym argumentem była restrykcyjna polityka Borlanda, wykluczająca stosowanie ich środowisk do innych celów niż edukacyjne czy własny użytek prywatny. To już wolałem politykę Microsoftu, dzięki której mogłem bez specjalnych ograniczeń stosować VS Expres i pisać w VBasicu czy VC.

Mnie akurat drażni ścisłe typowanie w Pascalu i pochodnych jak SCL czy VHDL. Często zdejmuje się dane w postaci B, W czy DW i trzeba je później zamienić na coś innego jak int czy long. W c zazwyczaj nie ma z tym problemu a w razie potrzeby jest zwięzły operator rzutowania np b=(int_)a. W SCL czy w ST ciągłe stosowanie jakichś DWORD_TO_INT, DINT_TO_REAL. W VHDL jeszcze gorzej. Ścisłe typowanie a brak standardowych funkcji do konwersji typów. W każdym z posiadanych przeze mnie 3 podręczników są proponowane inne biblioteki do tych celów a w pakiecie Xilinxa żadna z nich nie jest dostępna albo nie działa (kod nie daje się kompilować).

No nie aż taką jak stchebel :) Nie wchodziłem na grupę z narzekaniem na pascala.

Trzeba by zdefiniować co to jest coś poważnego :) Ja pisałem trochę programików do analizy danych pomiarowych przy badaniach w laboratorium fizycznym.

Ja już jestem na swoim dłużej, Ale siedzę sobie w enklawach w których nie ma dużej konkurencji. Takie tam specyficzne urządzonka pomiarowe do przemysłu. Oprócz tego programowanie sterowników PLC, i to od Sasa do Lasa - Siemens, Schneider, Omron, Eaton. Co sobie klient zażyczy. W sumie to ciężko być w czymś dobrym jak człowiek jedno odkłada i bierze się za coś całkiem innego. Ale trudno grymasić jak jakoś trzeba zarabiać. Jak ktoś będzie gotów płacić mi za pisanie w Pascalu to czemu nie będę pisał :)

Ależ pozwalam, ale on chce głównie narzekać :)

A za to to już chyba nie będę się brał.

Pewnie tak, ale bym pewnie nie ogarnął wszystkich rejestrów w ARMie. Już pierwsze próby w asemblerze na AVR uświadomiły mi, że to jest znacznie bardziej złożone niż na 51. Z lenistwa szybko przeskoczyłem na AVR_GCC, a później gdy przechodziłem na ARMa odbyło się to dość bezboleśnie.

Reply to
Mario
[...]

Chyba Ty - xBase są młodsze od C. A do obsługi skomplikowanych zadań na relacyjnych bazach danych w środowisku sieci lokalnej niczego szybszego nie znadziesz. A jest też wersja na *nixy i możesz spokojnie pracować zdalnie również.

Ot, specjalizowany język wysokiego poziomu. Szkoda tylko, że po przejęciu przez MikregoMiękiego stał się zbyt Visual :(

Reply to
RoMan Mandziejewicz

W dniu 2014-02-01 15:47, RoMan Mandziejewicz pisze:

Pisałeś o FoxPro. "Komunikat Microsoft[2] z 13 marca 2007 informuje, że oprogramowanie Visual FoxPro nie będzie dalej rozwijane. Oznacza to, że wersja VFP 9, datowana 22 grudnia 2004, jest ostatnią komercyjną dystrybucją tego pakietu."

Reply to
Mario

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.