GettyImages-874016084
Prof

Ezek most a legnépszerűbb programozási nyelvek, de melyiket érdemes megtanulni?

Több száz élő programnyelv van a világon, és majdnem mindegyikről elmondható, hogy egy kicsit jobb valamiben, mint a másik. Ha meg akarunk tanulni programozni, akkor a legjobban akkor tesszük, ha a legnépszerűbb, általános célú, objektumorientált nyelvek közül választunk, mint amilyen a Java, a C# vagy a Python. Ha valaki nem fél a kihívásoktól és szakmai elismerésre vágyik, akkor megpróbálkozhat még a legendás C++ nyelvvel is. Persze, ez a kérdés azért erősen szubjektív, és minden szakértő egy kicsit más véleményen van erről. Az alábbi cikkben mi ezért most megpróbáljuk bemutatni a legfontosabb mérlegelési szempontokat, miközben végignézzük a programnyelvek népszerűségi rangsorát.

Nincs egy nyelv mind fölött

A programozásban van a jövő, mert egyre jobban összefonódik a munka világával az IT – többek között erről beszéltünk a legutóbbi alkalommal, majd pedig egy bevezetést nyújtottunk a programnyelvek világába. Kitárgyaltuk, hogy mik a legalapvetőbb különbségek, és hogy az újabb generációs nyelvek merre tartanak. Ez alkalommal viszont azt nézzük meg, hogy aktuálisan melyek a legnépszerűbb programozási nyelvek, és hogy vajon kinek melyikkel volna érdemes foglalkoznia.

Hogy melyik nyelv a legfelkapottabb, az önmagában sem egy annyira egyszerű kérdés, de vannak már jól bevált módszertanok ennek a feltérképezésére. Az egyik közismert rangsor ezen a téren a TIOBE Index, ami lényegében azt csinálja, hogy a különféle internetes csatornákat pásztázva összegyűjti, melyik nyelv érdekli leginkább az embereket. Vannak persze még más módszerek is a rangsorállításra, de azok is gyakran ugyanazokat a nyelveket válogatják be a toplistájukba.

Mielőtt rátérnénk a listára, el kell még magyaráznunk egy fontos dolgot. Az, hogy melyik nyelv számít éppen a legmenőbbnek, vagy melyiket használják a legtöbben, még egyáltalán nem jelenti azt, hogy mindenkinek arra kellene ráállnia. A programozás világában nem véletlenül él meg egymás mellett annyi nyelv: egyesek ugyanis sokkal alkalmasabbak bizonyos feladatok elvégzésére, mint mások. De nincs egy nyelv mind fölött.

Alkalmazástól, szakterülettől függ, hogy éppen mely technológiát használják a profik, de igazából még egy-egy konkrét területen belül is lehetnek eltérések. A modern, általános célú nyelvekkel a legtöbb elénk kerülő problémát meg lehet oldani, és valamilyen szinten preferencia kérdése is, hogy melyik nyelvet választjuk. Persze, könnyen előfordulhat olyan eset, hogy az egyik nyelven nagyon egyszerű áthidalni az adott problémát, míg a másikkal órákat kell szöszmötölni.

Az alábbi rangsorra tehát senki ne tekintsen úgy, mint egy dobogóra. Attól még például, hogy a Java a legnépszerűbb nyelv a TIOBE listáján, egyáltalán nem biztos, hogy az a legjobb technológiai választás a számunkra. A nyelvek iránt mutatott munkapiaci keresletet bár feltehetően jól tükrözi ez a rangsor, még ebből sem következik, hogy az első helyen lévő nyelvvel lehetne a legjobb karriert befutni. Sokszor egy-egy speciális vagy új technológia ismerete jóval többet érhet.

Lássuk a rangsort!

A TIOBE legfrissebb, januári listáján továbbra is ugyanazokat a nyelveket látjuk a csúcson, mint a korábbi hónapokban. Sőt, igazából a vezető nyelvek már régóta ott vannak a toppon, de azért néha látni egy-két érdekes trendet.

TIOBE_Index

1. Java

A lista tetején a Java programnyelvet találjuk, amely sok meglepetést igazából nem jelent, mert már nagyon régóta uralja a népszerűségi rangsorokat ez a nyelv. A Java egy platformoktól független, univerzális nyelv, amely a rugalmas és felhasználóbarát természetéből fakadóan ennyire népszerű. Netes applikációk és platformok millióit fejlesztik ezen az objektumorientált nyelven, és ebben egyhamar biztosan nem lesz változás. A Java koncepcióját tekintve egyébként sokat örökölt a C++ nyelvtől, de annál érdemben egyszerűbbnek és valamivel szűkebb körben felhasználhatónak tartják szakmai körökben.

2. C

A rangsor második helyére a C nyelv futott be, amit a TIOBE az év nyelvének választott éppen. Ez a döntésük tulajdonképpen nem meglepő, hiszen annyira feltört ez a klasszikus programozási nyelv, hogy szinte már szorongatja a Java-t. Ez egy igen elgondolkodtató jelenség, amely mögött feltehetően az Internet of Things masszív előretörése bújik meg. Ez a jelenség arról szól, hogy lassan minden kütyüvel szemben elvárás lesz, hogy „okos” legyen és kapcsolódjon az internetre. Az ilyen típusú eszközök programozására pedig kiváló nyelv lehet a C a maga alacsony szintű (értsd: hardverhez közelebbi, vagyis gyors!) képességeivel. Különösen a nagyon rugalmasan meghatározható memóriakezelés az, ami miatt a C egy rendkívül kedvelt nyelv az olyan esetekben, ahol a hatékonyság elsődleges.

3. Python

A harmadik helyen a Python nyelvet találjuk, ami manapság egy sztár nyelvnek számít. Egyrészt azért, mert az egyszerű szintaxisa miatt könnyen tanulható, és rengeteg kezdő programozó választja ezt a nyelvet első afférnak. Másrészt pedig azért, mert a Python mögött könyvtárak és eszköztárak elképesztő sorát találjuk, amelynek köszönhetően ez egy iszonyú erős és sokoldalúan használható nyelvvé vált. Különösen az adattudományokban és az AI területén nagyon népszerű, de emellett még egyszerű szkriptelésre és automatizálásra is remekül használható. A TIOBE egy éve még a Pythont választotta az év nyelvének, ami nem volt véletlen, bár ők akkor is főleg a népszerűségi trendek alapján döntöttek. Mi a Portfolio Prof hasábjain korábban magunk is ezt a nyelvet ajánlottuk azoknak, akik bele szeretnének vágni a programozásba. Ezt az ajánlásunkat pedig máig fenntartjuk, de az alábbiakban azért kiegészítjük még pár további tippel.

4. C++

A negyedik helyre a C++ futott be, amely a C-nek egy továbbfejlesztett, objektumorientált változata. Ez egy hírhedten nehezen tanulható nyelv, de pontosan emiatt presztízsnek is számít az ismerete. A régi motoros programozók között elterjedt nézet volt, hogy egy igazi programozónak ismernie kell ezt a nyelvet. Sőt, azt is mondogatták, hogy a C++ = Fizetés++. Ez utóbbi kifejezés a változók inkrementálására utal, és azt hivatott kifejezni, hogy aki megtanulja a C++-t, az jóval magasabb fizetésre számíthat. Talán máig van is ebben valami, de azért hozzá kell tenni, hogy a C++ programnyelv iránti kereslet visszaesőben van. A népszerűségi trendje lefelé mutat már a 2000-es évek eleje óta. Ettől függetlenül valóban találni olyan típusú speciális állásokat (pénzügyi területen is), ahol kifejezetten a C++ nyelv az elvárás, mert szerveroldali, nagy teljesítményű szoftverek fejlesztésére van szükség.

5. C#

Az ötödik nyelv, amit a listán találunk az a C# (kimondva: C sharp). Ez a nyelv a Microsoft zászlóshajója, amit a .NET keretrendszer mellé találtak ki. Bár elméletileg a C-nyelvcsaládhoz tartozik, valójában sokkal inkább hasonlít a Java-hoz, mint a C/C++ nyelvekhez. Ez utóbbi nem is véletlen, hiszen a C#-ot kifejezetten azzal a szándékkal találta ki a Microsoft, hogy megtörje a Java népszerűségét. Ez egyelőre nem sikerült, de az erős háttér és a .NET keretrendszer nyújtotta temérdek fejlesztői lehetőség nagyon sikeressé tette a C#-ot. Egy nagyon jól használható, általános célú, objektumorientált nyelvről van szó, többalakúsággal, polimorfizmussal, mindennel, ami kell. Könnyebben tanulható, mint a C++, de azért könnyűnek nem nevezhető. A Pythonhoz képest a többség általában nehezebben tud benne elindulni.

GettyImages-488651322

Ez az öt nyelv van tehát most a TIOBE index dobogóján, és még ha idővel át is alakul a sorrend, ezek a nyelvek egyhamar nem fognak eltűnni a technológiai frontvonalról a véleményünk szerint. Jegyezzük azért meg, hogy erre a dobogóra nem került fel több rendkívül népszerű – és a maga területén nagyon hasznos – programnyelv, mint amilyen a netes világban megkerülhetetlennek számító JavaScript vagy a PHP. Hasonlóan nem fért fel a dobogóra az SQL sem, pedig ez a mai adatvezérelt világban elképesztően fontossá vált, hiszen rajta keresztül kommunikálhatunk a relációs adatbázisokkal.

Melyiket válasszuk?

A korábban elmeséltek alapján már nyilván sejthető: nincs egyértelmű válasz arra, hogy melyik programozási nyelvet volna érdemes megtanulnia egy érdeklődőnek. Nagyon sok múlik azon, hogy pontosan mit szeretne csinálni, és milyen környezettel van dolga. Ettől függetlenül általános iránymutatást azért mégis adhatunk: a mai trendek fényében a legjobb választásnak a népszerű, általános célú, objektumorientált nyelvek (OOP) tűnnek. A fentebb idézett TIOBE listán belül igazából a legtöbb nyelv megfelel ennek, de azért ássunk egy kicsit mélyebbre.

Próbáljuk meg kétféleképpen megközelíteni a dolgot: mi van akkor, ha valaki nagy és bonyolult applikációkat akar fejleszteni, és mi lehet a helyes választás akkor, ha inkább különálló problémákat akar megoldani. Méghozzá gyorsan.

1) Ha komoly programot készítenénk

Ebben az első esetben olyan nyelv volna ideális, amely teljesen objektumorientált és emellett még kifejezetten hatékony is. Ilyen esetben a fenti toplistán belül tökéletes választás lehet a C# vagy a Java.

Amennyiben valaki kifejezetten Microsoft környezetben szeretne applikációkat készíteni, akkor érdemes lehet a C# nyelvvel megismerkednie. A Microsoft Visual Studio egy nagyon jól használható, modern felület (úgynevezett IDE: Integrated Development Environment) arra, hogy elkezdjünk programozni. Persze ott sem kizárólag C#-ban programozhatunk, hanem még egy halom másik nyelven is, plusz könnyen kihasználhatóvá válik a .NET keretrendszer minden előnye.

A Budapesti Corvinus Egyetem Gazdaságinformatika szakán az általános célú, objektumorientált nyelvek közül a C#-ot tanítják már évek óta. Ez egy jó és nagyon népszerű választás, de ha valaki mégsem a Microsoft zászlóshajóját választaná, akkor bátran ismerkedjen meg a Java nyelvvel.

2) Ha problémákra keresünk választ

Sokan elfelejtik, hogy a programozás és a szoftvertechnológia egyáltalán nem csak azoknak való, akik nagy és összetett programokat akarnak készíteni. Sőt, egyre gyakoribb az olyan programozó, aki mindig csak egy-egy kisebb-nagyobb problémát akar megoldani. Például le akar automatizálni egy folyamatot, ki akar elemezni egy adattáblát, vagy le akar futtatni néhány regressziót.

Ilyesmit természetesen az előbb említett nyelveken is megcsinálhatunk, de jóval hatékonyabbak leszünk, ha erre inkább mást választunk. Ilyenkor jönnek szóba az úgynevezett szkriptnyelvek, illetve az olyan programnyelvek, amelyek kifejezetten alkalmasak a rövid szkriptek írására. Ez utóbbinak az ékes példája a Python nyelv, amely számos olyan extrával bír, amik nagyon megkönnyíthetik az életünket ilyen helyzetben. A Python egy általános célú programnyelv, de annyira jól használható szkriptelésre, hogy sokan emiatt már egyenesen szkriptnyelvnek tartják. Ez kissé pontatlan, mivel a Python valójában sokkal többet tud más szkriptnyelveknél.

A Pythonon belül játszi könnyedséggel meghívhatunk egy csomó előre kidolgozott eszköztárat, amiért nagyon hálásak leszünk. Így sokkal rövidebb kóddal, sokkal kevesebb idő alatt oldhatjuk majd meg az elénk kerülő problémákat. Közgazdászoknál, kutatóknál, pénzügyi- és adatelemzőknél a Python egy nagyon jó, és viszonylag könnyen tanulható választásnak számít. Pythonban ezen felül természetesen nagyon összetett szoftvertermékeket is elő lehet állítani, meghatározó cégek egész sora használja ezt a nyelvet igen különböző feladatokra. (Google, Instagram, Spotify, Netflix és a többi.)

python-spyder-pelda
A cikk szerzőjének saját Python-os játszótere, a Spyder nevű IDE-ban.

3) Ha kihívás kell

A fentebb említett nyelvek olyanok, amikkel egészen biztosan nem nyúl félre senki, ha időt és energiát fektet a megtanulásukba. A TIOBE ötös toplistáján található további két nyelv, a C és a C++ szintén nagyon meghatározó, erős nyelvek, de ezek előnye már inkább a nagy szoftverhatékonyságot és gyors teljesítményt igénylő területeken jön elő. Ritka manapság, hogy egy tipikus elemzői feladatot valaki C++ nyelven oldjon meg. Ezek inkább olyan technológiák, amelyek kritikus banki rendszerek, operációs rendszerek, vagy éppen komplex számítógépes játékok (lásd például: Unreal Engine) fejlesztésére valók. Arra talán ezek a legjobbak.

A C++ egy kifejezetten nehezen tanulható, összetett nyelv, így kezdő programozóknak csak akkor ajánlható, ha nagyon elszántak és látják előre, hogy az számukra milyen előnyökkel jár majd. A munkaerőpiacon egyébként elismerő tekinteteket lehet vele szerezni, még akkor is, ha egyébként nem lesz rá az adott helyen szükség.

Összefoglalásképpen tehát azt tudjuk tanácsolni, hogy mindenki mérje fel, pontosan mit szeretne elérni a programozással. Milyen területre akar specializálódni, és ahhoz válasszon egy minél rugalmasabban használható nyelvet. Egy programnyelv alapos kiismerése nagyon sok tanulást és még több gyakorlást igényel.

A Python talán annyiban emelkedik ki a fentiek közül, hogy vele hamarabb juthatunk el arra a szintre, hogy valami értelmeset alkossunk, mint a többi említett nyelvvel. De bármelyiket is választjuk, ha megértjük a programozás alapjait, később jóval könnyebben evezhetünk majd át egy másik technológiára. A lényeg, hogy el kell kezdeni.

Portfolio Prof

Tudomány, technológia és társadalom - minden, ami a modern műveltséghez kell.

Hozzászólnál a témához?

Legyél a közösségünk része és kövesd a Portfolio Prof Facebook oldalát!

Koronavírus
Koronavírus
OTP
koronavírus coronavirus virus
Koronavírus Észak-Olaszország
szentendrei hév megálló
Friss hírek TÖBB FRISS HÍR
2020. március 3.
Agrárium 2020
2020. március 5.
Biztosítás 2020
2020. március 10.
Investment, Wealth and Savings (IWS) 2020
2020. március 18.
Lakás Konferencia 2020
Portfolio hírlevél
Ne maradjon le a friss hírekről!
Iratkozzon fel megújult, mobilbarát
hírleveleinkre és járjon mindenki előtt.

Eladó új építésű lakások

Válogass több ezer új lakóparki lakás közül Budán, Pesten, az agglomerációban, vagy vidéken.

Infostart.hu
Tőzsdetanfolyam
Alapoktól a kereskedési, befektetési stratégiákig.
Online előadás
Online előadás a tőzsdei befektetésekről, kezdőknek.
ingatlanközvetítő lakás bemutatás