Mi a baj a Perllel / Pythonnal?

Miért nehéz jó Perl / Python fejlesztőt találni? A nyelvekkel van a baj? A munkaerőpiac szűk? Mindenki elment péknek?

Hozzászólások

Nehez jo fejlesztot talalni barmilyen nyelven/platformon PONT. Az altalad emlitett nyelvek pont ezt ellensulyozhatjak valamennyire (link).

Persze, mint mindig, lehet nagyobb fizetest adni, jobb eloszuroket hasznalni, tobb helyen hirdetni, es akkor mindjart tobb jo fejleszto lesz a csapatban.

Egyebkent is, a nagyon jo fejlesztok ugy is csak neha bukkannak fel a piacon es hamar felveszi oket valaki. Ezert a legjobb cegek azt csinaljak, hogy amikor csak valaki meguti a mercet, akkor is felveszik, meg ha a projectnek nem feltetlenul van szuksege emberre. Mert a kov. projectben meg lesz ra szukseg.

Kívülállóként nyilatkoznék, kérem ennek megfelelően kezelni a véleményemet!

PHP/Python területen találni valószínűleg a legtöbb kutyaütőt. Ennek oka, hogy ha webes fejlesztés oktatásáról van szó, akkor ott tapasztalataim szerint PHP-t tanítanak, illetve rengetegen úgy képzelik, hogy web=PHP.
Pythonnal először úgy találkoztam, hogy "az egyik legjobb nyelv kezdő programozók számára". Igaz-e vagy sem, ezt nem tudom, én elég könnyen boldogultam az alapokkal. De... és itt jön a buktató, hogy profi pythonossá válni már semmivel sem egyszerűbb, mint bármely más nyelven/környezetben szakemberré válni.

A perl egy jó kérdés, szerintem perl-hez manapság viszonylag nehéz embert találni, mert úgymond kiment a divatból. Én régen szerettem játszani vele, élesben is használtam egy rövid ideig és szívesen belemerülnék újra, de úgy látom, egyre kevésbé van igény rá.

Jó, ezzel a hozzászólásommal "kint vagy a vízből", de rajtam van a szófosás. ;)
Pythonra visszatérve: én azért kezdtem foglalkozni vele, mert Javat + OOP-t akartam tanulni, főként elméleti dolgokat és már az elején elakadtam, hogy néha szükségem lenne generált teszt adatokra. Ezt java-ban megírni, fordítani macerásnak tűnt, python divatos, hát belemásztam. A végén annyira, hogy az eredeti célt, hogy java, már el is felejtettem. :)

"A perl egy jó kérdés, szerintem perl-hez manapság viszonylag nehéz embert találni, mert úgymond kiment a divatból."

Mindig is a karakterleütésekkel is spóroló lusta adminok nyelve volt, csak a web szárbaszökkenésével vált általánosabban használttá, de a mind olcsóbb egyéb webfejlesztő és futtató cuccok visszalökték a bölcsőjébe.

:)
Ez is egy jó megfogalmazás, bár a rövidítéseit megjegyezni, az jó kis memória tréning. ;)
Sajnos mára szinte teljesen elfelejtettem.
Azért néha előfordul, hogy jól jön, mert a mintaillesztéssel végrehajtott keresgélés (pl. logokban) automatizálására valamivel egyszerűbb, mint a python és többet tud, mint az awk. Szigorúan SZVSZ!

Nem péknek, hanem mindenki elment {C++,C#,Java}-ban fejleszteni, aki direkte fejleszteni akart, mert az elmúlt 10 évben elvétve kerestek mást (ha mégis, akkor PHP-t vagy Rubyt).

Perlben is lehet szépen, elegánsan és hatékonyan programozni, azonban talán éppen a fentihez hasonló vélemények miatt ("lusta adminoknak való gányolós nyelv") kevesen jutnak el erre a szintre.

Illetve azt is meg kell jegyeznem, hogy vannak a nyelvben olyan archaikus elemek (nevesített szubrutin-argumentumok hiánya, globális vs. lexikális változók stb.), amelyek egyrészt megnehezíték a fenti, szép és értelmes (és főleg karbantartható) stílusú programozást, másrészt elriasztják a nyelvvel esetlegesen megismerkedni akaró fejlesztőket.

Disclaimer: a Perl a kedvenc nyelvem.

SZVSZ nagy projektet lényegesen egyszerűbb managelt, erősen típusos nyelvben összerakni, mint egy scriptnyelvben.
Nem is a nyelvvel van a gond, hanem a jó IDE / Debugger, stb hiányában.

A munkaerőpiac szűk. Senki sem keres python fejlesztőket, míg java, c# és hasonlókra van kereslet. Én egyszer láttam egy python álláshirdetést (több év alatt), jelentkeztem is rá, de aztán az egész cég nem volt szimpatikus, és hagytam. Java-ban meg voltam 3-4 helyen interjúzni, volt pro kontra, és most olyan helyen vagyok, amit nagyon szeretek.

Ezt csak azért furcsállom, mert vannak olyan feladatok, amikre nincs pontosan egy egyértelműen jó technológia. Pl. nem hiszem, hogy Linuxos konfiguráció menedzsmentet tisztán Java-ban (bárkinek is) jobb lenne megvalósítani, mint egy kevert rendszerben. Mivel aki jó programozó, az nem egy nyelvben jó programozó, másképp tenném fel a kérdést: a jó programozók inkább tagadják hogy valaha is tudtak Perlben dolgozni? ;-)

Ez a feladat az, amire nem programozókat vesznek fel, hanem a rendszergazda megcsinálja a saját kis fun nyelvén (legyen az bash, python, perl) mert
rajta kívül másnak úgysem kell belenyúlnia. A dolog ott szokott elvérezni, amikor 5-8-10 fejlesztőnek kell együtt dolgozva egy terméket a lehető
legrövidebb idő alatt előállítania kellően jó minőségben. Itt szokott a java (php,c#) nagyon erős lenni, mert mindegyikhez rengeteg könyvtár és
keretrendszer áll rendelkezésre, így a fejlesztési időt tényleg csak a feature-ök lefejlesztésével kell tölteni, nem azzal, hogy irunk egy keretrendszert,
amire majd jól felépítjük a saját termékeinket. Ráadásul mind a java, mind a php esetén nagyjából tudott, hogy milyen teljesítményre képes (elég jó, és/vagy
jól skálázódik), azt hiszem pont a ruby-nál voltak olyan gondok, hogy baromira lassú volt az egész.

Szerintem ez egy megoszto poszt lesz, lesznek akik egyet ertenek velem, es lesznek akik a torkomnak ugranak majd erte:

Jo programozot nehez talalni es pont. Ez programnyelvtol (majdhogynem) fuggetlen. Ez az informatikai kozoktatas szegyene, de ebbe ne menjunk bele most.

A perl-el az a problema, hogy nem sikerult maganak eleg tag celkozonseget szereznie a kovetlezok miatt:

-Aki nagy projectet fejleszt, az ugyis valami C nyelven teszi, es ez igy helyes. A script nyelvek erre nem igazan alkalmasak mert lassuak a C hez kepest, es zart kodu liencelt sw-t nehez / lehetetlen kesziteni benne. (Az ironcube es hasonlok mind torhetoek tudomasom szerint)

-Aki webre programozik az php es majdhogynem ennyi. Ez lett az active content elsodleges nyelve, es eppen ezert minden kezdo is ezt tanulja meg, ezen indul el. Ezt az ordogi kort en nagyon sajnalom, mert biztonsagi szempontbol sokkal jobb a perl, mert ugyan mint mindenhol itt is figyelni es gondolkozni kell, de a kezdo programozo kezebe legalabb nem adja oda a revolvert hogy fejbelohesse magat vele (peldanak okaert a $query->execute() egy az egyben kivedi az sql intrusiont). Igen, ez azt jelenti hogy nem lehet annyi ido alatt oszecsapni egy kodot mint phpben, es pontosan ezert nem ez a nyelv terjedt el, itt jonnek be a lusta programozok a kepbe, akik a mukodik az oldal, megkapom a penzem elven dolgoznak (ismetcsak tisztelet a kivetelnek, mert vannak).

Ami marad a perlnek, az egy nagyon szuk kozonseg, joreszt unixos programozok, akik valami backendet vagy toolt keszitenek rajta altalaban belso hasznalatra, emiatt sajnos a perl igencsak viszaszorult.

Nekem kb 8 ev tapasztalatom van perllel es phpvel (ez napi szintu kodolast jelent) es biztosan allithatom hogya perl:
-sokkal lassabb mint a C, igen nem erre szamitottatok, tudom, de teny ami teny :)
-ellenben sokkal gyorsabb, sokkal kisebb memoria igenyu, es sokkal biztonsagosabb mint a php (igen, a use strict kotelezo, de a taint mod se rosz dolog peldanak okaert, es valtozot nem teszunk kozvetlenul az sql prepare()-be).
-viszafele tokeletesen kompatibilis, nincs olyan problema mint pl a phpnel ha frissitesz, akkor kezdheted javitani az oldaladat (split / explode ugye...)
-az egyik elottem szoloval ellentetben, szerintem kivaloan debugolhato, foleg mondjuk a data::dumper es a perl::logger hasznalataval.
-mint egyetlen nyelv, ez se tokeletes, de a 8 ev alatt egy kezemen meg tudom szamolni hogy hany hibat talaltam benne, es ez azert eleg jo dolog.
-egyetlen dolgot ne probaljatok meg vele, pdf-et generalni, na arra alkalmatlan, tapasztalat :)

Szerintem perl a scriptnyelvek kozul messzemenoen a legjobb, nekem igenis ez a kedvenc scriptnyelvem.

Figyelem! a torkomnak eso emberek szamat szeretnem most azzal korlatozni, hogy olyanok cafoljanak csak meg engem, akik mind fejlesztesi, mind kiszolgalasi oldalrol ismerik mind a perlt, mind a phpt, es nem ertenek egyet velem!

Koszonom hogy vegigolvastatok!

"Aki webre programozik az php es majdhogynem ennyi." Ruby, Groovy, Java, .Net, csak hogy az igazán népszerűeket említsem ;)
"szerintem kivaloan debugolhato, foleg mondjuk a data::dumper es a perl::logger hasznalataval" ezt tracelésnek hívják és nem debuggolásnak ;)

Bár a válszadó iránt támasztott követelményeidnek nem felelek meg, mert nem értek a perlhez és annak kiszolgálásához

-
Reflection - a bajkeverő csodagyerek

Az ironcube es hasonlok

ez nem ioncube akart lenni? Csak mert az php enkoder...

peldanak okaert a $query->execute() egy az egyben kivedi az sql intrusiont

szerintem minden ebben a kontextusban kb. ertelmesen hasznalhato script nyelv tudja prepared statement nevu csodat. Igen, meg a php is...

nem lehet annyi ido alatt oszecsapni egy kodot mint phpben

LOL. Perlben is siman fel tudsz epiteni egy sql query-t sima stringkent...

es sokkal biztonsagosabb mint a php (igen, a use strict kotelezo,

regen rossz, ha a biztonsagot termekkent fogod fel. PHP-ban is lehet total popec, biztonsagos kodot irni, es barmilyen mas nyelven is lehet security hibakat veteni.

Szerintem perl a scriptnyelvek kozul messzemenoen a legjobb, nekem igenis ez a kedvenc scriptnyelvem.

ha valami kisebb meretu, nem webes dolog kell, en is ehhez nyulok eloszor.

akik mind fejlesztesi, mind kiszolgalasi oldalrol ismerik mind a perlt, mind a phpt, es nem ertenek egyet velem!

jelen

Diktatorok kezikonyve

Fejlesztettem Perlben, es nem ertek egyet veled.

- "az egyik elottem szoloval ellentetben, szerintem kivaloan debugolhato, foleg mondjuk a data::dumper es a perl::logger hasznalataval." Nezz lecci gyorsan utana a debugolas szo jelentesenek. Tevedesben elsz.
- "Aki webre programozik az php es majdhogynem ennyi" - Maradjunk annyiban, hogy nem. Java/Spring, Ruby/Rails, Python/Django, mind nagyon nepszeru nyelv/keretrendszer, rengeteg weboldal keszul bennuk, es egyre tobb.
- Ertem, hogy a kedvenc nyelved, es ezert sztarolod, de ettol meg nem lesz jo. Az OOP peldaul nagyon pocsekul van megvalositva benne, nagyon latszik, hogy utolag lett rabarkacsolva, nyelvidegen. Az use strict meg alapertelmezes szerint talan tulsagosan is szigoru, raadasul teljesen opcionalis a hasznalata - ez igy nem teszi biztonsagossa a nyelvet. Ha alapertelmezesben be lenne kapcsolva, akkor viszont...
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.