-
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
- Alarm do lodówki
- Poczta Polska na Discord-zie
- Aku do UPS
- czy ludzie przestali słuchać muzyki?
- zabawa czatem :)
- Modernizacja instalacji elektrycznej w wielkiej płycie
- Co to za dziwne "białe namioty" co stawiają je w różnych dziwnych miejscach?!?
- RF-Harvester
- jest taki kryzys panie
- Francuska elektrownia atomowa zamknięta. Powodem "nieprzewidywalny" rój meduz
- Lutowanie linek szczotek węglowych w silniku odkurzacza
- Lutowalność połączeń
- mini 400 atari
- Manipulator Satel CA-10-KLED -- CLK, DATA, i... dupa
- Czy cos fi przechodzi przez trafo separujące?
Najnowsze wątki
- 2025-08-24 Co może grozić myśliwemu?
- 2025-08-24 Googlepay a Paypal w PL
- 2025-08-24 Czy hymn i flaga Rosji (Ukraina) będą podlegać takiej ochronie "sportowej" jak Izraelskie (Strefa Gazy)?
- 2025-08-23 Liczą się Fakty!
- 2025-08-23 Nadmuch klimatyzacji
- 2025-08-23 Alarm do lodówki
- 2025-08-23 Poczta Polska na Discord-zie
- 2025-08-23 Jezus Chrystus został królem powiatu
- 2025-08-23 Kolejny świr z nożem
- 2025-08-23 Warszawa => Java Full Stack Developer (Angular2+) <=
- 2025-08-23 zabawa w obligacje
- 2025-08-22 Cenzura na wolnemedia.net - likwidacja codziennej sekcji "Sygnały zauważone"
- 2025-08-22 Aku do UPS
- 2025-08-22 Przygoda hotelowa
- 2025-08-22 "Czy pan Frog ..."