[OT]C CO tim chtel basnik rici?

Ales Prochaska, Divesoft prochaska na divesoft.cz
Čtvrtek Leden 1 16:47:06 CET 2015


> Muj naivni predpoklad je, ze zdrojovy kod je jen humanoidni sdeleni
> prekladaci co to ma delat ve finale. Tedy vysledny HEX by na stejne 
> platforme MCU mel byt v podstate identicky bez ohledu na to jaky byl 
> puvodni zdrojak. Vzdyt to je jen otazka kompileru a jeho kvality - 
> otazka syntaxe a definice konkretniho jazyka je otazka toho jake mam 
> moznosti sdelovat, vysledny hex je uz jen otazka jak kvalitne byl jazyk
> implentovan na danou platformu.

> Proc by tedy C melo mit nejake vyhody? Priznam se ze nemam srovnani neb
> pouzivam jen PICy a jen Pascal - nevim tedy o co konkretne jsem ochuzen..

> RV

Osobně jsem se touto otázkou kdysi intenzivně zabýval a zjistil jsem,
že je to dokonce naopak, že vyšší jazyk se silnější typovou kontrolou
obecně generuje lepší kód. Háček je v tom, že čím vyšší jazyk,
tím lepší informace má překladač o tom, jaká data se v něm budou
doopravdy používat a jaké operace se nad nimi budou dělat. Například
když překladači sdělím, že 
  type muj_typ is new integer range 0..10;
tak díky této definici a díky typové kontrole bude překladač
spolehlivě vědět, že v proměnné tohoto typu a v příslušných výrazech
nebude nikdy nic, co by vyžadovalo ošetření pro záporná čísla a
přetečení při násobení a podobně. To je pro účinnou optimalizaci a
efektivní kód docela dobrá výchozí pozice :-)

Aleš Procháska




Další informace o konferenci Hw-list