Szereted a full extrás eszközöket? Legszívesebben mindig első osztályon utaznál? Akkor a programozásban a .NET keretrendszert és a C# programozási nyelvet érdemes választanod. Szilvási Balázs, a PROGmasters .NET fejlesztő tanfolyamának egyik mentora azt is elmondja, hogy miért.
Kezdjük az elején: mi az a .NET és a C#?
A .NET egy általános célú fejlesztési keretrendszer, amelyet a Microsoft a Java megjelenése után kezdett fejleszteni. Kezdetben elsősorban Windows rendszereken futott, de ez az elmúlt években sokat változott; ma már a .NET nyílt forráskódú és valóban platformfüggetlennek mondható. Maga a keretrendszer több programozási nyelvet támogat, amelyek közül az egyik legnépszerűbb a C#.
Mire lehet használni ezt a keretrendszert?
Szinte mindenre: fejleszthetünk benne web-, mobil-, desktop alkalmazásokat, microservice-eket, használhatjuk játék fejlesztésre, gépi tanulás és mesterséges intelligencia programozáshoz, valamint az IoT területén is.
.NET tanfolyam után biztos karrier vár
Miért olyan fontos a .NET-tel kapcsolatban a Microsoft szerepe?
Az open source világban is általában azok a legjobb megoldások, amelyek mögött egy nagy cég áll – hiszen a fejlesztés pénzbe, időbe, energiába kerül. A .NET esetében a Microsoft finanszírozza és irányítja ezt a fejlesztési folyamatot. A cég mindig is nagy hangsúlyt fektetett a fejlesztői élményre: a fejlesztőeszközök a legjobbak közé sorolhatók, nagyon kényelmes bennük dolgozni. A másik fontos szempont, hogy a Microsoft megoldásai nagyon népszerűek. És amíg ezekre lesz igény, addig a .NET is keresett technológia lesz.
Ez azt jelenti, hogy aki egyszer megtanul .NET-ben programozni, annak mindig lesz munkája?
Pontosan. Annak, aki a szoftverfejlesztés területén szeretne karriert befutni, a C# tökéletes választás. Tapasztalt .NET fejlesztőként havonta akár egymillió forintot is lehet keresni, ahogy azt a Hays Salary Guide 2022-es adatai mutatják. De ha valaki később az IT-n belül más irányba szeretne továbblépni, akkor ahhoz is nagyon jó alapot kap.
C# programnyelv vs Java programozás
Milyen a .NET keretrendszer, illetve maga a C# nyelv a Javához viszonyítva?
Nagyon hasonló a két nyelv (és a hozzájuk kapcsolódó két technológia), de persze bőven akadnak különbségek is. Mindkettő nagyon jól dokumentált; számtalan cikk segíti a fejlesztőket, hogy megtalálják a megoldást a felmerülő problémákra. A Stack Overflow-n mindkét technológiával kapcsolatban rengeteg tudásanyagot halmoztak fel. A fejlesztői eszközök is kiforrottak mindkét oldalon. Mindkettő nyílt forráskódú és platformfüggetlen. Mivel azonban ez utóbbi két ismérv a Java-ra régebb óta jellemző, így talán több szabadon felhasználható szoftvercsomag érhető el ehhez a technológiához. De a .NET esetében is bőven van miből választani.
Akkor hogy válasszon a két platform közül az, aki most kezd ismerkedni a programozással?
Az ideális az lenne, ha belekóstolna mindkét világba, és aztán eldöntené, hogy neki éppen melyik tetszik jobban. De véleményem szerint itt nem lehet rosszul dönteni: mindkét technológia keresett, és sok a hasonlóság. Ha az egyik megy, akkor könnyen meg lehet tanulni a másikat is. Vannak cégek például, ahol mindkét technológiát használni kell, mert olyan a projekt. Az egy más kérdés, hogy én magam részéről jobban kedvelem a .NET/C# világot. 2007 óta vagyok az iparban: sok cégénél, sok technológiával volt szerencsém dolgozni; nekem ez jött be, és másoknak is csak javasolni tudom. Számomra olyan ez, mint amikor az ember beleül egy full extrás autóba, és ki se akar szállni belőle, annyira jó vezetni, dolgozni vele.
Van bármilyen nehézség, amivel egy leendő C# programozónak számolnia kell?
Nem több, mint más technológiák esetében. Talán az elindulás. A .NET és a C# ugyanis nagyon sok lehetőséget biztosít, rengeteg dologra lehet használni – de sokat kell tanulni ahhoz, hogy kiismerjük és megfelelően használni tudjuk. Ha azonban az elszántság és kitartás megvan, akkor a többiben mi segítünk. Nagyjából fél év alatt mindent meg tudunk mutatni ahhoz, hogy az emberből junior fejlesztő legyen – onnantól pedig minden az egyéni szorgalom függvénye.