Publikálva:
2016.02.24.

Ha tarolni akarsz - ezeket a programnyelveket tanuld meg 2016-ban

Tudni szeretnéd milyen programozási nyelveket érdemes megtanulni? 2016-ban ezek voltak a legkeresettebbek: C, a C++, a Java, a HTML, a Python és a JavaScript

Nem árulunk el nagy titkot, ha azt mondjuk: ma is a C, a C++, a Java, a HTML, a Python és a JavaScript adja az IT szektor fejlesztéseinek gerincét. Ám ha meg akarod őrizni a szavatosságod fejlesztőként, nem árt, ha újabb skillekkel vértezed fel magad. Nézz körül, tanulj meg új programozási nyelveket - a Green Fox Academy elsőre kissé egzotikusnak tűnő ajánlója ehhez nyújt segítséget. Varga Balázs, Digital Natives oszlopos tagja és egyben a Green Fox mentora pedig hozzáteszi a magáét.

Swift

Kezdő és haladó appfejlesztőknek

A Swift-et 2014-ben mutatták be az Apple fejlesztői világkonferencián - és a tapasztalat azt mutatja, hogy amit a WWDC-n dobnak be a közösbe, az garantáltan sikeres és eredményes programozási nyelvnek bizonyul. Az Apple szerint a Swift a Python és a Ruby legjobb részeit ötvözi a modern programozási alapokkal, és ettől válik igazán hatékonnyá és szórakoztatóvá. Ha azt tervezted, hogy Objective C-t tanulsz, hogy aztán iOS vagy OS X appokat fejlessz, ne fáradj. Amire szükséged van a továbblépésre, az a Swift, a maga elegáns, tömör, egyszerű megoldásaival. Külön kiemeljük a Playgrounds nevű feature-t, melynek segítségével könnyebb lehet a programozás tanítása olyanok számára, akik még sosem tették korábban.

 Mit mond a mentor?

Az egyik legígéretesebb modern programozási nyelv, amiben végre nincs null érték és biztonságos a memóriakezelés a szemetgyűjtő költsége nélkül.

Varga Balázs, a Green Fox Academy mentora

Elixir

Egyszerű gyógyír

Gyors karriert futott be az Elixir, mely a funkcionális nyelvek táborát erősíti. Az Erlang virtuális gépére épül, ami erősen párhuzamos, elosztott és hibatűrő alkalmazások építését teszi lehetővé. Szinte villám gyorsasággal készült el a nyelv első stabil változata, ami annak is köszönhető, hogy - akárcsak pl. a Scala a Java, és az F# a C# - úgy az Elixir is hasznosítani tudta egy másik nyelv, az Erlang már meglévő infrastruktúráját. Így kis túlzással azt is lehet mondani, hogy "csak" egy nyelvi front-endet kellett a készítőknek fejleszteniük. Ám az Elixir az Erlanggal ellentétben makró-alapú metaprogramozásra, illetve egy speciális koncepció, az úgynevezett protokollok segítségével polimorfizmus kialakítására is lehetőséget ad. Az Elixir támogatja a Unicode kódlap használatát, és specifikációjának részét képezi a programok öndokumentálását lehetővé tevő jelölő formátum is.

Mit mond a mentor?

A webalkalmazások sok tekintetben hasonlítanak arra a telefonközpont architektúrára, aminek kihívásaira az Erlangot készítették. Egy kiforrott technológiát használhatunk egyszerűbb szintaxissal, aktív közösség támogatásával.”

Elm

Nem rémálom

Az Elm öt éve jelent meg először a funkcionális programnyelvek palettáján, és azóta is folyamatos fejlesztés alatt áll. Segítségével deklaratívan készíthetők böngészőben futtatható grafikus alkalmazások. Az Elm alapja a Funkcionális Reaktív Programozás (FRP), ami azt teszi lehetővé, hogy mellékhatás és állapot nélküli függvényekkel tudjunk időben változó programokat leírni. A nyelv megalkotásánál tömörségre és az egyszerűségre törekedtek, így viszonylag kevés szintaktikus elemmel rendelkezik, emellett a szintaxisa nagyban hasonlít a Haskell nyelvére.

A nyelvhez tartozik egy webszerver (elm-server), ami a forráskönyvtárból elindítva egy webes felületet ad a programunkhoz, illetve egy fordító (elm), ami JavaScript és HTML kódot generál a programunkból.

Mit mond a mentor?

Az időutazó debugger a nyelv egyik különlegessége. A Javascript-nél nagyságrendekkel hatékonyabban készíthetőek alkalmazások a böngészőkre, nincsenek többé véletlenszerű futásidejű hibák.

Julia

A legjobb barátnőd

Ha fontos számodra az egyszerű szintaxis, lefogadjuk, hogy egyike vagy a lelkes pythonozók népes táborának. Ha nem vadonatúj a szerelem, akkor már azzal is biztosan tisztában vagy, hogy bár a Pythonnak rengeteg erénye van, a gyorsaság nem tartozik közéjük. A lassúság pedig komoly fejtörést okoz, hogyha nagy adathalmazokat kell feldolgoznod. Gyorsítanál? Megteheted, hogy a főbb rutinokat C-ben írod meg. Ennek viszont az a hátulütője, hogy a két nyelven írt szoftvert nehéz továbbfejleszteni vagy kijavítani a hibákat. És ekkor jön a képbe új barátnőd, Julia. A fejlesztők addig gyúrták a Python szintaxisát, míg futtatható nem lett a háttérben. Az eredmény egy erős interfész motor, ami segít a gyorsabb futtatásban, ugyanakkor élvezheted a metaprogramozást is, mert a nyelv flexibilis a bővítésekre. A Julia egyszerű mechanizmusai szintén figyelemreméltóak: képes ugyanis paralell algoritmusok kiosztására klaszteren. A legnagyobb élményt a Julia gyorsasága jelenti. Azt mondják, a benchmark tesztek harmincszor gyorsabban is futnak, mint Pythonon.

Mit mond a mentor?

Matematikai és jelfeldolgozási feladatok elosztott elvégzésében kevés ellenfele akad. Speciális eszköz egy meghatározott problémakörhöz.

Scala

A Java jövője?

Az előző programozási nyelvekhez képest veteránnak számító Scala-t sokan a Java utódjának is mondják. Neve a Scalable Language rövidítéséből ered, ami azt hivatott kifejezni, hogy a nyelv a felhasználójával együtt növekszik. Ha akarjuk, egy szkriptnyelvhez hasonlóan egysoros kifejezésekkel játszhatunk, de használhatjuk olyan kritikus rendszerek építéséhez is, mint a Twitter, vagy a LinkedIn. Praktikus, tömör nyelv, ami valós alternatívát nyújt a fejlesztések felgyorsítására. A Scala objektum-orientált nyelv, mert minden érték objektum, az objektumok típusát és viselkedését osztályokkal írjuk le. Ugyanakkor funkcionális nyelv is, mert minden függvény érték, magasabb-rendű függvényeink is vannak és a mintaillesztés is támogatott. Java bytecode-ra fordul, a Java virtuális gépen fut, ám a Scala szintaktikailag rugalmasabb, nincs szükség például az utasítások végén pontosvesszőkre, bármely metódus infix operátorként is használható, az osztályok tagváltozói pedig transzparens módon getter-setter metódusokként is működnek.

Mit mond a mentor?

Bár a válogatásba bekerült a Scala és elég nagy rajongótáborral rendelkezik, sajnos én nem tudom őszintén ajánlani… :)

Rust

Rozsdamentes rendszerprogramozás

Bár a Rust már korábban megszületett, a nagyközönség elé csak 2010-ben lépett, amikor a Mozilla felkarolta. Bár nem könyvelhetett el olyan gyors sikereket mint a Facebook üdvöskéje, a Hack, vagy a Google Go, az utóbbi hónapokban igencsak megnőtt a Rust userek száma a világban. Az alapvetően C-re és C++-ra építő, statikusan típusos és fordított programozási nyelvnek számító Rust egyre kedveltebb a fejlesztők körében. A hangsúly a típushelyességen, memóriakezelésen, párhuzamosságon és a teljesítményen van. A Rust összetett memória modellt alkalmaz, ami lehetővé teszi a hatékony adatszerkezetek és biztonságos konkurens minták használatát, illetve tiltja az érvénytelen memória hozzáféréseket, melyek szegmentációs hibákhoz vezethetnek. Rendszerprogramozásra tervezték.

Mit mond a mentor?

A legkényelmesebb és az egyik legbiztonságosabb modern rendszerprogramozási nyelv. Aktív és barátságos közösség van a nyelv körül, a kezdőknek szívesen segítenek.

Go

Ma is menő

2009-ben jelent meg a Google kísérleti programozási nyelve, a Go, melyet elsősorban rendszerprogramozásra szántak megalkotói. A Go előnye a gyors és egyszerű fordítás, a több magon futóképes programok és a jó olvashatóság. Emellett megpróbálja az interpretált nyelvek kényelmét nyújtani gépi kódra fordítva, tehát jó teljesítménnyel. Sikerét jól mutatja, hogy a BBC, a SoundCloud, a Facebook de a brit kormány hivatalos weboldala is a lelkes felhasználói között tudhatók. Gyorsabban, egyszerűbben megtanulható, mint a C++ és a Java, mégis ugyanazt tudja nyújtani, ha jól bánunk vele.

Mit mond a mentor?

Előnye, hogy faék egyszerűségű, cserébe szinte mindent magunknak kell implementálni (vagy támogatás nélküli csomagokat használni). A fejlesztői támogatása viszont példaértékű, a külső segédprogramok nagyban megkönnyítik a mindennapi munkát.

Tovább olvasnál?