-
Data: 2018-11-21 08:16:38
Temat: Re: Niezmienniki pętli
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> > Dlatego paradoksem naszej branży jest to, że najwięcej systemów
> > krytycznych pisze się w... C.
>
> Tak. To jest paradoks.
> Dodam tylko, że jeszcze wiekszym paradoksem jest to, iż nie wynika to
> _w najmniejszym stopniu_ z jakosci jezyka C jako języka programowania.
> Wprost przeciwnie.
Tak.
> Ten prymitywizm przeklada sie na bardzo duze ulatwienia w stworzeniu
> kompilatora, ktory "pojdzie" bez problemu rowniez na prymitywnym
> sprzecie (embedded itp).
Nie.
Tzn. łatwość w tworzeniu kompilatora była argumentem, który miał znaczenie dawno
temu, jak nie było kompilatorów i trzeba było je tworzyć. Wtedy fakt, że napisanie
kompilatora C było proste, ułatwił ekspansję C na każdą nową platformę.
Teraz ten argument nie ma znaczenia, bo kompilatory już są i nie trzeba ich pisać.
Nowe platformy sprzętowe nie powstają, wszystko się z grubsza zunifikowało a np. nowe
mikrokontrolery powstają w ramach istniejących już rodzin. A nawet jak się jakiś
producent wychyli z czymś istotnie nowym, to wystarczy dopisać backend do gcc, czyli
skorzystać z istniejącego już front-endu. Dlatego walory języka C w tym zakresie
przestały mieć znaczenie.
Dodatkowo, nie jest istotne, żeby kompilator "poszedł" na prymitywnym sprzęcie, bo
nikt poważny nie kompiluje na targecie. Kompiluje się na dowolnym biurkowym hoście a
na target wrzuca gotowy obraz - to pozwala użyć dowolnie skomplikowanego toolsetu
nawet w odniesieniu do mikrokontrolera z 512 bajtów RAMu. Właśnie dlatego typowe
dzisiejsze środowisko do programowania takich mikrokontrolerów jest oparte na
Eclipsie i zajmuje ileś GB na dysku i wymaga procesora i7, żeby się dało z niego
korzystać.
Prymitywizm języka C jest natomiast przydatny (również dzisiaj) do tego, że w takim
języku związek między kodem źródłowym a obiektowym (tzn. tym skompilowanym) jest
niemal 1:1 i każdy średnio rozgarnięty inżynier jest w stanie wskazać linię ciągłą, w
obie strony, pomiędzy tym co napisał a tym co uruchomił. To jest absolutnie kluczowe
w projektach krytycznych - tzn. jeśli tej jednoznaczności nie ma, to projekt nie ma
szans na sukces, przynajmniej nie przy dzisiejszych standardach procesowych.
Innym językiem, który pozwala na takie jednoznaczne przełożenie, jest Ada (tzn. jakiś
rygorystycznie dobrany podzbiór). Z C++ też się da, przy starannie wybranym
podzbiorze języka. Z tych trzech wygrywają... przyzwyczajenia.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 21.11.18 11:12 Queequeg
- 21.11.18 11:36 fir
- 21.11.18 15:54 AK
- 21.11.18 16:07 AK
- 21.11.18 20:32 g...@g...com
- 21.11.18 20:35 g...@g...com
- 21.11.18 22:10 Queequeg
- 21.11.18 22:28 Maciej Sobczak
- 21.11.18 22:48 Maciej Sobczak
- 21.11.18 23:04 g...@g...com
- 22.11.18 11:31 Maciej Sobczak
- 22.11.18 15:22 fir
- 22.11.18 16:08 AK
- 22.11.18 18:50 Sebastian Biały
- 22.11.18 18:53 Sebastian Biały
Najnowsze wątki z tej grupy
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
Najnowsze wątki
- 2025-03-18 Tesla na złom
- 2025-03-18 Ziobrotura 3.0 będzie w prawie przesłuchać "świadka" Tuska bez adwokata w sprawach Sienkiewicza/Bodnara/...?
- 2025-03-18 Produkty ,,Made in Germany" wciąż na topie - art. na www.dw.com
- 2025-03-18 ulaskawienia
- 2025-03-18 Gdynia => Sales Executive / KAM <=
- 2025-03-18 42 MILIARDY ZŁOTYCH ZYSKU W ROK. DLACZEGO BANKI TYLE ZARABIAJĄ W POLSCE?
- 2025-03-17 Nie matura lecz chęć szczera ...
- 2025-03-17 Pendrive zdycha, czy coś jeszcze innego? Problem z plikami.
- 2025-03-17 Odkurzacz Smapp Dynamic - dawny Zelmer
- 2025-03-17 Nagra IV i zewnętrzny pilot
- 2025-03-17 Rzeszów => Spedytor Międzynarodowy <=
- 2025-03-17 Warszawa => Junior Account Manager <=
- 2025-03-17 Białystok => Gen AI Engineer <=
- 2025-03-17 Białystok => Generative AI Engineer <=
- 2025-03-17 Częstochowa => Backend Developer (Node + Java) <=