A programozási nyelvek alapjai -Essentials of Programming Languages

A programozási nyelvek alapjai
EOPL 3. kiadás borító.jpg
Szerző Daniel P. Friedman , Mitchell Wand , Christopher T. Haynes
Tantárgy Programozási nyelvek
Műfaj Tankönyv
Kiadó MIT Press
Megjelenés dátuma
2008. április (3. kiadás)
Oldalak 416
ISBN 0-262-06279-8 (3. kiadás)
LC osztály QA76.7. F73, 2008

Az Essentials of Programming Languages ( EOPL ) egy programozási nyelvekről szóló tankönyv,amelyet Daniel P. Friedman , Mitchell Wand és Christopher T. Haynes készítettek .

Az EOPL operatív szempontból vizsgálja meg a programozási nyelvek alapelveit. Úgy kezdődik, egy tolmács a rendszer egy egyszerű funkcionális alapvető nyelvi hasonló a lambda-kalkulus , majd szisztematikus hozzáteszi konstrukciókat. Minden egyes kiegészítéshez, például változó hozzárendeléshez vagy szálszerű vezérléshez, a könyv bemutatja a programozási nyelv kifejező erejének növekedését és a közvetlen tolmács megfogalmazásához szükséges új konstrukciók iránti igényt. A könyv azt is demonstrálja, hogy a szisztematikus átalakítások, mondjuk a boltba adási stílus vagy a folytatás-átadás stílus , kiküszöbölhetnek bizonyos konstrukciókat abból a nyelvből, amelyben az értelmező megfogalmazódik.

A könyv második részét a tolmács (ok) szisztematikus fordításának szentelik regisztergépekké . Az átalakítások megmutatják, hogyan lehet megszüntetni a magasabb rendű bezárásokat; folytatási tárgyak; rekurzív függvényhívások; és több. A végén az olvasónak marad egy "tolmács", amely nem használ mást, mint farok-rekurzív függvényhívásokat, hozzárendelési utasításokat és feltételeket. Triviálissá válik, ha ezt a kódot lefordítják egy C vagy akár egy összeállító programba. Bónuszként a könyv bemutatja, hogyan lehet előre kiszámolni bizonyos "jelentés" darabokat, és hogyan lehet előállítani ezeknek az előszámításoknak a reprezentációját. Mivel ez az összeállítás lényege, a könyv az összeállítás és a nyelvfordítás elveiről szóló tanfolyamra is felkészíti az olvasót, amely egy kapcsolódó, de különálló téma. A fő fogalmakat megmagyarázó szöveg mellett a könyv egy sor gyakorlatot is tartalmaz, amelyek lehetővé teszik az olvasók számára alternatív tervek és egyéb kérdések felfedezését.

A SICP-hez hasonlóan az EOPL is jelentős eltérést jelent az 1980-as években uralkodó tankönyv-megközelítéstől. Abban az időben egy programozási nyelvek elveiről szóló könyv négy-hat (vagy akár több) programozási nyelvet mutatott be, és magas szinten megvitatta programozási idiómáikat és azok megvalósítását. A legsikeresebb könyvek általában az ALGOL 60-at (és az úgynevezett programozási nyelvek Algol-családját), az SNOBOL-t , a Lisp -t és a Prolog-ot ismertették . A programozási nyelvekről szóló tankönyvek jó része még ma is csak ilyen felmérés, bár terjedelme szűkült.

Az EOPL-t 1983-ban kezdték meg, amikor Indiana volt a programozási nyelvek kutatásának egyik vezető tanszéke. Eugene Kohlbecker, Friedman egyik doktorandusz hallgatója átírta és összegyűjtötte "311 előadását". Más oktatók, köztük Mitch Wand és Christopher Haynes, elkezdtek közreműködni, és "A stoppos útmutató a meta-univerzumhoz" - ahogy Kohlbecker nevezte - a szisztematikus, tolmács és átalakuláson alapuló felmérésbe fordította, amely most van. A könyv a fennállásának 25 éve alatt szinte klasszikussá vált; immár harmadik kiadása, további témákat is tartalmaz, például típusokat és modulokat . Első része most a HtDP programozással kapcsolatos ötleteket tartalmazza , egy másik nem mindennapi tankönyvből, amely a Scheme segítségével tanítja meg a programtervezés alapelveit. A szerzők, valamint Matthew Flatt nemrégiben biztosították a DrRacket plug-injeit és a nyelvi szinteket az EOPL-nel való tanításhoz.

Az EOPL legalább két további kapcsolódó szöveget szült: Queinnec kis darabokban készült Lisp- jét és Krishnamurthi programozási nyelvei: alkalmazás és értelmezés .

Lásd még

Hivatkozások