RE: Zemřel Niklaus Wirth

Aleš Procháska ales.prochaska na divesoft.com
Pátek Leden 5 22:07:16 CET 2024


Turbo Pascal a Turbo C měly v prvních verzích stejný generátor kódu a stejně postavený lexikální i syntaktický analyzátor. Ono se C od Pascalu zase tak moc neliší, tam hrozně zdržovalo to linkování (které vyplývá mj. z možnosti funkci napřed volat a pak ji teprve napsat). Pak to oddělili, do C přidali další paměťové modely, do Pascalu zase overlaye, ale pořád byl ten rozdíl rychlosti velký. Ty optimalizace moc nenadělaly (navíc se daly vypnout), problém byly diskové operace při linkování. Teď už je to fuk, ale na PC-XT to bylo znát :-) 

Aleš Procháska

-----Original Message-----
From: Hw-list <hw-list-bounces na list.hw.cz> On Behalf Of Ladislav Vaiz
Sent: Friday, 5 January, 2024 21:31
To: hw-list na list.hw.cz
Subject: Re: Zemřel Niklaus Wirth

On 05.01.2024 18:17, Aleš Procháska wrote:
> Ty středníky jsou potřebné aby Pascal byl LL1 jazyk. Wirth navrhoval 
> Pascal tak, aby byl překladač co nejjednodušší (což se mu hodilo, 
> protože přednášel konstrukci překladačů) a to se mu myslím velmi 
> povedlo. Například jeden z důsledků jeho syntaxe je, že Pascal ve své 
> čisté formě nepotřebuje linker (stačí mu vyhodnocení relokací), třeba 
> céčko se bez plnohodnotného linkeru neobejde. Pamětníci si vzpomenou, 
> že programátor v Borland Pascalu měl už dávno přeloženo, zatímco 
> Borland C zuřivě linkoval a vyžadoval další a další výměnu disket :D


Turbo Pascal snad nedělal optimalizace, proto mohl být rychlý. Typicky něco vypočetl v registru AX. Další instrukce uložila registr do paměťové proměnné.

Následující příkaz pracoval se stejnou proměnnou. No tak si ji do AX načetl aniž by tušil, že už tam je.

L.

_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list