Základy programovacích jazyků - Essentials of Programming Languages
![]() | |
Autor | Daniel P. Friedman, Mitchell Wand, Christopher T. Haynes |
---|---|
Předmět | Programovací jazyky |
Žánr | Učebnice |
Vydavatel | MIT Stiskněte |
Datum publikace | Duben 2008 (3. vyd.) |
Stránky | 416 |
ISBN | 0-262-06279-8 (3. vyd.) |
LC třída | QA76.7 .F73 2008 |
Základy programovacích jazyků (EOPL) je učebnice o programovací jazyky podle Daniel P. Friedman, Mitchell Wand, a Christopher T. Haynes.
EOPL zjišťuje principy programovacích jazyků z provozního hlediska. Začíná to na tlumočník v Systém pro jednoduchý funkční základní jazyk podobný lambda kalkul a pak systematicky přidává konstrukty. Pro každé přidání, například přiřazení proměnné nebo vláknové ovládání, kniha ilustruje zvýšení expresivní síly programovacího jazyka a poptávku po nových konstrukcích pro formulaci přímého tlumočníka. Kniha také ukazuje, že systematické transformace, řekněme, styl předávání obchodů nebo styl předávání pokračování, může vyloučit určité konstrukce z jazyka, ve kterém je tlumočník formulován.
Druhá část knihy je věnována systematickému překladu tlumočníka (tlumočníků) do jazyka registrovat stroje. Transformace ukazují, jak eliminovat uzávěry vyššího řádu; pokračovací objekty; rekurzivní volání funkcí; a více. Na konci je čtenáři ponechán „tlumočník“, který nepoužívá nic jiného než volání rekurzivní funkce ocasu a příkazy přiřazení plus podmíněné výrazy. Přeložit tento kód do programu C nebo dokonce do montážního programu se stává triviálním. Kniha jako bonus ukazuje, jak předem vypočítat určité části „smyslu“ a jak generovat reprezentaci těchto předběžných výpočtů. Jelikož se jedná o podstatu kompilace, kniha také připravuje čtenáře na kurz o principech kompilace a překladu jazyka, souvisejícím, ale odlišném tématu. Kromě textu vysvětlujícího klíčové pojmy obsahuje kniha také řadu cvičení, která čtenářům umožňují prozkoumat alternativní návrhy a další problémy.[1]
Jako SICP „EOPL představuje významný odklon od převládajícího přístupu k učebnicím v 80. letech. V té době kniha o principech programovacích jazyků představila čtyři až šest (nebo i více) programovacích jazyků a diskutovala jejich programovací idiomy a jejich implementaci na vysoké úrovni. Nejúspěšnější knihy obvykle zahrnuty ALGOL 60 (a takzvaná rodina programovacích jazyků Algol), SNOBOL, Lisp, a Prolog. Dokonce i dnes je spravedlivý počet učebnic o programovacích jazycích právě takovými průzkumy, i když se jejich rozsah zúžil.
EOPL byl zahájen v roce 1983, kdy Indiana byla jedním z předních oddělení výzkumu programovacích jazyků. Eugene Kohlbecker, jeden z Friedmanových doktorandů, přepsal a shromáždil svých „311 přednášek“. Ostatní členové fakulty, včetně Mitch Wand a Christopher Haynes, začali přispívat a proměnili „Stopařův průvodce meta-vesmírem“ - jak jej nazval Kohlbecker - do systematického průzkumu založeného na tlumočení a transformaci, který je nyní. Za 25 let své existence se kniha stala téměř klasickou; nyní je ve třetím vydání, včetně dalších témat, jako je typy a moduly. Jeho první část nyní obsahuje nápady na programování z HtDP, další netradiční učebnice, která využívá Scheme k výuce principů návrhu programu. Autoři, stejně jako Matthew Flatt, nedávno poskytli DrRacket zásuvné moduly a jazykové úrovně pro výuku s EOPL.
EOPL vytvořil nejméně dva další související texty: Queinnec's[2] Lisp v malých kouscích[3] a Krishnamurthi Programovací jazyky: Aplikace a tlumočení.
Viz také
Reference
- ^ Stiskněte, MIT. „Mitchell Wand“. MIT Press. Citováno 2019-08-05.
- ^ „Domovská stránka Christian Queinnec“. pages.lip6.fr. Citováno 2020-05-20.
- ^ „Kniha a kód L.i.S.P od C. Queinnec“. pages.lip6.fr. Citováno 2020-05-20.