-
Data: 2012-01-09 16:46:51
Temat: Re: Mikropascal na AVR'y - co o tym sądzicie ??
Od: Waldemar Krzok <w...@z...fu-berlin.de> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Am 09.01.2012 16:01, schrieb JDX:
> On 2012-01-08 23:24, Sebastian Biały wrote:
> [.....]
>> *Nikt* poza szumem nie pisze w Pascalu nowych projektów. Delphi się
>> jeszcze kreci bo są miliony lini kodu które trzeba utrzymać. Jednak
>> środowisko programistów wymiera lub po cichu uczy się C#/Java doskonale
>> sobie zdając sprawę że to trup. Pascal@uC to prędzej efekt 5 wieczorów
>> nudzenia się. Ktoś chetny na projekt bez celu?
> Ale to nie znaczy, że C tudzież C++ jest takie świetne a Pascal jest do
> bani. Jeśli mówimy o programowaniu uC to w C da się "szybo pi..ąć
> szybkiego pacza" i to jest IMO główny powód dla którego C jest popularne
> wśród ludzi piszących soft na uC. :-) Co z kolei w połączeniu z brakiem
> doświadczenia i bliską zeru wśród elektroników wiedzą na temat
> prowadzenia projektów software-owych prowadzi do powstawania
> programistycznych koszmarów. C daje dużą swobodę i dlatego IMO nie jest
> to dobry język dla początkujących ponieważ trzeba wiedzieć co się robi.
> Z drugiej strony działającej i powszechnie dostępnej alternatywy
> wymuszającej dobre praktyki (np. Ada) na popularne uC za bardzo nie ma...
>
> Poza tym AFAIR to informatycy (ci zajmujący się dydaktyką) twierdzą, że
> Pascal *nadal* jest niezłym językiem do dydaktyki.
Pascal JEST językiem do dydaktyki. Ma jednak lekką niechęć do
programowania blisko hardware. Konkretnie w Pascalu tak jak bóg (znaczy
Wirth) go stworzył nie ma możliwości adresowania komórek pamięci (ok, da
się poprzez przypisanie stałej do wskaźnika, ale ładnie to nie wygląda),
a do przerwań czy, o zgrozo, multithreadingu wogóle nie ma ładnej
możliwości. Delphi jest pewnym krokiem od dydaktyki do produkcji, ale
ten koń też już zaczyna śmierdzieć.
Co do mikroprocesorów, to C jest kompromisem między assemblerem, a
"porządnym" językiem. Im mniejszy mikrokontroller, tym bardziej mamy
tylko te 2 języki jako alternatywy. A ładnie programować można w
dowolnym języku i na odwrót. Jak mamy większe kostki, to już zaczyna być
wygodniej, aż do składania programów z graficznych "kostek", jak to mają
co poniektóre PLC. Albo LEGO MasterMind (R). Tam sobie układasz klocki
LEGO na ekranie i toto nawet działa ;-).
Osobiście znam trochę tych języków programowania. Programy popełniłem
chyba w 30 językach, większość jednak to dydaktyka na uczelni (też jako
nauczyciel). Poczynając od Fortranu, przez wsie Algole, Prolog, LISP (od
tego miałem rekurencyjne sny ;-)), a nawet jakiś śmieszny programik w
Cobolu na zaliczenie. W tej chwili używam C lub C++ na PCcie, C lub
Assembler na mikroprocesory. No i ostatnio jakiś Arduino ze swoim
"prawie-C", albo procesor graficzny z 3GC, czy jak temu dialektowi. Jak
się umie programować, to język właściwie obojętny. Ale to chyba tak, jak
z językami obcymi: tych 0x10 pierwszych sprawia problemy, następne
wchodzą jak przez masło ;-).
Warto wiedzieć, że im bardziej abstrakcyjny (i wymuszający dobre
praktyki) język, tym trudniej jest optymalizować kod. Pisząc program
zajmujący mało pamięci i szybki musi się myśleć kategoriami procesora.
Trzeba wiedzieć gdzie są tworzone zmienne, unikać konwersji między
różnymi strukturami danych, conieco pozostawić w rejestrze. Przy
przerwaniach ratować tylko te rejestry, na których operujemy i podobne
cuda. Już w C coponiektórzy wywalili się na prostym printf. Program miał
powiedzmy 1k, dodano jedną linijkę z printf i już ma 20k, albo i więcej.
Bo się całą bibliotekę zmiennoprzecinową dolinkowało, choć tego nie trzeba.
Waldek
--
My jsme Borgové. Sklopte štíty a vzdejte se. Odpor je marný.
Następne wpisy z tego wątku
- 09.01.12 16:49 JDX
- 09.01.12 19:48 badworm
- 09.01.12 20:28 Sebastian Biały
- 09.01.12 20:34 Sebastian Biały
- 09.01.12 20:36 Sebastian Biały
- 09.01.12 20:43 Sylwester Łazar
- 09.01.12 20:44 Waldemar Krzok
- 09.01.12 20:45 Waldemar Krzok
- 09.01.12 20:49 Sebastian Biały
- 09.01.12 20:50 Jerry1111
- 09.01.12 20:50 J.F.
- 09.01.12 20:52 J.F.
- 09.01.12 20:53 Sebastian Biały
- 09.01.12 20:57 Grzegorz Krukowski
- 09.01.12 20:59 Grzegorz Krukowski
Najnowsze wątki z tej grupy
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
- 74F vs 74HCT
- Newag ciąg dalszy
- Digikey, SN74CBT3253CD, FST3253, ktoś ma?
- Szukam: czujnik ruchu z możliwością zaączenia na stałe
- kabelek - kynar ?
- Podnieść masę o 0.6V
- Moduł BT BLE 5.0
- Pomiar amplitudy w zegarku mechanicznym
- ale zawziętość i cierpliwość
- Chiński elektrolizer tester wody
Najnowsze wątki
- 2025-01-06 Jeździ, skręca, hamuje
- 2025-01-06 Białystok => System Architect (Java background) <=
- 2025-01-06 Gliwice => Specjalista ds. public relations <=
- 2025-01-06 Białystok => Solution Architect (Java background) <=
- 2025-01-06 Zielona GĂłra => Konsultant WdroĹźeniowy Comarch XL/Optima (KsiÄgowoĹ
- 2025-01-06 Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 2025-01-06 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-06 Do IO i innych elektrooszolomow, tu macie prawdziwe smrody
- 2025-01-06 Białystok => Full Stack .Net Engineer <=
- 2025-01-06 Kraków => Business Development Manager - Network and Network Security
- 2025-01-06 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-06 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg