-
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
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
Najnowsze wątki
- 2024-12-02 Akumulatorki Ni-MH AA i AAA Green Cell
- 2024-12-02 Usiłowanie zabójstwa
- 2024-12-01 Rambo 2024. Co z radio-stopem
- 2024-12-01 Pijani kierowcy
- 2024-12-01 "Chciałem zamówić kurs tym"
- 2024-11-30 Windykatorzy ścigają spadkobierców z mandat nieboszczyka za przekroczenie prędkości???
- 2024-11-30 Łódź => Technical Artist <=
- 2024-11-30 Lublin => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-30 Warszawa => Microsoft Dynamics 365 Business Central Developer <=
- 2024-11-30 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-30 Zielona Góra => Senior PHP Symfony Developer <=
- 2024-11-30 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-30 Lublin => Spedytor międzynarodowy <=
- 2024-11-30 Warszawa => Mid IT Recruiter <=
- 2024-11-30 Warszawa => Fullstack Developer <=