A C# története a 90-es évekig nyúlik vissza.
Ezekben az években a Microsoft és a Sun Microsystem kapcsolata pereskedésig fajult.
A jogi procedúra eredménye az lett, hogy a Microsoftnak el kellett távolítania a legnépszerűbb terméke, a Windows operációs rendszereiből a saját Java keretkörnyezetét, hiszen azt saját operációsrendszer-specifikus függvényekkel és szolgáltatásokkal bővítette ki.
Erre azonban nem volt engedélye a Sun Microsystemstől – a Java licensz birtokosától.
Ez az esemény indította be a C Sharp fejlesztését.
De vajon hogyan függ össze a C# a .NET-tel, hogyan kapcsolódik ide a Unity, mi jellemzi a C# alapjait, és mit érdemes tudni a C# programozásról?
C# alapok
Miután a Microsoft eltávolította a Java-t a rendszereiből, saját keretrendszer fejlesztésébe kezdett, ami végül a .NET lett (ejtsd: dotnet).
A .NET keretrendszer egyik programnyelve nem más, mint a C#, ami ma már gyakorlatilag a legelterjedtebb .NET alapú programnyelv, és amit a ma már kisebb legendának számító Anders Hejlsberg és csapata fejlesztett – akkoriban még COOL (C-like Object Oriented Language, avagy C-szerű Objektum Orientált Nyelv) fedőnév alatt. Hejlsberg egyébként a Turbo Pascal eredeti szerzője, illetve a Delphi vezető tervezője.
A keretrendszert és a hozzá tartozó programnyelvet — immáron a hivatalos, ma is ismert nevükön — a 2000-ben megtartott PDC konferencián mutatták be.
A C Sharp (ejtsd: szí-sárp) alapját a fejlesztőcsapat szerint főleg a C++, míg a kritikusok szerint inkább a Java szolgáltatta. Van olyan elmélet is, amely szerint a C# nevében gyakorlatilag a C és a négy pluszjel látható (C++++, hiszen a négy pluszjelet egymásra rakva egy #-t kapunk), ami lényegében a C++ továbbfejlesztett változatát akarja sugallni.
Fontos, hogy a .NET keretrendszer nem egyenlő a C Sharppal, hiszen bár mindkettő a Microsoft webes laboratóriumából került ki, de a C# programozás más keretrendszereken is használható.
Az egyik legnépszerűbb ilyen rendszer a játékfejlesztés egyik legfontosabb motorja, a Unity.
Unity programozás
A Unity a világ jelenlegi legnépszerűbb játékmotorja, ami nem csak a legismertebb játékok, de az új generáció alapját is képezi – többek között például a virtuális valóságét (VR).
Ám nem csak a játékipar épül rá, hanem az építészeti látványtervek vagy a háromdimenziós animációk egy része is ezen a keretrendszeren készül.
Bár a Unity-alapú játékok csak Microsoft Windows vagy Mac OS X operációs rendszereken fejleszthetőek, de az így elkészült videojátékok a Windows és Mac OS operációs rendszereken kívül többek Xbox, PlayStation, Wii, iPad iPhone és Android rendszereken is futnak.
A Unity több olyan díjat is nyert, amelyek fejlesztői körökben igen nagy presztízsű elismerésnek számítanak, például a Technológiai Innovációs Díjat, de érdemes megemlíteni az Apple Design Awards-on megszerzett második helyet is.
C# programozás
A C Sharp egy igen sokrétű nyelv, ami objektumorientáltságának köszönhetően viszonylag könnyen kezelhető, egyszerű és hatékony. Ezek a tulajdonságok egy kezdő fejlesztő számára is fontosak. Ám mindezek ellenére — ahogy azt majd a “C Sharp megtanulása” részben is írjuk — a kezdőknek nem feltétlenül ajánlott ezzel a programnyelvvel elindulni.
A fizetesek.hu elemzései alapján a C#-ban fejlesztők átlagéletkora 32 év, a fizetéseket illetően pedig összességében a 90. helyen áll – minden szakmát tekintve.
Cikkünk írásakor az átlagfizetés körülbelül 400 és 800 ezer forint közé tehető. Természetesen a spektrum egyik oldalán a junior fejlesztők, míg a másik oldalán a senior programozók találhatók. A nagyobb képet tekintve a .NET fejlesztők általánosságban ennél egy kicsit többet vihetnek haza, az ő fizetésük 450 és 950 ezer forint közé tehető, bár ez természetesen a szaktudástól is erőteljesen függ, hiszen egy C#-pal dolgozó webfejlesztő jóval kevesebbet keres, mint egy szoftvermérnök, aki ugyanezt a programnyelvet használja.
Sajnos az adatok azt mutatják, hogy a nők aránya a zéróhoz tendál a C Sharp fejlesztők körében.
Ennek az egyik fő oka nem más, mint az a tény, hogy a C# kurzusok sokkal ritkábbak, mint például a webfejlesztői (pl.: HTML és CSS) tanfolyamok.
C Sharp megtanulása
Bár a .NET-alapú programnyelv viszonylag könnyen kezelhető, de a különböző webfejlesztő nyelvekhez képest a C Sharp megtanulása mégis jóval lassabb. Egyéntől függően akár több évre is szükség lehet ahhoz, hogy C# fejlesztőként egy kezdő el tudjon helyezkedni a munkapiacon a fentebb említett junior fizetésért.
Amennyiben viszont egy szakmabeli már rendelkezik programozói háttérrel, akkor a tanulási idő jelentősen lerövidül, és néhány hónap alatt könnyen elsajátíthatja az objektumorientált programnyelvet.
A C# mindezzel együtt is egy viszonylag egyszerű, de lassan elsajátítható programnyelvnek számít, ezért aki még teljesen új ebben a világban, annak nem biztos, hogy a megfelelő választás.
Azoknak viszont, akik mégis emelett teszik le a voksukat, jó hír lehet, hogy a Microsoft eszközkönyvtárát szabadon felhasználhatják a webfejlesztéshez – így akár webes alkalmazások vagy weboldalak is fejleszthetőek vele.