-
Data: 2014-01-28 01:36:28
Temat: Re: Programowanie uC - Pascal, czy C ?
Od: A.L. <a...@a...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Mon, 27 Jan 2014 13:44:15 -0800 (PST), h...@m...uni.wroc.pl
wrote:
>Dziś kompilatory optymalizujące dla C są łatwo dostępne, więc można
>nie doceniać możliwici użycia prostego kompilatora. Ale w pierwszych
>latach C kompilatory dla mini i mikrokomuterów były badziewiate.
Nie byly badziewne. Pierwsze kompilatory C byly doskonale, na dlugo
zanim pojawily sie pecety. W C byl i jest pisany UNIX. Gdy Pecety sie
pojawily, kompilatory C bazowaly na technice kompilacji kompilatorow
Unixowych i byly naprawde doskonale. Zas kompilatory Pascala bazowaly
na p-kodzie i maszynie wirtualnej
Jak idzie o optymalizacje, to optymalizacja nei jest specjalnie
krytyczna
>
> Kompilator Pascala wie kiedy ma do czynienia
>z tablią i zwykle (z wyjątkiem niekiedy dodawanyc konstrukcji
>w stylu C) zna rozmiar tablicy więc może automatycznie wstawić
>instrukcje sprawdzające czy indeks mieści się w granicach.
No i wlasnei dlatego program w Pascalu jest wolniejszy niz w C
>W sumie: jak masz dobry kompilator Pascala to może on
>mieć zalety w porównaniu z C. Ale jest spora szansa
>że C wygra ze względu na większą dostępność narzędzi
>i bibliotek.
Nei nalezy porownywac pomarancz z jablkami. Pascal to silnie typowany
jezyk wysokiego poziomu, C to "strukturalizowany asembler" dla
zastosowan gdzie neisbedny jest bliski kontakt z "metalem"
NA dodatek, Pascal ma pewne cechy ktore powoduja ze musi wykonywac sie
wolniej niz C. Oprocz indeksow tablic (patzr wyzej) sa "zanurzone
procedury" (nested procedures) ktore wymahaja aby dostep do pewnych
elementow byl okreslany w czasie wykonania programu.
Dodatkowe problemy sa historyczne. Pascal zrobil sie populatny gdy
pojawil sie kompilator Ammana bazuajcy na p-kodzie, ktory umozliwial
latwe przenoszenie na inne maszyny. Kopmilatory Pascala albo
poprzestawaly na p-kodzie i jego interpretacji, albo kompilowaly p-kod
do kodu maszyny. Niektore (kompilator dla ICL1900, czylo Odry 1305)
generowaly nierelokowalny kod maszynowy zamiast generacji p-kodu.
Oczywiscie, to wszystko plus prostota rekursywnych parserow LL(1)
powodowala ze generowany kod nei byl piorunujacej jakosci.
Optymalizacja zas nei zawsze jest pozadana. Wiadomo ze a + (b+c) nei
rowna sie czasami (a+b)+c, a optymalizujacy kompilator usunie nawiasy
jako pierwsza czynnosc. No, chyba ze to jest kompilator Fortranu...
A.L.
P.S> A przyczyna zwiezlosci C jest prosta: gdy uzywa sie {} zamiast
begion/end, krazek tasmy papierowej jest znacznie mniejszy...
Następne wpisy z tego wątku
- 28.01.14 01:38 A.L.
- 28.01.14 01:45 A.L.
- 28.01.14 08:42 Zbych
- 28.01.14 08:54 Zbych
- 28.01.14 10:22 Piotr Gałka
- 28.01.14 10:38 Piotr Gałka
- 28.01.14 10:40 JDX
- 28.01.14 18:01 J.F
- 28.01.14 18:10 J.F
- 29.01.14 02:22 A.L.
- 29.01.14 09:42 Marek
- 29.01.14 17:50 Sebastian Biały
- 29.01.14 18:39 h...@m...uni.wroc.pl
- 29.01.14 21:14 h...@m...uni.wroc.pl
- 29.01.14 21:40 Luke
Najnowsze wątki z tej grupy
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
Najnowsze wątki
- 2025-07-03 Trybik
- 2025-07-04 Renault Symbioz
- 2025-07-04 Architektura IIIRP: Wyjątkowa, a prymitywniejsza niż stodoła pod zaborami
- 2025-07-04 Warszawa => International Freight Forwarder <=
- 2025-07-04 Wrocław => SAP ABAP Developer <=
- 2025-07-04 Warszawa => Mid/Senior IT Recruiter <=
- 2025-07-04 Białystok => Kotlin Developer <=
- 2025-07-04 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-07-04 Warszawa => Specjalista wsparcia IT - analiza techniczna sprzętu IT <
- 2025-07-04 Zakrzewo => Konsultant SAP HCM <=
- 2025-07-04 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-04 Szczecin => Key Account Manager IT <=
- 2025-07-04 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-04 Warszawa => Technique IT - Hardware Configuration and Support <=
- 2025-07-04 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=