Archief - [PROG][C#] goede keuze?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

MacK

Legacy Member
Hallo,

ik zit dus met het volgende: Ik ben vrij nieuw in de wereld van het programmeren en ben dus alles nog wat aan het leren. Ik volg op school een (basic) cursus java, en thuis hou ik me ook bezig met console-based games te maken in C# (ie mijnenveger, hangman,...) .

Nu, ik amuseer me er wel mee en ik leer er ook nieuwe dingen mee. Maar steeds meer en meer lees ik C++ dit en C++ dat.. het lijkt wel dé taal om games in te programmeren.. Nu, ik ben niet van zin om een de nieuwste 3D shooter te maken of wat dan ook (misschien al eens 4 op een rij in semi-3D, of na/tijdens m'n studies Industrieel ingenieur al eens meewerken aan een mod)... maar het lijkt mij alsof het beter is om C++ te gaan leren ipv C#..
Ook al omdat je met C# precies (ik kan mis zijn) gebonden bent aan het .NET Framework .. Maw dat als je een 'game' wil doorsturen naar een vriend, dan moet die dat framework hebben...

Wat denken jullie dat het beste is? Gewoon verder doen met C# of eerder herbeginnen (nu dat ik nog niet te ver ben gevorderd in m'n C# boek) met C++ ? C# lijkt me ook wat 'makkelijker' dus dat spreekt me ook wel aan..

Plus daarbovenop dat het (imho) zeer goed trekt op java ( wat ik dus MOET kunnen op school. Ik zou niet graag dingen compleet door elkaar gaan gooien op een examen).

PS: ik wil even opmerken dat ik niet alles rap rap rap wil kunnen. Ik besef dat ik nog héél wat moet leren voor ik al wat gevorderde dingen maken..

killgore

Legacy Member
java en c# zijn goed genoeg als je niet naar de pro wereld wilt gaan, voor beginnende games dus. Trouwens, java en C# zijn prachtige talen voor bv. handhelds.

Voor mods zal het echter (indien je src krijgt) wel met c/c++ te doen zijn.

Irtimid2001

Legacy Member
best C leren, dan C++ en/of Java, dan C#.
C is goe om de basis van programmeren door te hebben, enekeer dage daar mee wegzijt -> C++ en/of Java, hier kunde al wa grotere dingen mee doen, en dan pas C#, alhoewel ge na C ook al C# moogt beginnen zelle. 't is gewoon heel handig als ge me C# begint, da ge al C++ en Java gezien hebt (C is absolute must voordage aan C# begint imo).

killgore

Legacy Member
het nut van C leren is zowat 0 tegenwoordig. Leer onmiddelijk c++, als je expliciet c gaat leren ga je te maken met een gehele hoop functies & programmeerwijzen waar je niet veel meer mee bent. En ik weet ook dat c++ ook veel delen van c nog gebruikt, maar dat slaat op de langauge constructs, als je expliciet c gaat leren ga je onnodige geheugen-functies, stream functies, ... zien ;).

Ook is java/c# iets simpeler om aan te leren als beginner (laat ons maar aan geheugenbeheer denken), en stap maken naar C++ gaat vanuit deze talen moeilijker als omgekeerd, maar het is ook goed te doen. Het voordeel van deze "richting" van leren is dat je de basisstructuur op de makkelijke wijze leert en de moeilijkere delen er achteraf bij leert.

Cakeman

Legacy Member
Irtimid2001 zei:
best C leren, dan C++ en/of Java, dan C#.
C is goe om de basis van programmeren door te hebben, enekeer dage daar mee wegzijt -> C++ en/of Java, hier kunde al wa grotere dingen mee doen, en dan pas C#, alhoewel ge na C ook al C# moogt beginnen zelle. 't is gewoon heel handig als ge me C# begint, da ge al C++ en Java gezien hebt (C is absolute must voordage aan C# begint imo).
Sorry, maar dat vind ik zever.

Begin toch gewoon met C#! Ik zie echt niet in waarom iemand met een oude taal zou beginnen als hij toch al weet dat hij bij C# wilt uitkomen. Dat doet me denken aan hoe ze ons op school xHTML wilden leren: eerst HTML, daarna CSS en dan xHTML. Jongens jongens, wat een tijdverspilling. In plaats van ons gewoon xHTML + CSS te leren. Nee, eerst spenderen ze weken aan de <font> tags om daarna doodleuk te zeggen "Dat is slecht, nu leren we het goed". Een geluk dat ik dat allemaal al kende, anders was het nooit goed gekomen :)

C# is trouwens uitstekend om de basis van OO programming aan te leren denk ik.

Irtimid2001

Legacy Member
mja, da's hoe ge het bekijkt, ik heb 2jaar geleden gewoon C gehad en nadien C++ en nu zelfstudie C# voor mijn eindwerk en doorda'k C gekregen heb is alles echt wel stukken gemakkelijker gegaan. Ksnap u mening wel en 'k geef u geen ongelijk eh, is gewoon een manier van oe ge't bekijkt. Em kan perfect me C++ beginnen, ma voorkennis van C is wel handig.
edit: (C is absolute must voordage aan C# begint imo) was mss wa overdreven idd :)

M0rpheus

Legacy Member
C# is op deze moment dé MS-community taal bij uitstek, zit je dus zeker niet verkeerd mee..
Of het de beste taal is om games te schrijven? Waar schijnlijk niet..

Vich

Legacy Member
Ik sluit me bij Killgore aan. C# is goed genoeg als je geen prof. games wil maken.
[edit] Ik ben er zelfs van overtuigd dat je ook met C# prof. games kan maken. Het enige punt is gewoon de performantie, die ligt nét niet zo hoog als die van C++, maar die is zeker niet slecht!

Emerxill

Legacy Member
Vich zei:
Ik sluit me bij Killgore aan. C# is goed genoeg als je geen prof. games wil maken.
[edit] Ik ben er zelfs van overtuigd dat je ook met C# prof. games kan maken. Het enige punt is gewoon de performantie, die ligt nét niet zo hoog als die van C++, maar die is zeker niet slecht!
Nog niet, toen men "back in the old days" nog (bijna) allemaal de games in C maakten waren ze ook met C++ aant lachen dat het veel te traag was.
Achteraf is iedereen en masse overschakeld naar C++ omdat de snellere pc's dit toelieten (en wrsch omdat der een beke aan C++ gesleuteld was)
Ik las in een artikel dat java nu hetzelfde aant ondergaan is en dat java/C# binnen x-aantal jaren de taal gaat worden voor games. Nu zover wil ik zelf ni gaan om te zeggen dat dit zo zal zijn, maar men weet maar nooit... :)

Dus zou ik zeggen aan de threadstarter: gebruik gewoon C# als deze taal u ligt. Voor het soort games dat ge gaat schrijven zult ge nieveel performance problemen hebben vermoed ik :)

dJeez

Legacy Member

Vich

Legacy Member
Emerxill zei:
Nog niet, toen men "back in the old days" nog (bijna) allemaal de games in C maakten waren ze ook met C++ aant lachen dat het veel te traag was. Achteraf is iedereen en masse overschakeld naar C++ omdat de snellere pc's dit toelieten (en wrsch omdat der een beke aan C++ gesleuteld was)
C++ is nu even snel of zelfs sneller dan C, omdat de compiler er nu voor geoptimaliseerd is. Dat was vroeger niet het geval.
C# darentegen heeft (nog) geen native compiler, alles is in bytecode met een virtual machine, dáárom is C# trager en gaat de vergelijking C++/C# en C/C++ niet op. Zolang C# niet in native code compiled zal deze nooit zo snel als C of C++ kunnen zijn, maar C++ kon tov C wél sneller worden omdat deze altijd native gecompileerd werd, enkel de compiler was niet geoptimized.

Ik las in een artikel dat java nu hetzelfde aant ondergaan is en dat java/C# binnen x-aantal jaren de taal gaat worden voor games. Nu zover wil ik zelf ni gaan om te zeggen dat dit zo zal zijn, maar men weet maar nooit... :)
Er bestaan nu native compilers voor Java ja.

Dus zou ik zeggen aan de threadstarter: gebruik gewoon C# als deze taal u ligt. Voor het soort games dat ge gaat schrijven zult ge nieveel performance problemen hebben vermoed ik :)
Klopt

MacK

Legacy Member
Hoi , ik ( de threadstarter) nog eens. Ik blijf weldegelijk bij C# hoor.

Heb zelf al m'n volgend boek besteld voor kerstmis ( het vorige had ik eigenlijk gekocht zonder reviews en valt een beetje tegen omwille van foute code, lay-out problemen, etc..).
Zoals jullie zeggen, zal C# ruim voldoende zijn voor wat ik maar zal bereiken met programmeren. Het blijft immers maar een hobby, en zal wrsch niet verder gaan..

Maar nu ben ik even gewoon nieuwsgierig geworden door de discussie hierboven over de performance en dergelijke. Ik vroeg me af wat jullie nu eigenlijk bedoelen met die 'native compiler' die C++ gebruikt en die bytecode met virtualmachine van C# .

Gewoon even ruw uitleggen hé, een wetenschappelijk document van x aantal pagina's zie ik al genoeg in deze tijd van examen-blok.

dJeez

Legacy Member
Een native compiler zorgt ervoor dat de broncode wordt omgezet in machinecode die rechtstreeks door de CPU die in je computer steekt kan uitgevoerd worden.

Bij bytecode die op een virtual machine (of dat nu .NET, Java of een andere taal is maakt weinig uit) draait moet er eerst nog een vertaling plaatsvinden van die bytecode voor ze effectief uitvoerbaar is op de CPU. Soms wordt deze bytecode trouwens ook omgezet in native code en dan pas uitgevoerd, in dat geval spreekt men ook wel over Just-In-Time (JIT) compilers. Eigenlijk is die virtual machine dus een virtuele CPU met instructies die nogmaals vertaald moeten worden om op de CPU die in de computer steekt te kunnen draaien.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan