Mit tanuljak akkor?
„Végülis milyen programozási környezetet tanuljak, ha biztosra akarok menni?”
Az informatika világát egy folyónak tudnám leírni: vannak olyan ismeretek benne, amik nagyon gyorsan változnak (a víz felszíne, ahogy hullámzik), azaz pl. a Windows 8.1 és 10 között is számos beállítás másképp néz ki, pedig csak néhány év telt el a kettő között. Aztán ahogy haladunk egyre mélyebbre és mélyebbre, egyre stabilabb, állandóbb dolgokhoz jutunk: Bár a Windows 10 és 8.1 között számos beállítás máshova került, de mondjuk ugyanúgy monitoron nézzük a képet és billentyűzeten és egérrel visszük be, amit akarunk.
A programozásnak is megvannak a maga állandóságai:
- A ma széles körben használt programozási módszertan, az objektumorientált programozás a ’70-es évekből származik, azaz közel 40 éves!
- A számítógépnek, amit ma használunk, a működési elvét még Neumann János dolgozta ki, 1945-ben, azaz több, mint 70 évvel ezelőtt!
Mi az, ami nélkül nehezen lehet boldogulni ma a szoftverfejlesztés világában?
- programozás, objektumorientált paradigmával (a Java ilyen, az egyik legjobban, legtisztábban valósítja meg ezt az elvet)
- verziókezelés: a programkódunkat el kell tudni tárolni valahogy (git, SVN)
- adatbáziskezelés: az SQL szinte kikerülhetetlen, de a NoSQL is egyre népszerűbb
- valamilyen választott környezetünkhöz illeszkedő build tool (Java esetén Maven vagy Gradle)
- HTML, CSS viszonylag közismert mostanában minden területen
- Javán belül célszerű a Hibernate és a Spring megismerése, nagyon elterjedt a használatuk (ezek amolyan „kiegészítő” eszközök, mint egy autóban a légkondi. A legtöbb autóban van, nélküle is lehet utazni, de nagyon leizzad az ember, míg odaér. Szóval jobb, ha használjuk).
- Ha webprogramozás felé megyünk, akkor nem tudjuk a Javascriptet és annak valamilyen keretrendszerét (pl. Angular) megkerülni
Az, hogy milyen programnyelven kezdünk el programozni, számít is, meg nem is.
A programozási képességeinket meg tudjuk szerezni bármely programozási nyelven, bár célszerűen objektumorientált nyelvet jó választani.
Ezeken belül vannak olyanok, amelyek nehezebbek (C++), mások könnyebbek (Java, C#, Python).
Vannak, amelyek tisztábban követik az elveket (Java, C#), így jobban bevésődik a használatukkal, vannak, amelyek nagyobb szabadságot engednek (C++, Python).
Vannak modernek, amiket még kevesen használnak (és ki tudja, mekkora lesz a jövőben a népszerűségük), vannak aktuálisan sokak által használtak (pl. Java, C#, PHP, Javascript), és van, amiknek már leáldozott a csillagjuk (pl. Pascal vagy Fortran).
A Java sok szempontból észszerű választás:
- sokan használják, sok a betöltetlen állás
- sok területen használható (Android, web, desktop, nagyvállalati rendszerek)
- tisztán követi a programozási elveket
- viszonylag egyszerű megtanulni
- készségesen a programozó keze alá dolgozik, így nem a technikai részletekre, hanem a feladatok megoldására kell koncentrálnunk. (Azaz autós példával élve: van üzemanyagszintjelző, nem kell állandóan kiszámolnunk a sebesség és megtett út függvényében, hogy van-e még elég benzin a következő benzinkútig).
- a Java programozók jól fizetettek