7 programozási nyelv, amit imádunk gyűlölni, mégsem tudunk meglenni nélkülük – 2. rész
Sorozatunk előző részében olyan programozási nyelveket vettünk sorra, melyeket nagyon sokan bírálnak, mégis megkerülhetetlenek az IT-ban. A második részben 4 másik nyelv kapja meg a magáét.
4. jelölt: a Cobol
A Cobol 1959-ben született, sokkal régebben mint a többségünk. Elavultnak kellene lennie, az összetett, közel 100 tiltott kulcsszót tartalmazó szintaxisával, mégis a Cobol szerelmesei új verziókat készítenek, ötleteket kölcsönöznek más nyelvekből és összeillesztik őket a csaknem 60 éves kerettel. Tudtad, hogy létezik olyan, hogy Cobol 2014? Dinamikus táblákat is kezel, amiket 2002 óta próbáltak bevezetni a nyelvbe, de nem csak ez az egyetlen újdonsága. Ha azt hiszed, hogy a Cobol már a 70-es években kihalt, akkor nagyot tévedsz.
Talán vannak jobb eszközeink is az üzleti logika implementálására, adatbázisok manipulálására, de sok cégnél még mindig egyszerűbb vasat pakolni a szerverek alá, és fenntartani a Cobol kódot. Ebben a pillanatban is 492, a Cobol szót tartalmazó állás található a Dice.com-on, többek között biztosítóknál, és hasonló nagyvállalatoknál is. A nagyszámítógépes rendszerek (mainframe) korai bevezetői pl. még mindig használják a Cobolt, és köszönik szépen, elégedettek vele. A többség most lehet, hogy megrökönyödve hőköl hátra, de amíg egy ilyen cégnek vannak megrendelői, a főnökök azt fogják mondani: „Ami nem romlik el, azt nem kell megjavítani. Csak vegyünk másik gépet alá!”
5. jelölt: az XSLT
Kezdetben mindenki szerette az XSLT-t, az XML-ek transzformálására szolgáló funkcionális nyelvet. Nagyon jól működő megoldás ugyanis akkor, amikor hosszú XML dokumentumokból akarsz részeket kiszedni, de ha a főnök az egyszerű keresésnél és cserénél többet akar, akkor szokott a fejlesztés megrekedni. A nyelv valóban funkcionális, és elég hamar rá fogunk jönni, hogy amikor a dokumentáció azt mondja, „változó”, akkor ezt a szót úgy használja, mint egy matektanár, nem pedig úgy, mint egy fejlesztő. Tűnődjünk el ezen a Bob DuCharme XSLT-szakértőtől származó mondaton: „Az XSLT változóknak jelenleg sokkal több közös tulajdonságuk van más programozási nyelvben konstansoknak nevezett szerkezetekkel, valamint hasonló célra is használjuk őket, mint a konstansokat.” Ha az XSLT-ben olyan változót akarsz használni, ami más programozási nyelvek változóihoz hasonlóan működik, ennél okosabbnak kell lenned!
Az XML talán idővel háttérbe szorul a hatékonyabb formátumok, mint például a JSON miatt, de jelenleg nagyon széles körben elterjedt. Ettől függetlenül nem kell használnod az XSLT-t, bármikor írhatsz egyszerűbb kódot, ami képes feldolgozni XML-eket. Ne tévesszük azonban szem elől, hogy az "összes" XML-feldolgozó rutin megírása nagyobb munka lehet, mint grokkolni az XSLT struktúráját. (Grokkolni: Robert A. Heinlein regényéből származó szó, jelentése kb. intuitív módon, mélyen, egészen megérteni valamit.)
6. jelölt: a Java
Bár a JVM és a kódkönyvtárak lehet, hogy a 90-es évekre datálódnak, de a szintaxis megrekedt a 70-es években, amikor a C született. Az automatikus memóriakezelés nagy előrelépésnek tűnik, egészen addig, amíg a kódodat térdre nem kényszeríti a garbage collector. Az Android fejlesztők példálul szakmai fórumokon cserélnek tippeket, hogy hogyan kerüljék el a garbage collector elindulását egy fontos esemény közben, mint amilyen például egy segélyhívás.
A Java fejlesztők régóta panaszkodnak számos ügyben, amiket az Oracle részben orvosolt, ezek viszont új problémákat szültek: néhány újabb könyvtár és kód egyszerűen nem működik a régi virtuális gépekkel. Sokan küzdenek például a java.lang.UnsupportedClassVersionError-ral, végleges megoldás nélkül. Az ilyen problémák miatt bizonyos szempontból az 1.4-es után szinte minden Java verzió külön nyelvnek tekinthető.
Ugyanakkor a fenti problémák eltörpülnek, ha azt nézzük, hogy a Java az alapja a web és a mobil programozásnak, és sok helyen ez az első programozási nyelv, amit középiskolában tanítanak, valamint a könyvtárgyűjteménye bővebb és értékesebb, mint a legtöbb másik nyelvé. Miért kellene hát bármi mást használni?
7. jelölt: a Python
Ez egy modern nyelv, amit előszeretettel oktatnak gyerekeknek is. A központozása elég ritkás (pl. nem kell az utasítás végére pontosvessző), és a kód egésze egy kicsit érthetőbbnek tűnik a többi nyelvnél. Akkor mégis mi az, amit nem szeretünk benne? Hát, a 2.7 és a 3.0 közötti szakadékot! A nyelv töretlen fejlődéséhez egy viszonylag nagyobb ugrást kellett tenni, de ez az ugrás épp elég nagy ahhoz, hogy folyton nyomon kelljen követned, melyik szintaxist is használod éppen. Továbbá a Pythonban nem zárójelekkel, hanem szóközökkel kell blokkokba rendezni a kódot. És hány ember szereti a space-eket számolni, amiket a kódblokk behúzására használ? A kerek zárójelek számolása is épp elég fájdalmas, de a whitespace-eké ráadásul egy monospace editort igényel.
Mindez nem számít, mert a Python még így is remek szkriptnyelv, ha integrációs feladatokat kell ellátni vele a backendben, de számos tudományos területen használják adatok feldolgozására, elemzésére, ahogy oktatási célokra is.
Forrás: InfoWorld - Peter Wayner, fordította: Szabolcsi Judit