-
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
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
- jak szybko plynie prad
- Płytki Milkv-Duo
- Światłowód między budynkami
- POtrzebny bufor 3.3<>5V, jedonkieruowy, trójstanowy, wąski
- retro
- Bezprzewodowe polączenie Windows z projektorem
- rozklejanie obudowy
- Prośba o identyfikację komponentu
- Smart gniazdko straciło na zasięgu wifi?
- Smart gniazdko straciło zasięg wifi?
- nurtuje mnie
- dziwna sprawa...
Najnowsze wątki
- 2024-11-11 Wyważanie kół rowerowych
- 2024-11-11 Kosz, gdzie??
- 2024-11-11 Coraz mniej ludzi robi prawo jazdy
- 2024-11-11 Opole => SAP HANA Cloud Dev / Data Engineer <=
- 2024-11-11 Warszawa => Spedytor Międzynarodowy <=
- 2024-11-11 Lublin => Senior PHP Developer <=
- 2024-11-11 Marki => Senior PHP Symfony Developer <=
- 2024-11-11 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-11 Gliwice => Specjalista ds. public relations <=
- 2024-11-11 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-11 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-11-11 Warszawa => Sales Development Representative (in German) <=
- 2024-11-11 Marsz niepodległości
- 2024-11-08 Belka
- 2024-11-09 pierdolec na punkcie psa