„Perl (programozási nyelv)” változatai közötti eltérés

[ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
→‎Szemlélet: stilizálás
133. sor:
Larry Wall nyelvészetet tanult, így a nyelv tervezésekor kifejezetten a természetes nyelvek irányából próbálta megközelíteni a problémát. Ezzel valamelyest összecseng az, hogy nincs a nyelvben – ahogy a természetes nyelvekben sem – egyetlen igaz út, a dolgokat többféleképpen meg lehet valósítani, és személy- és helyzetfüggő, hogy melyik út a legjobb (vö. a [[Python (programozási nyelv)|Python]] szemléletével, ami kifejezetten azt preferálja, hogy egy dologhoz lehetőleg csak egy út vezessen és az legyen minél nyilvánvalóbb<ref>[http://www.python.org/dev/peps/pep-0020/ PEP 20 – The Zen of Python], a filozófia 13. sora</ref>). Ezt a Perl közösség TIMTOWTDI-nak („Tim Toady”) hívja: ''There is more than one way to do it''.
 
A másik elv az „easy things should be easy and hard things should be possible”: Aa könnyű dolgokat legyen könnyű megcsinálni, de a nehéz dolgokat is meg lehessen csinálni.
 
Fontos gondolat még, hogy a nyelv elsősorban nem arra van optimalizálva, hogy hatékonyan használja ki az egyre olcsóbb hardvert, hanem arra, hogy a dráguló munkaerőt használja ki a lehető leghatékonyabban. Ezt segíti, hogy a különböző dolgok jól elkülönülnek egymástól – a különböző változófajták más-más jellel kezdődnek, a tömbök és az asszociatív tömbök elemeit más karakterekkel érjük el (szögletes ill. kapcsos zárójel), a sztringek és a reguláris kifejezések alapértelmezett karaktere különbözik (sztringet aposztróf vagy idézőjel, regexet perjelek közé zárunk), stb.
 
Szintén a nyelvészeti tanulmányok hatásának tudható betulajdonítható az, hogy a leggyakoribb utasítások lehetőleg rövidek, a legfontosabb paraméter jellemzően legelöl áll és nagy a nyelvi alapkifejezések száma. A Perl előnyben részesíti az olyan szerkezeteket, melyeka tömörektömör és a felhasználó számára természetesektermészetes szerkezeteket, még akkorannak árán is, ha ennek az az ára, hogy az implementáció bonyolultabb lesz. Ide kapcsolható még a ''DWIM'' szemlélet is („Do what I mean” – tedd azt, amire gondolok), vagyis a legkevesebb meglepetés elve: a nyelv felületes ismeretével is könnyen rá lehet jönni egy ismeretlen kifejezés, szerkezet szándékára.
 
A Perlt áthatja a praktikusság – nem baj, ha nem szép valami, csak tegye a dolgát. Ez persze sok kritikára is okot ad, hiszen emiatt nagyon is jellemző a rendezetlen, trehány program; a programozó nem azért írta, hogy más majd karbantartsa azt, hanem azért, hogy egy feladatot elvégezzen vele. Maga a Perl se túl elegáns: lehet feszegetni a szabályait, a fordító meglehetősen megbocsájtómegbocsátó. Emiatt – alapból legalább is, ha az ember nem használja a <code>strict</code> pragmát – a hibákat nem mindig könnyű megtalálni. A beépített függvények számosság-kontextustól való függéséről maga a dokumentáció is azt állítja: „Általánosságban véve azt csinálják amit szeretnél, kivéve ha következetességet szeretnél.”<ref>[https://metacpan.org/source/BDFOY/perlbench-0.94/benchmarks/app/perlfunc.pod#L69 perlfunc dokumentáció: bevezető a Perl függvényeihez]</ref>
 
== A Perl előnyei és hátrányai ==