E blog címében a lambda a lambda kalkulusra utal. Ebből persze számtalan további kérdés fakad, például, hogy az meg miaz.
Ez egy formális rendszer, amely függvényekkel foglalkozik. Biztos sokmindenre jó, de én most a funkcionális programozással, illetve ennek is egy igen régi változatával, a Lisp nyelvvel fogok foglalkozni. E nyelv keletkezése 1956-ra datálódik és John McCarthy nevéhez fűződik, aki mesterséges intelligencia tárgyat tanult, ahol először valósította meg a lambda kalkulus rendszerét számítógépen. Valójában 1958-ban készítette el az első változatot. Miért érdekes ez a nyelv? Mert még mindig létezik, használják, sőt fejlődik. Ebben pedig lehet valami.
Maga a nyelv rendkívül egyszerű. A neve, Lisp jelentése List Processing, azaz listakezelő. Ebből fakadóan listákat kezel, magyarán ez az alap adatstruktúrája. Minden lista benne, a függvények is, ami az egyik alapegysége. Mindehhez még sok zárójel társul, ami a listák elejét és végét jelzi, és elég csúnyán néz ki ahhoz, hogy a kezdőket elrettentse. Egy példa: (defun factorial (n)
Aki foglalkozott már más nyelvekkel, esztétikailag lehet hogy csalódott ennek láttán.
(if (<= n 1)
1
(* n (factorial (- n 1)))))
Így persze ismét felmerül a kérdés: miért foglalkozom vele?
Leginkább azért, mert
- túl sokan mondják, hogy fejlesztési idő szempontjából az egyik leghatékonyabb nyelv
- több igen sikeres magyar és nemzetközi projekt alapja volt
- nagyon ígéretes web-fejlesző keretrendszerek vannak hozzá (bocs, elsősorban ez a téma foglalkoztat)
- csaknem minden mai, divatos technológiát támogat
- nem népszerű, aránylag kevesen használják
Kinek szól ez a blog?
Ezen az oldalon igyekszem leírni azokat a dolgokat, amiket a nyelvvel és környezettel kapcsolatban felfedezek. Alapvetően hozzám hasonlóan kalandvágyó, kísérletező embereknek szól, illetve azoknak, akik belefáradtak a modern nyelvek bőbeszédűségébe, a tervezési mintázatok (design patterns) alkalmazásába, és valami másra, jobbra vágynak.
Honnan veszem a bátorságot, hogy erről írjak?
Onnan, hogy én is kezdő vagyok. Amúgy is dokumentálom, amit felfedezek, akkor meg más miért ne venné hasznát egy csetlő-botló leírásnak? A véleményeitekből remélem megtudhatom majd, hogy érdeklődőkre találtam-e vagy csak magamnak írok.