Log inRegister

Előszó

E könyvnek két előszava van, egyik a vezető felnőtt, és egy másik a gyermek számára, aki most fedezi fel a nyelvet.

Előszó (gyerekek számára)

Amikor még fiatalabb voltál -- de lehet hogy még most is -- biztosan játszottál Lego-val, vagy valami hasonló építőjátékkal. Amikor én kisfiú voltam, rengeteget játszottam Legoval, és nagyon szomorú voltam amikor a gyűjteményem tönkrement.

Felnőni azt jelenti, hogy nagyrészt megváltozunk, de mindig akad valami, amiben egy felnőtt is gyermek marad. Egy valóban szomorú dolog az, ha egy felnőttben "meghal" a gyerek, hiszen ez azt jelenti, hogy valami fontos elmúlt.

Én már felnőtt vagyok, de még mindig játszom Legoval. Csak most már máshogyan játszom vele. Valódi Lego helyett olyat használok, ami nem látható, ami csak a fejemben van -- a képzeletemet használom. Ezzel a Lego-val játszom, amikor programozok.

Mikor a kezedben tartod a Lego-t, a fejedben megjelenik egy elképzelés arról, amit építeni szeretnél. Aztán elkezded összerakni az apró darabkákat, kockáról kockára, amíg fel nem épül amit elképzeltél. Egy kis kocka nagyon kicsi és nagyon egyszerű -- de megvan a módja hogy jól rakd össze őket, és ha jól rakod össze a dolgokat, valami csodálatos dolgot csinálhatsz.

Pont úgy, mint a programozással. Ebben a könyvben bemutatunk néhányat a kis kockáink közül, majd megnézzük, hogyan lehet őket összerakni. Azt remélem, hogy a végére te is el fogsz kezdeni barkácsolni --dolgokat összerakni, majd megnézni hogy az működik-e vagy sem. Azután talán elképzelsz majd dolgokat, és látni fogod hogy ezekből a program téglákból fel tudod-e építeni.

Sok dolog kell ahhoz hogy megtanulj programozni, és ez még csak a kezdet. De nagyon remélem képes leszek segíteni neked kutatni és felfedezni, milyen is lehet programozni.

Előszó (felnőtteknek)

A legtöbb Perl vagy egyéb programnyelvvel foglalkozó könyv amit találsz, mindenki számára, mindenre alkalmas szeretne lenni, vagy legalábbis így hirdeti magát. Ez a könyv nem tetteti vagy mutatja, hogy mindenkinek megfelel; ehelyett megpróbálok egy dolgot csinálni, de jól.

Rendben, akkor mit is próbálunk csinálni? Lássuk először is, hogy mit nem próbálok csinálni:
  • Nem próbálok meg olyan könyvet írni, ami a gyakorlott programozókat vezeti be a Perl rejtelmeibe
  • Nem próbálok olyan könyvet írni, ami a Perl mélységeibe vezet, vagy a nyelv legerősebb pontjait érintené.
  • Nem próbálok olyan könyvet írni, amely segítségével egy kezdő programozó egy éjszaka alatt szakértővé válik.
  • Nem próbálom meg bemutatni a programfejlesztés alapelveit.
  • Meg sem próbálok olyan könyvet írni, ami gyors sikert ígér; nem próbálok olyan könyvet írni amiből hamar megtudod, hogyan lehet ezt vagy azt megcsinálni.
Rendben, de ha ezt mind nem akarom csinálni, akkor mi az, amit akarok?

Ezt próbálom: írni egy olyan könyvet, amivel segítek a tizenkét éves ikertesóimnak hogyan tanuljanak meg barkácsolni.

Először megpróbálkoztam a Java tanításával. És a Java egy jó nyelv -- talán jobb is lenne számukra mint a Perl, gondoltam, aztán inkább úgy gondoltam, a Java egy jó második nyelv lehet majd, amit tanulnak, hogy minőségi szoftvereket írhassanak ha felnőnek. De ezt mind megtanulni egyszerre nagy megterhelés volna, és egy olyan dolog ami össze is zavarhatná őket. Nagyon jó dolgokat mondtam nekik, de untattam őket vele.

Aztán elkezdtem gondolkozni, hogyan is kezdtem el én programozni. Először BASIC nyelven barkácsoltam, egy Apple II sorozatú gépen. Írtam egy spagetti kódot tele goto és mindenféle más utasítással, hogy a hideg kiráz tőle ha belegondolok. Nem is tanultam meg hogyan legyek jó programozó -- egyáltalán nem. Viszont megtanultam hogyan legyek jó kontár, hogyan fedezzem fel és rakjam össze a dolgokat.. Ahogy mondják, az oktatás nem egy vödör megtöltése, hanem a láng fellobbantása. Ezek a tapasztalatok felgyújtották bennem a tüzet; itt kezdődött a kíváncsiság, és az élvezet, ami a későbbiekben egy sokkal komolyabb programozóvá tett.

Ez a könyv nem egy kísérlet arra, hogy azonnal egy jó programozóvá válj. A célom, ami lehet hogy sokkal szerényebb, de talán sokkal ambiciózusabb: fellobbantani a lángot. Ha egyszer már a tűz fellobbant, már lehet gondozni, óvatosan metszegetni; lesz elég idő hogy a szükséges irányítás és fegyelem mellett ez a tűz valóban nagy dolgokat érjen el. Nem próbálok meg mindent egyszerre; csak egy dolgot próbálok, de azt jól.

Jonathan Hayward, 1998.07.16

Utóirat: Van a könyvben pár szándékos pontatlanság. Mindez azért, mert a kérdések pusztán műszaki alapon történő tisztázása túlságosan bonyolult, és úgy vélem, összezavarhatja a gyerekeket. Néhány rész túlegyszerűsített; szeretném azt elérni, hogy ezeket ők maguk bírálják felül, amint a szellemi érettség megfelelő szintjét elérik.

Néhány előzmény

Itt és most (nagyobbrészt) valójában nem is a Perl-ről beszélünk; olyan dolgokról van szó, amelyeket meg kell tennünk, hogy eljussunk a Perl használatáig. A figyelmünket most kizárólag unix-szal működő gépekre korlátozzuk. Ha más típusú (rendszert futtató - szerk. megjegyzése) gépet használsz, el kell olvasnod annak a kézikönyvét. (A Linux az Unix, kérj segítséget, hogy neked is legyen. Jellemzően nem kerül pénzbe. -a szerk. megjegyzése)

Tartalomjegyzék

-- BalsaiPeter - 2013.02.15