( Chain-Q | 2018. 12. 19., sze – 00:18 )

A Turbo Pascalt miben írták? C, assembly

C? Nem hát. A Turbo Pascal fordítót magát assemblyben írták, először amúgy Z80 processzorra és CP/M operációs rendszerre. A 3.0-s verzió nekem megvan lemezen és futtattam a Commodore 128-amon. Később portolták x86-ra és DOS-ra, de továbbra is assemblyben maradt. A keretrendszer maga pedig Pascalban van, ill. Pascal és assembly keverékében, csakúgy mint a hozzácsapott runtime library. A Free Pascalt teljesen Pascalban fejlesztik, a.k.a. önmagában (az első verzió pedig TP-ben készült), akár csak a hozzá való Lazarus IDE-t is. A Delphit is önmagában írták jó sokáig, a mostani verziókat nem tudom.

A DOS-Windows-t, miben kezdték írni? C

Na ez is rohadtnagy mellé, mivel a DOS maga teljesen assemblyben volt, a Windows kernel alapjait is abban írták, a nyolcvanas évek végéig pedig a Microsoftnak saját Pascal fordítója is volt, amit vicces módon pont a későbbi Turbo Pascal verziók elsöprő sikere nyírt ki (pedig a Microsoft QuickPascal néven még egy TP-kompatibilis verziót is kiadott!). Windowsok (és pl. az OS/2) korai ABI calling conventionjét konkrétan "pascal" calling conventionek hívják, és Borland származék. Persze a későbbi fejlesztések C-ben jöttek a tetejére, és megszületett az stdcall calling convention.

A C# fejlesztőrendszert miben írták? C

A natív részeket (Common Language Runtime) amúgy szerintem inkább C++-ban, de a fene se tudja. A C# Lead Architektjét amúgy úgy hívják hogy Anders Hejlsberg. A dán úr a Typescript mellett többek között a "Turbo Pascal" és a "Delphi" megalkotójaként is ismert. Amúgy a Java, és a Java-ripoffnak induló C# is a szintaxison kívül rengeteg mindent kölcsönzött a Pascaltól. Többek között a bytecode-ra fordítunk koncepciót is (lásd p-code és UCSD Pascal, ami a koncepció első komolyan vehető implementációja volt), de ezen kívül is, a C-szerű kapcsos zárójel-szintaxis mögött sokkal kevésbé C-szerűen működnek ezek a nyelvek mint azt a legtöbben gondolják.

Szóval ennyit erről.

Mellékesen megjegyzem, a Pascal mint nyelv időrendben megelőzte a C-t. Csak mielőtt kitalálod, hogy az egész Pascal dolog amúgy is egy C ripoff, mert ugye az ismert világ úgy kezdődött, hogy megalkották a C nyelvet, nyilván, a semmiből. Ezért miután Niklaus Wirth megalkotta a Pascal nyelvet, a kritikusok egyből leszólták, hogy a furcsa ALGOL-szerű x := y + z; szintaxist használta, az ismert és megszokott C-szerű x = y + z; helyett, és ebben az a tény sem zavarta őket, hogy a C nyelv mint olyan még meg sem született. (Forrás)

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-