Változatok

 

Érdekes emberrel találkoztam a minap. Panaszkodott, hogy mire megtanulja kezelni a programját amellyel naponta kell dolgoznia, már megjelenik egy új változat, frissítenek rajta, vagy (általa még fel nem fedezett) hibákat javítanak ki. Miközben hallgattam, valahogy rádöbbentem, hogy mi programozók is ilyen módon állunk a dolgokhoz. Egyesek ráállnak bizonyos programozási nyelvekre és csak azt tanulják. Vannak hatalmas tapasztalattal rendelkező C++ programozók, akik egy négysoros Pascal programban elvesznek. Mások a Javara esküdtek fel és tűzön vízen át a Java zászlaját viszik.

Különálló kategória a „mindenevő” programozók csoportja, akik sokféle nyelvvel foglalkoznak, viszont egy területen sem sikerült mélyreható ismereteket szerezniük, ezért olyan minden lében kanál szerepet játszanak.

Nem a mi szerepünk eldönteni, kinek milyen „modell” felel meg, tekintsük viszont a következőket: Egy kis cégnél, ahol kevés az alkalmazott, nincs lehetőség arra, hogy mindenkinek meglegyen a szakterülete, ezért a mindenes szerep jobban beválik. Egy embernek kell értenie az adatbázis kezeléshez, de jó, ha tud egy kevés web dizájnt is, hogy a szükséges módosításokat gyorsan meg tudják oldani, és a C++ programozó beszél Delphi-ül is, hogy gyorsan tudjon váltani, ha így hozza a szükség.

A nagy cégeknél megint más a helyzet. A szakosodás elkerülhetetlen, mert a cégnél minden munkakörre van ember, a C++ programozó tényleg C++ nyelven programoz, és a web dizájner feladata csak és kizárólag a web dizájn.

És hogy programozónak melyik jó? Programozója válogatja. Egyesek szeretnek mindennel foglalkozni és el akarják kerülni a beskatulyázást, mások a szakosodást választják, és „tökélyre” fejlesztik tudásukat valamely területen. Itt merülnek fel olyan kérdések, amelyekből a cikk végül is kiindult: napjainkba hihetetlen sebességgel fejlődnek nem csak a számítástechnikai cikkek, hanem maguk a programozási nyelvek is. Felmerül a kérdés tehát - amelyre magunknak kell a választ megtalálni - érdemesebb-e elhagyni a megszokott, stabil programozási nyelvünket, amellyel csodákat tudunk művelni, valami újért, amely számunkra teljesen ismeretlen, de mégis keresett szaktudás. Itt csak egy tanácsot tudunk adni, egy híres történelmi személyiség szavait ismételve: tanulni, tanulni, tanulni. Tanuljuk meg a másodikat is, ahelyett, hogy elhagynánk az elsőt. Majd utána döntsünk.

 

Deák Ferenc

 

Szerkesztői kiegészítés Deák Ferenc írásához:

 

Oktatási és fejlesztési tapasztalatokkal a hátam mögött én még egy tanácsot tartok fontosnak: tulajdonképpen mindegy, hogy milyen programnyelvet választunk, mert az elsődleges úgyis a tervezés. Nem igazán lehet jó programokat írni előzetes tervezés nélkül - persze most nem néhány száz soros programocskákra gondolok. Ha pedig a tervezés a lényeg, akkor majdnem mindegy, hogy mi lesz a kiválasztott nyelv, illetve azt már másodlagos szempontok, a felhasználói terület fogja meghatározni és nem utolsó sorban a rendelkezésre álló fejlesztőkörnyezet adja. Persze nyilvánvaló, hogy rendszerközeli programot nem PHP-ban vagy VB-ben írunk, hanem erre a célra a C-t, vagy a C++-t választjuk és az is egyértelmű, hogy a kód újrafelhasználáshoz objektumorientált vagy legalábbis objektum alapú nyelvet illik választani. Igazán abból válik jó programtervező, aki képes a nyelveken felüli gondolkodásra. Itt válik el egymástól a két fő terület, a programozó és a programtervező feladatköre - persze egy kisebb cégnél ez a két tevékenység várhatóan összemosódik, egy és ugyanaz a személy végzi a tervezést és a kódolást. Elsősorban azt kell mindenkinek eldöntenie, hogy mi érdekli jobban: komoly nagy programok megtervezése, amit majd szakértő, nyelvspecifikus gyakorlattal rendelkező programozók lekódolnak, vagy maga a kódolás, az egyes modulok, osztályok kódjának az elkészítése. Mindkettőnek megvan a maga szépsége, persze nem tilos a területek átjárása sem - tervezés közben én is sokszor nekiülök egy-egy rövidebb kód elkészítésének, és mindig örülök, ha sikerül új, nyelvspecifikus megoldásokat találni.

Egyébként nem olyan vészes több nyelv megtanulása sem. A C-nyelvek csoportjában (például C, C++, Visual C++, Java, PHP) sok az átfedés és aki ért a Pascalhoz az a Delphibe természetesen nem fog belebukni. A több nyelv tudása pedig az átfogó tervezési ismereteket erősíti.

 

Dr. Medzihradszky Dénes