A TIOBE-Index alapján a Java 2019 októberében is a leggyakrabban használt nyelv. Egy másik felmérés szerint a Java a második legnépszerűbb nyelv a piacon. Ha megnézzük, a két különböző felmérés első 3 helyezetében az egyetlen közös programnyelv a Java. A Java népszerűsége megkérdőjelezhetetlennek és öröknek látszik.
A fent leírt jelenség nem 2019-ben kezdődött, hanem évtizedes viszonylatban így van. Programnyelvek jöttek-mentek, de a Java-nak sikerült megőriznie a dominanciáját, és folyamatosan megújulni.
A Java népszerűsége onnan is látszik, hogy egyes felmérések szerint nemzetközi szinten a Java fejlesztők magasabb bérre számíthatnak bármilyen egyéb fejlesztőnél.
A kérdés tehát adja magát: miért? Vajon mi ennek a töretlen népszerűségnek az oka? Ebben a cikkben ezt próbáljuk meg körbejárni.latformfüggetlenség
Platformfüggetlenség
Az első ok – melyet ebben a cikkünkben már körbejártunk – a platformfüggetlenség. A platformfüggetlenség azt jelenti, hogy a programunk minimális – vagy semmilyen – módosítással fut különböző operációs rendszereken és platformokon. Éppen ezért ahelyett, hogy ugyanazt a programot 4-5 különböző operációs platformra megírnánk, írunk egy verziót, és amelyik számítógépen rajta van a JVM, azon futtatni tudjuk a szoftverünket.
Amennyiben többet szeretnél olvasni a platformfüggetlenségről, ezt a cikket ajánlom. Amennyiben konkrét információra vagy kíváncsi egyes platformfüggetlen nyelvekről – pl. a Java-ról -, ez a cikk szerintem remekül összefoglalja a legfontosabbakat, azok előnyeivel és hátrányaival együtt. Ez utóbbi összevetésből is kitűnik, hogy a Java népszerűsége töretlen.
A Java népszerűsége Android rendszereknél
A két legnépszerűbb nyelv, amit Android fejlesztésre használnak, a Kotlin és a Java, de a Kotlin egy olyan nyelv, ami Java virtuális gépre fordul, és 100%-ig kompatibilis a Java-val.
A Kotlin tehát ebből a szempontból nem versenytárs, ráadásul az interneten rengeteg útmutató található kifejezetten Java fejlesztőknek, akik át szeretnének térni a Kotlin használatára.
Stabil keretrendszerek
A Java-hoz írt keretrendszerek többségében rendkívül robosztusak, éppen ezért rengeteg bank, pénzintézet és multinacionális cég használja ezeket a nyelveket az üzleti szférában.
Jól strukturáltság – a Java népszerűségének kulcsa
A Java azért ajánlott kezdő nyelvnek, mert egyszerű, logikus, jól felépített, és megtanulásával kifejezetten erős programozói alapokat lehet szerezni. A Java segítségével könnyen megértheted és használhatod az objektumorientáltságot, aminek segítségével teljesen logikusan és életszerűen strukturálhatod az alkalmazásodat.
A Java népszerűsége annak is köszönhető, hogy a megtanulása után nagyon könnyen át lehet térni más nyelvekre. A másik két legnépszerűbb nyelv, a Python és a JavaScript is könnyen megtanulhatóak a Java után.
A C# megtanulása különösen egyszerű lesz, hiszen azt nyelvet deklaráltan azért hozták létre, hogy egy a Java-hoz hasonló, de annál jobb alternatívát képezzenek a szerveroldalon. Arról, hogy ez a kísérlet mennyire volt sikeres, arról ez a felmérés objektív képet ad: 19 év eltelte után 2019 októberében a Java népszerűsége több mint négyszerese a C#-énak.
Rengeteg legacy rendszer és sok új projekt
Mivel a Java nagyon régóta a legnépszerűbb nyelvek között van, ezért rengeteg, már meglévő rendszert írtak Java-ban. Az így megírt szoftverek stabilak, ismerik az erősségeit és esetleges gyenge sebezhetőségeit, éppen ezért ezeket a rendszereket nem írják át más programnyelvre. Ez azt jelenti, hogy ha holnaptól senki nem kezdene Java-ban projektet, akkor is rendkívül népszerű nyelv maradna, mert a meglévő rendszerek karbantartása, frissítése és egyes új funkciók hozzáadása rendkívül erőforrás-igényes.
Ha megnézzük a PHP népszerűségének alakulását, ott pont azt látjuk, hogy annak ellenére, hogy ma már szinte senki nem kezd ezen a nyelven projektet, még mindig a leggyakrabban használt nyelvek között van. Ez azért van, mert rengeteg olyan 10-20 évvel ezelőtt elkezdett projekt van, amelyek mára többmillió soros kódbázissal rendelkeznek. Ha ennek a nagy részét PHP-ban írták, akkor relatíve kicsi az esély, hogy áttérjenek valami újra. Ennek több oka van. Egyrészt azok a szakemberek, akik adott esetben 5-10 éve ugyanazon a kódbázison dolgoznak, ahhoz a kódhoz értenek. Tudják pontosan, hogy mi hol van, ismerik a projekt felépítését, a programban lévő egyes elemek szerepét, a használt keretrendszereket. Újraírni az egészet úgy, hogy ugyanolyan biztonságos és használható legyen, mint volt, rengeteg plusz költséget jelent, amit végül senki nem fizet meg, hiszen ugyanazt tudja a program, amit előtte tudott.
A Java helyzete ennél is nagyságrendekkel jobb: az úgynevezett zöldmezős projektek jelentős része ma is Java-ban indul, így nem csak legacy projektek, hanem Java 9-12-ben indult projektek is indulnak. Ilyen zöldmezős projektekre azért is jó bekerülni, ha van lehetőséged, mert ott a kezdetektől vehetsz részt egy program megtervezésében és felépítésében. Ez remek tapasztalat, amiből rengeteget tanulhatsz, és később is jó referencia lesz az önéletrajzodban, ha alkalmazottként szeretnél dolgozni.
Remek szemléletfejlesztő nyelv
Ezt úgy értem, hogy a Java tanulásának rengeteg olyan előnye van, ami en bloc a programozói karrieredben is rettentő hasznos, nem kizárólag a Java esetén.
Olyan általános programozási paradigmákat ismerhetsz meg és alapelveket gyakorolhatsz, amit később akkor is tudsz használni, ha teljesen más utat választasz végül. Ezek közül megemlítek néhányat csak felsorolás-szinten; a jövőben lehet, hogy írok róluk hosszabban:
- Metódusok
- Objektumorientáltság és annak az alapelvei
- Clean code
- SOLID principles
- Dependency injection
- Garbage collection
- Design patterns – tervezési minták
Ezek olyan elvek illetve gyakorlati megoldások, amik gyakorlatilag minden modern nyelvben visszaköszönnek.
A Java népszerűsége a szakmai közösségi oldalakon
A Java népszerűsége önmagát gerjesztő jelenség: sokan pont azért használják, mert ennyire népszerű, és ezért ha elakadnak, nagyon gyorsan választ kaphatnak a kérdéseikre.
Erős IDK-k
Ha kérdés számodra, hogy mi az az IDK, azaz az integrált fejlesztői környezet, ebben a cikkünkben választ kapsz a kérdésedre. Röviden: az integrált fejlesztői környezetek olyan szoftverek, amik könnyűvé, gyorssá és XXI. századivá teszik a fejlesztést. Értelmezik és elemzik a kódot, és javaslatokat tesznek a kódminőség javítása érdekében. Grafikus felületet biztosítanak bizonyos műveletekhez (pl. fordítás, debug-golás), és kifejezetten kényelmes szoftveres környezetet biztosítanak ahhoz, hogy a programozók sokkal hatékonyabban végezhessék a munkájukat.
A Java-ban az IntelliJ, az Eclipse a legnépszerűbb integrált fejlesztői környezetek, és mindkettő kiváló. Az Eclipse gyors és kompakt, az IntelliJ pedig rengeteg smart hint-tel segít. A megfelelő IDE tehát hatalmas előny, ami kifejezetten pozitív a Java népszerűsége szempontjából.
Kompatibilitás
Nem zökkenőmentesen, de ez nagyjából sikeres is. Természetesen vannak olyan verziók, amik között a váltás relatíve nagyobb kihívás, mert nagyon sok mély változtatás volt az új verzióban az azt megelőzőhöz képest. Alapvetően azonban a Java visszafele kompatibilis nyelv – és ez számunkra hatalmas előny.
A folyamatosan fejlődő Java népszerűsége töretlen
A Java-nak folyamatosan újabb és újabb verziói jönnek ki igen komoly változtatásokkal és sokszor új paradigmák beemelésével. A Java verziókról egy másik cikkben írok, de összeállítok egy szubjektív listát néhány példával, hogy néhány verzióban milyen nagymértékű változtatások történtek:
- A Java 5-ben bekerültek a generikus típusok, amik rengeteg problémára megoldást nyújtanak, és megfelelő alkalmazásuk csökkenti az ún. kód-duplikációk számát.
- A Java 8-ban az ún. lambda-kifejezésekkel és a Stream-ekkel bekerült a funkcionális programozás a Java-ba.
- A Java 9-ben bekerült a modularitás, ami egy új absztrakciós szintet teremtett a package-ek felett.
- A Java 12-13-ban megreformálták a switch-et, és a statement-ek mellé behozták az ún. switch expression-öket.
Mindezek mellett rengeteg ötlet vár még megvalósításra, amit az Oracle is kommunikált.
Végezetül felmerül a kérdés: egy mondatban megfogalmazva miért a Java a legnépszerűbb nyelv?
Azért, mert jól strukturált, átgondolt, könnyű tanulni, könnyű ,,áttanulni” más nyelvre Java-ról, nagyon erősek a keretrendszerek, szuperek az integrált fejlesztői környezetek hozzá, és nem utolsó sorban folyamatos fejlődésen megy keresztül. Kicsit hosszú mondat lett, de csak sikerült röviden megfogalmazni 🙂
Remélem, tetszett ez a rész, és informatívnak találtad! Tarts velünk legközelebb is!
“A Java népszerűsége – Miért töretlen a Java sikere?” bejegyzéshez 3 hozzászólás
Hozzászólások lehetősége itt nem engedélyezett.