“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