2012. november 19.

Scheme - királyi út a funkcionális programozás felé

Szerencsére egyre többen érdeklődnek a funkcionális nyelvek iránt. Sokkal sajnálatosabb hogy sokan eltántorodnak a kezdeti lelkesedés után. Sok nyelvész és logikus számára életük első programozási nyelve a Haskell manapság, nekik nem okoz gondot a régi szokások levetkőzése, ellenben a komolyabb feladatok (vagy az egész egyszerű I/O) estén sokan elakadnak. Szoftverfejlesztők általában az Erlang vagy a Clojure mellett teszik le a garast, de gyakran szembesülnek azzal hogy ezen közösségekben divat régi Lisp és Prolog könyveket ajánlgatni. Sokkal egyszerűbb ha nem rögtön a divatos nyelvekkel ismerkedünk meg, hanem a Scheme nyelvvel töltünk el egy kis időt. A nyelvek változnak, a mögöttes elvek azonban nem, érdemesebb először ezeket megtanulni.

1. Az alapok
  • Simply Scheme: Introducing Computer Science - A legjobb könyv amivel elkezdheti valaki a programozás és/vagy a funkcionális programozás tanulását. Remekül szemlélteti az alapfogalmakat és sok-sok érdekes feladattal foglalkoztatja az olvasót. Nem csak a programozás terén kezdőknek ajánlom, hanem mindenkinek aki nem rendelkezik több éves tapasztalattal.
  • The Little Schemer -Zseniális könyv, amely példákon keresztül mutatja be a funkcionális programozás főbb technikáit. Továbbá megtudhatja belőle az olvasó hogy az Y-combinator nem csak egy startup program :D Nagyon kezdőbarát, érdemes többször elolvasni! Figyelem, a szerzők már az előszóban leszögezik, hogy attól senki sem válik programozóvá hogy elolvassa a könyvet!
  • The Seasoned Schemer -A fenti könyv folytatása, szépen tovább építi az alapokat.
  • How to Design Programs - ingyenesen elérhető könyv, mely nagyon gyakorlat orientált. Célja a programfejlesztés logikájának bemutatása nem műszaki/tudományos érdeklődésű olvasók számára. A kötethez készül speciális Scheme implementáció nőtte ki magát a Racket nyelvvé, mely annak ellenére hogy nem szabvány Scheme, a legelterjedtebb ma a Schemerek körében.
2. A klasszikusok
  • Structure and Interpretation of Computer Programs - A "köznyelvben" csak SICP. Ez a számítástudomány leghíresebb bevezető könyve. Annak ellenére hogy bevezető, nem ajánlható kezdőknek! Minden tisztességes funkcionális programozással foglalkozó embernek egyszer el kell olvasnia, aki ezt nem teszi meg, legalább ismerje a címét és tegyen úgy mintha olvasta volna. Ingyenes, ezért nem lehet azt mondani hogy nem volt rá pénzed :D Érdemes az OCW kapcsolódó kurzusával - vagy legalább az előadás videokkal - kiegészíteni a feldolgozását. 
  • The Reasoned Schemer - a Little Schemer stílusában íródott kicsi könyvecske, mely a funkcionális-logikai programozásba vezet be minket
3. Hard core computer science
  • Essentials of Programming Languages - a programozási nyelvek (és paradigmák) alapjaiba vezet be ez a remek könyv, csak a SICP ismeretét feltételezi ehhez csupán.
  • Types and Programming Languages - Habár nem kell a típusokkal bajlódni a Scheme esetében, nem árt tisztában lenni velük, ha Haskell vagy Scala felé kacsingatunk, akkor nincs más választásunk!
4. Bónusz

Nincsenek megjegyzések: