Studenti získají solidní základ pro programování v Common Lispu. Současně se dozvědí o netypických rysech jazyka, čímž si rozšíří povědomí o možných přístupech k programování. V předmětu budou popsány různé, i neobvyklé, techniky a metody, které je možno při programování použít, s cílem zlepšit předpoklady studentů pro případnou budoucí programátorskou praxi. Předmět je určen studentům s vážným zájmem o programovací jazyky obecně a Common Lisp konkrétně. Zvláště vhodný je pro ty, kteří chtějí tento jazyk použít v bakalářské práci. Předpokládá se základní znalost programování v Common Lispu. Předmět není určen začátečníkům. - Základní rysy CL: Programovatelnost, pragmatičnost, využití mnoha paradigmat. CL jako dynamický a dynamicky typovaný jazyk. Kód jako data. Princip synergie. - Základy CL: Funkce, makra, speciální operátory, funkce eval, prostředí, viditelnost a životnost. Datové typy a operace. Zobecněné proměnné, operátor setf a jeho programování. - Pokročilé neobjektové prvky CL: Programování vstupu, výstupu, kompilátoru, serializace dat. Práce s výjimkami, vyvolání a obsluha výjimek, restarty. Optimalizace kódu. - Pokročilé prvky objektového systému: vícenásobná dědičnost, multimetody, kombinace metod, metaobjektový protokol. - Metody vývoje SW: Tvorba a údržba programů v dynamických a dynamicky typovaných jazycích, programování zdola nahoru, využití agilních metod, využití programovatelnosti jazyka přizpůsobením jazyka problémové doméně (embedded languages). - Historie a současnost Lispu: Vznik Lispu a jeho vývoj, vztah k ostatním programovacím jazykům, přehled dostupných implementací, vývojových prostředí a knihoven, problémy a nedostatky.
|
-
Barski. (2010). Land of Lisp: Learn to Program in Lisp, One Game at a Time! No Starch Press.
-
Graham, P. (1995). ANSI Common LISP. Prentice Hall.
-
H. Abelson, G. J. Sussman. (1996). Structure and Implemantation of Computer Programs. Cambridge, Massachusetts.
-
Seibel P. (2005). Practical Common Lisp. Apress, Berkeley, CA.
-
Touretzky D.S. (2013). Common LISP: A Gentle Introduction to Symbolic Computation. Dover Publications.
-
Weitz, E. (2015). Common Lisp Recipes: A Problem-Solution Approach. Apress.
|