Melyik programozási nyelvet válasszam 2021-ben ?
Ez a legfontosabb kérdés amivel kezdőként szembesül az ember, nehéz eldönteni hogy milyen irányba kezdjen el tanulni mi az ami később majd megfelelő megélhetést biztosít.
Különösen nagy probléma, hogy manapság nagyon nagyon sok lehetőséget lát az ember maga előtt, és pont a lehetőségek sokasága miatt úgy érzi, hogy rosszul fog választani.
Nézzük mi alapján érdemes eldönteni, hogy merre induljunk, természetesen mindenki sok pénzt szeretne keresni, nézzük mi az amivel biztosítva van ez. Közben azért arra is figyeljünk, hogy ne legyen nehéz megtanulni
Alapvetően három fő irány van jelenleg, a web - backend - és a mobile, ezekből koncentráljuk a két legnagyobbra a web és backend-re.
Nézzük a Backend-et elsőként, milyen lehetőségeink vannak, csak a legnagyobbakat sorolom
- nodejs (javascript)
- php
- python
- .net c#
- java
A backend oldalon a java nyelvet több okból is hanyagolni kell egyrészt nehéz, másrészt inkább nagyvállalati Enterprise környezetekben használják emiatt a JavaEnterpriseEdition kell tudni, ami első nyelvnek/keretrendszernek iszonyat sok, illetve most veszít egy kicsit a népszerűségéből mert megváltoztak a licencelési feltételei.
A node.js-t azért nem javaslom mert új rendszernek minősül és a cégek még kevés helyen kezdték el bevezetni tehát ezzel megelőznéd a korodat, ami munkavállalásnál nem biztos hogy hasznos.
A PHP - dynamic type system, tele security hibákkal - csak a WordPress miatt akarhatod megtanulni :-) - az IDE támogatása sokszor nem megfelelő, gyorsan lépjünk túl rajta, van jobb választás.
Két befutó maradt, Python és a C#
Python
A Python nagyon egyszerü nyelv, könnyen tanulható. Számomra hatalmas hátránya a dynamic type system, illetve meg kell szokni hogy az indentálás alapján megy a kód blokk. Nagy előnye hogy script nyelvként is használható automatizálás ill. devops környezetben.
Munkalehetőség alapján kb 10%-al kevesebb fejlesztői meló van rá mint C#-ra. (Profession IT Programozás fejlesztés kategória: Python:123db vs C#: 139db) - viszont ha a rendszer üzemeltetést is belevesszük, akkor az arány (175 vs 168). Külföldön talán 10%-al jobban fizet mint a C#, de magyarországon ez nem annyira érzékelhető.
A MachineLearning/AI/DeepLearning esetén Python-t használnak.
Nincs Dependency Injection, persze ez azoknak nagy fájdalom akik C#-ból jönnek
C# .Net
A C# statikus tipusú nyelv - type safe, e miatt is nagyon sok kényelmi funkcióval tud segíteni az IDE, sok apró hiba már compile time kiderül.
A Microsoft a legjobb IDE-t építette a .Net keretrendszerhez, ami nagyon durván a fejlesztő keze alá dolgozik, ha egyszer valaki ezt használja, akkor utána nehéz lesz a másikra áttérni mert hiányozni fog.
Maga a nyelv könnyen tanulható, de lehet benne bonyolult absztrakt kódot is írni.
A C# nagy előnye, hogy hasonló a szintakszisa mint a Java vagy a C/C++ nyelveknek, tehát ha ezt megtanulod, a többi ha szükséges könnyü lesz.
Futási sebességben a C# gyorsabb mivel compiled nyelv, a Python interpreteres - viszont emiatt talán a fejlesztés gyorsabb kicsit, mert nem kell a forditásra várni debug közben
Nagyon jó DependencyInjection van.
Windows Desktop (Winforms, WPF) fejlesztés esetén ez az alap nyelv.
Bármelyik nyelvet is választod, a lényeg, hogy nagyon mély tudást szerezz benne, ne állj meg egy közepes szintnél és azt hidd közben, hogy jó vagy.
Web FrontEnd oldalon a legnagyobb keretrendszerek
- React
- Angular
- Vue.js
FrontEnd oldalon a választás könnyű, hiszen minden Javascript/TypeScript alapú, tehát ha Web FrontEnd fejlesztést célzol meg elsődlegesen, és a kérdés az hogy "melyik nyelvet válaszd ?" vagy "melyik programozási nyelvet tanuljam?", akkor JavaScript-et kell tanulnod,
Fontos! A TypeScript-et is meg kell tanulnod! de ne aggódj, az nagyban hasonlít a javascript-re, nem lesz nehéz dolgod.
Miért kell ? Mert a JavaScript nagy nyügjeit kiküszöböli, minőségibb - hiba mentesebb kódot lehet vele írni, ezért sok cég érthető okokból előnyben részesíti. Az angular-t mással nem is lehet használni, a React és a Vue.js megy javascript-el is, de azoknál is terjed a TypeScript-es használat.
Ha bármilyen kérdésed vagy problémád van a fentiekkel kapcsolatban, akkor nyugodtan keress meg az elérhetőségeimen, szívesen megvitatom veled egy ingyenes konzultációs félóra keretében
Üdv
Attila