7 praktische redenen om C# programmeren te leren
Er zijn veel programmeertalen, dus welke moet je kiezen om te leren? Hier zijn verschillende redenen om C#te leren.
met de introductie van het C# job systeem en ECS, pusht Unity wat er met C# gedaan kan worden steeds verder, en de nieuwe Burst compiler maakt het sneller dan ooit tevoren.
2. Het huidige alternatief: JavaScript
Unity ondersteunt ook JavaScript-bekend als UnityScript., Sinds de release, JavaScript heeft gezeten zij-aan-zij met C# als een volledig featured Unity development language. De Unity scripting reference had voorbeeldcode in zowel C# als JavaScript voor de meeste elementen van de bibliotheek.
Dit was handig voor ontwikkelaars die van een JavaScript achtergrond kwamen omdat ze ondanks verschillen in de manier waarop code gestructureerd was, vertrouwde syntaxis konden gebruiken. Er was echter een probleem.
terwijl UnityScript lijkt op JavaScript – – – het is niet. UnityScript heeft klassen, iets wat JavaScript niet heeft., Functies van JavaScript, zoals meerdere variabele declaraties en optionele semi-dubbele punten zijn niet beschikbaar in UnityScript.
misschien wel cruciaal, het zoeken naar JavaScript help bij Unity-projecten heeft altijd verwarring veroorzaakt omdat de meeste mensen het JavaScript noemden in plaats van UnityScript. Resultaten voor zowel webdesign en game-ontwikkeling vervaagd samen, en het verschil tussen de talen was een twistpunt voor pure JavaScript-ontwikkelaars., het is misschien niet verwonderlijk dat Unity aankondigde dat ze de steun voor UnityScript zouden intrekken, en er is nu een tijdlijn om het te ontmantelen. Je kunt JavaScript nog steeds met eenheid gebruiken, maar wetende dat het tot een einde komt, waarom zou je?
3. De oude derde keuze: Boo
In de begindagen van Unity was er de optie om Boo—een Python-achtige taal te gebruiken. Dat is misschien niet verwonderlijk, want Rodrigo B. De Oliveira, de ontwerper van Boo, werkte voor Unity. De taal is compatibel met.net en Mono en zou volledig worden geïmplementeerd met de game-engine. Wat ging er mis?,
niet genoeg mensen gebruikten het, waarschijnlijk aangenomen dat het alleen Python probeerde te imiteren. Na verloop van tijd liet Unity de ondersteuning voor Boo vallen, en de aankomende wijzigingen in UnityScript zullen alle oude Boo-scripts nutteloos maken in Unity. Sommigen zien dit misschien als een gemiste kans, omdat Boo een geweldige poging was om Python-achtige syntaxis voor.net-programmering.
liefhebbers van Python hebben echter een andere optie.
4. De vreemde keuze: IronPython
als je games wilt ontwikkelen, is Python waarschijnlijk niet de taal voor jou, maar het is mogelijk., In zijn Microsoft Developer Community blog, Charlie Calvert schetst hoe Python uit te voeren van C# – – – maar het is niet voor de Bang-hearted. Bijna tien jaar later is IronPython nog in ontwikkeling.
kortom, je moet de IronPython bibliotheken downloaden van GitHub en ze refereren in je C# project. Hiermee kun je Python scripts aanroepen vanuit C# scripts, net als in elke andere bibliotheek. IronPython maakt het ook mogelijk om.net bibliotheken te bellen vanuit Python. Hoe nuttig dit ook klinkt, aangezien Unity afhankelijk is van C# helpt deze functionaliteit niet.,
IronPython – – – en IronRuby, het zusterproject dat C # linkt met de Ruby programmeertaal—zijn fantastische projecten, maar ze zijn niet praktisch voor gebruik met Unity.
5. De interessante keuze: Lua
een van de betere implementaties van een externe taal voor eenheid is MoonSharp—een Lua interpreter. Dit project is niet ontworpen om C# te vervangen als een taal, meer fungeren als een brug. De perfecte use case voor MoonSharp zou zijn om toe te voegen op een manier voor spelers van je spel om het spel mods in de Lua taal te creëren.,
u kunt het ook gebruiken om objecten en ontwerpniveaus afzonderlijk van uw kernspelcode te beschrijven.
Als u al codeert in C# en op zoek bent naar een interessante manier om met uw code te communiceren, is MoonSharp de moeite waard. Omdat het gratis beschikbaar is op Unity ‘ s Asset store, kunt u het direct importeren in uw projecten.
6. Beste taal voor Plugins: C/C++
ondanks de robuuste Unity library en alle beschikbare tools die C# geeft, wilt u soms uw eigen plugins., De belangrijkste redenen waarom mensen kiezen voor plugins zijn snelheid, of toegang tot een codebase al geschreven in een andere taal. Het bouwen van deze scripts in DLL plugins bespaart remakingcode en kan de prestaties in sommige gevallen te verbeteren.
in de meeste gevallen zal C++ de taal zijn die gebruikt wordt voor het maken van plugins, maar C zou net zo goed werken. Zolang de code in een DLL wordt ingebouwd, kan het in Unity ‘ s plugin map worden geplaatst en in code worden verwezen. De kans is echter, als je al comfortabel coderen in C/C++, dat het leren van C# zou een relatief eenvoudige taak!
7., Nieuwe taal voor Plugins: Rust
Rust is een taal met veel buzz eromheen. Ervaren programmeurs houden van het voor de ongelooflijke hoeveelheid controle die het geeft, terwijl het vermijden van de valkuilen van het schrijven in minder veilige talen zoals C++. Rust werd gemaakt door Mozilla in 2009, als een manier voor ontwikkelaars om high-performance software snel te ontwikkelen.
hoewel het niet mogelijk is om Rust in Unity direct te schrijven, kunt u functies en methoden die in Rust geschreven zijn vanuit uw Unity code benaderen. Jim Fleming behandelt hoe het in detail te doen in zijn bericht op Medium.,
als dit bekend lijkt, is dat omdat dit een andere manier is om Native Plugins aan te maken. Door gebruik te maken van Rust ’s vermogen om te communiceren met andere talen, kunt u Rust functies direct bellen vanuit C# code met behulp van Unity’ s dllimport attribuut. Natuurlijk, er zijn verschillende stappen tussen, en het lezen van Jim ’s follow – up post samen met het verkrijgen van een goed begrip van FFI’ s (foreign function interfaces) wordt geadviseerd!
een eenvoudige keuze
Unity ‘ s houding ten opzichte van elke taal die geen C# is, is duidelijk, en de constante verbeteringen aan Unity vertrouwen op deze single-mindedness., Koppel dit met Microsoft ‘ s voortdurende verbetering van C# als een taal, en het leren van C# Voor Unity game development is een no-brainer. En zorg ervoor dat u check out Unity Learn voor een gemakkelijkere manier om spelontwikkeling te leren.
Dit is echter niet uw enige optie, Unity is slechts één engine, en er zijn genoeg opties voor spelontwikkeling om uit te kiezen.
bezoek MUO.,com
gerelateerde onderwerpen
- programmeren
- JavaScript
- Game Development
- C
- Unity
over de auteur
Ian Buckley (203 artikelen gepubliceerd)
Ian Buckley is een freelance journalist, muzikant, performer en video producent woonachtig in Berlijn, Duitsland. Als hij niet schrijft of op het podium, knutselt hij aan doe-het-zelf elektronica of code in de hoop een gekke wetenschapper te worden.
meer van Ian Buckley