Archief - [PROG] welke programeertaal beste leren?

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.

killer bel

Legacy Member
ik ben van plan om een programeertaal zoasl C#, C++ of J# te leren, maar ik heb geen flauw benul in welke het de toekomst ligt. Ik heb al op het internet gezocht en kom heel veel tutorials tegen van C++ maar niet C# van J# vind ik al bijna helemaal niets. Nu dat maakt niet uit omdat ik waarschijnlijk toch een boek zal kopen.
Ik heb al enige ervaring met andere talen PHP, HTML, CSS( geen echte programeertaal maar kom) en een beetje VS. NET maar dat krijg ik op school en steld niets voor.

De bedoeling is dat ik na enige tijd, (een jaar?) een eenvoudig spelletje kan ineensteken zoals pong of zelfs tetris.

Mvg,

killerbel

killgore

Legacy Member
aangezien je vs.net niets voorstelt heb je dus enkel programmeerervaring met php (wat eigenlijk geen volwaardige programmeertaal is, maar een scripttaal, het verschil ligt hem in het compilen). HTML en CSS zijn make-up talen en zeker geen programmeertalen :).

Best leren? Ik denk dat dit voor een amateur er van afhangt wat je wilt doen. Is het je bedoeling om gewone applicaties te gaan ontwerpen, dan ben je denk ik het best af met java of C#, die zijn op dat vlak imho beste programmeertalen atm.
Wil je echter meer naar gamedev vlak gaan (en dat moet dan niet je eigen game maken zijn, modden e.d. hoort hier ook bij) dan ben je veel meer met C++ wat daar voorlopig nog de plak zwaait (zal wrsch ooit wel meer overgaan naar java of C# of een nog betere variant, maar atm blijft c++ nog mooi mainstream taal voor pc-games).

Ook, eigenlijk doet het er niet zoveel toe welke je leert, als je binnen deze talencategorie blijft (codebased-talen) is het aanleren van een variant echt niet zo moeilijk. Als je C++ kent kan je imho relatief makkelijk c# of java aanleren (en omgekeerd wrsch ook), je moet gewoon even wennen aan de zwaarste aanpassingen/nieuwigheden.

met codebased talen bedoel ik structuren als:
Code:
if(expressie)
{
/// code
}

vb. van een ander soort taal:
Code:
if expressie
#code
endif

Ik weet dat hier specifieke namen voor zijn maar ben nogal slecht in de theoretische kennis over zulke zaken :p.

sh1b

Legacy Member
Ik ben ook nog maar juist begonnen met programmeren. Ik ben begonnen met C nu.

Ik had dit ook eerst gevraagd op een forum, en toen raadden ze me aan om met Visual Basic te beginnen. Het zou makkelijker zijn om met VB te beginnen omdat het 'leesbaarder' is.

Nu, een paar verschillen tussen VB of C/C++ zijn:

- VB = leesbaarder
- C = kladblok, VB = editor
- Met C heb je veel meer mogelijkheden
- Als je C leert kan je later nog altijd makkelijk overstappen naar C++

Een vriend van mij leert VB.net, en als ik stukken code zie van hem ziet het er inderdaad 'leesbaarder' uit. 'k Weet eigenlijk niet waarom, maar ik wou gewoon met C beginnen :)

killgore

Legacy Member
@hierboven: vb is zo een taal die niet op tekentjes werkt. Dit ziet er in het begin idd leesbaarder uit :). Echter, zodra je de layout van andere talen gewoon bent leest dit even vlot als vb. Meestal lees je niet meer je statements, je leest gewoon wat de code uitvoert :p, je ziet het ahw voor je :).

Ikzelf ben nooit voorstander geweest van vb als "volwaardige" programmeertaal (ik gebruik het liever in asp & macrotoestanden). Simpelweg omdat dat ietsje te ver naar de ingesteldheid gaat die uiteindelijk zorgt voor de meeste problemen met huidige programmas: lazy programming (je er gauw van afmaken, merk het verschil met efficiënte hulptools zoals auto-aanvullen ;)). Ook denk ik dat de overstap van vb naar een "volwaardige" programmeertaal veel moeilijker is als omgekeerd (omdat vb je nu juist zoveel makkelijke oplossingen geeft).

killer bel

Legacy Member
@ killgore: ik dacht dat het een verschil was met met woorden en met tekens, (heb je ook met ASP en PHP, asp -> meer woorden, php -> veel tekens en dus moeilijk leesbaar voor een buitenstaander )

dus uit je commentaar lees ik af dat C++ beter bij mij past, maar ik heb ook wat opzoekwerk gedaan en heb ergens gelezen dat C++ in verval is en je op dit moment beter C# kunt leren omdat je daar meer mee bent in de toekomst. Alléé ik weet het zelf ook niet daarom vraag ik het hier.
Ik denk dat ik beter C++ kan gaan leren en dan mss nog overstappen naar C# als C++ inderdaad in verval is

sh1b

Legacy Member
killgore zei:
Ook denk ik dat de overstap van vb naar een "volwaardige" programmeertaal veel moeilijker is als omgekeerd (omdat vb je nu juist zoveel makkelijke oplossingen geeft).

Dat denk ik ook :)

Ik heb ook al redelijk wat ervaring met PHP, en tot nu toe kan ik toch alles goed volgen in het boek waarin ik C leer :p

Ik denk dus dat ge beter met C of C++ begint :)

killgore

Legacy Member
killer bel zei:
@ killgore: ik dacht dat het een verschil was met met woorden en met tekens, (heb je ook met ASP en PHP, asp -> meer woorden, php -> veel tekens en dus moeilijk leesbaar voor een buitenstaander )

dus uit je commentaar lees ik af dat C++ beter bij mij past, maar ik heb ook wat opzoekwerk gedaan en heb ergens gelezen dat C++ in verval is en je op dit moment beter C# kunt leren omdat je daar meer mee bent in de toekomst. Alléé ik weet het zelf ook niet daarom vraag ik het hier.
Ik denk dat ik beter C++ kan gaan leren en dan mss nog overstappen naar C# als C++ inderdaad in verval is
zoals ek zei: op het vlak van gewone applicaties heeft imho C# (en java ook) de bovenhand gehaald, imho ook terecht :). Aan universiteiten geven ze bij mijn weten ook voornamelijk java en/of C#. Het voordeel van C# en java is dat ze enkele van de moeilijkere problemen van C++ (en aanverwanten) wegnemen zonder dat je er beperkingen door krijgt (garbage collection). Dit echter op zo een manier dat de programmeur nog altijd de baas blijft (en niet zoals vb dat imho meer draait rond de machine eventjes een een blueprint geven waar hij dan iets mee maakt).

C++ is in gameindustrie vooral nog populair omdat er reeds zoveel materiaal voorhanden is (anders moet men dit gaan omzetten naar nieuwe prog.-taal) en omdat het nog altijd sneller is als java en C#. (en kom niet af met benchmarks van javaprogs native gecompilet, ik weet ook dat die op BEPAALDE vlakken soms zelfs c++ programmas nipt verslaan, in het alg. komt het er echter nog steeds trager uit, tenzij ik een hoop benchmarks heb gemist laatste tijd :p).

Da Turtle

Legacy Member
VB mag nu nog leesbaarder zijn, maar ik zie mij daar niet makkelijk een Tetris kloontje in maken, kzou nie weten hoe je daar met loop enal werkt :confused:. Als je dit soort zaken wil doen zal da waarschijnlijk nog makkelijker lukken met C# of Java, als je verder wil in gamedev zal je wel moeten overstappen naar C / C++, maar als je gewoon een programmeertaal wil leren om app te maken en eventueel wa mini-games, hou je je beter bij C# of Java imo. Hoewel het leren van C je waarschijnlijk wel beter bekend maakt met geheugen (pointers).

blaatschaap

Legacy Member
C# zouek zeggen
als ge da kent ist makkelijk overstappen naar ander talen
en kvind c# ook vrij goed kwa oo enzo

killer bel

Legacy Member
ik denk dat ik toch maar C++ ga leren omdat dat beter voor minigames is enz..
T'is een hobby en het lijkt me onwaarschijnlijk dat je in je vrije tijd applicaties begint te maken. (hoewel ik het wel graag zou kunnen).

welke editor kan je daar het beste voor gebruiken? lijkt me logisch dat ik visual studio.net gebruik, maar zijn er nog betere/ gemakkelijkere om mee te beginnen? want ik heb de omgeving al eens verkent van een C++ aplicatie en ik zie dat er een heleboel code staat, niet echt overzichtelijk voor een beginner die het wil leren dus...

Tyfius

Legacy Member
C# is zeker de toekomsttaal. Verschillende nieuwe webapplicaties worden daarin ontwikkeld (en hiermee bedoel ik de back-end, niet wa je ziet als je aan het surfen bent). Er zijn inderdaad misschien nog niet veel en goede tutorials, maar C# is een vrijwel nieuwe taal (3-4 jaar ongeveer) en mits een beetje zoeken kom je er toch een aantal tegen.
Ik zou eerder ook eens de lokale/stedelijke bibliotheek uitpluizen naar een goed boek omtrent C#, daar ik van mening ben dat de weinige C# tutorials op het net niet echt voor een beginneling zijn geschreven.
Ik kan niet direct op een naam komen, maar je kan alleen maar leren door verschillende aspecten en mogelijkheden van een taal te bestuderen. Als je bib hieromtrent 5 boeken heeft, leen ze allemaal even, je kennis kan er alleen maar op vooruitgaan.

Op zich is C# niet zo een moeilijke taal, de syntax is zeer eenvoudig en leer je naargelang je temp zeker op een weekje, en zou je in staat moeten zijn eenvoudige console based applicaties te maken.
Voor het zwaardere werk, en een GUI rond je applicatie ga je natuurlijk wat langer bezig zijn. Vooral het OO leren denken en het onder de knie krijgen van windows.forms (alhoewel ik eerder de cross platform GTK# api aanraadt) vergt wat inspanning, en daar raken heel wat beginnelingen al snel in verloren.

Tyfius

Legacy Member
VS.NET is in mijn ogen een van de betere omgevingen om C++ in te schrijven. Maar maak misschien even de gewoonte om een blanco project aan te maken, of een win32 DOS project ipv een GUI project. Het zal je code al een stuk vergemakkelijken, en de beter boeken (C++ grand cru bevoorbeeld) behandelen alleen het console gedeelte van C++, aangezien een api niet altijd volledig cross platform is.

killgore

Legacy Member
GUI gedeelte van de vs.net vo C++ is ofwel mfc, which sucks, ofwel c++.net, en in da laatste geval kunde beter C# gaan leren ;).

Vs(.net) is geweldige omgeving imho :), enkel wa duur :(.

betere gratis alternatief: dev-cpp

Hale

Legacy Member
kies java of C#. C++ is een pak moeilijker voor een beginnend iemand en biedt geen onmiddelijke voordelen ( buiten snelheid ).

Het probleem met C++ is dat het enorm veel ( in mijn ogen, en samen met mij heel de academische wereld, teveel ) vrijheid biedt aan de programmeur. Java en C# leggen veel meer een programmeer visie op.

enkele voorbeeldjes waar C++ veel vrijheid biedt ( of de burden gewoon doorschuift naar de programmeur ) :

keuze tussen referentie semantiek en waarde semantiek,
garbage collection die ontbreekt,
headers maken en includen,
keuze tussen call by value en call by reference,
waarden worden met garbage "geïnit",
etc.

Voor een beginner veel te veel crap om je mee bezig te houden. Waardoor je al snel het bos niet meer door de bomen ziet.
Java en C# laten je die vrijheid niet en leggen zelf een keuze op ( bv. in java heb je alleen call by value bij methode oproepen ). Op die manier kan je je veel meer bezig houden met het eigenlijke denk proces dat bij het maken van software erg belangrijk is, en minder met low level details. ( en in 99% van de gevallen doe je in C++ toch hetzelfde als wat java of C# je oplegt ).

Asshen

Legacy Member
Ik zou zeggen C#.
Echt een prachttaal :)
En is ook reeds gedeeltelijk cross-platform (Linux) via het mono project.

Omtrent de dure VS.Net editor: in feite is de compiler zelf gratis, maar het is de IDE (VS.Net dus) die te betalen is. Gelukkig bestaat er minstens 1 gratis IDE voor C#, www.sharpdevelop.org

Groeten

Cakeman

Legacy Member
Als je voor C# gaat, kan ik je in elk geval deze boeken aanraden:
- Programming C#
- Windows Form Programming in C#

Het eerste boek zal je een goed inzicht geven in de syntax van C#. Daarnaast leer je ook werken met de verschillende technieken zoals arrays, classes, indexers, lists, delegates, interfaces, polymorphisme, ...
Het tweede boek gaat over WinForms. Dit boek heeft mij echt verrast. Er staan echt heel veel tips in om applicaties te optimaliseren enzo. Als je met forms wil werken is dit echt een dikke aanrader.

Psychokillah

Legacy Member
Een programmeertaal leren is in het begin gewoon een kwestie van persoonlijke smaak. Want simple programmaatjes schrijven (we kennen allemaal wel Hello world) gaat in de meeste programmeertalen mits een kleine aanpassing van syntax op volledig dezelfde manier.

Het is dus belangrijk dat je in eerste instantie "leert programmeren" ipv. "een programmeertaal te leren" eens je de basics(types, lussen, conditions, pointers) van programmeren onder de knie hebt kan je overgaan naar het leren van OO en wanneer je dat vast hebt kan je verder een keuze maken wat je wil gaan doen en naar die richting ook een taal kiezen(want als je het programmeren beet hebt is een stap naar een andere taal maar een kleintje).
Een goeie taal om te beginnen lijkt me toch wel C zo kan je makkelijk naar C++ overgaan voor OO. Java is uiteraard ook niet slecht, maar das enkel OO en om van nul te beginnen kan dat misschien nogal aggressief overkomen.

:offtopic: Correct gebruik van prefixen is verplicht !!!

QplQyer

Legacy Member
Psychokillah zei:
Een programmeertaal leren is in het begin gewoon een kwestie van persoonlijke smaak. Want simple programmaatjes schrijven (we kennen allemaal wel Hello world) gaat in de meeste programmeertalen mits een kleine aanpassing van syntax op volledig dezelfde manier.

Het is dus belangrijk dat je in eerste instantie "leert programmeren" ipv. "een programmeertaal te leren" eens je de basics(types, lussen, conditions, pointers) van programmeren onder de knie hebt kan je overgaan naar het leren van OO en wanneer je dat vast hebt kan je verder een keuze maken wat je wil gaan doen en naar die richting ook een taal kiezen(want als je het programmeren beet hebt is een stap naar een andere taal maar een kleintje).
Een goeie taal om te beginnen lijkt me toch wel C zo kan je makkelijk naar C++ overgaan voor OO. Java is uiteraard ook niet slecht, maar das enkel OO en om van nul te beginnen kan dat misschien nogal aggressief overkomen.

:offtopic: Correct gebruik van prefixen is verplicht !!!
Met C beginnen lijkt me wel meer overdonderend voor een persoon dan met Java beginnen.

Psychokillah

Legacy Member
QplQyer zei:
Met C beginnen lijkt me wel meer overdonderend voor een persoon dan met Java beginnen.

En waarom dan wel, C heeft imo wel de meest intuitieve syntax. En je moet ergens beginnen he.
In principe kan je eigenlijk evengoed met C++ beginnen aangezien de basisstappen zich toch enkel beperken tot C code.
C++ mag dan niet de makkelijkste taal zijn om te leren in later stadium (vb. ontbreken van garbage collection, seg. faults,...) het is toch wel een van de sterkste talen, zeker met C# in het vooruitzicht.

Java is misschien op dat vlak wel wat makkelijker, het is en blijft, zoals eerder hier gezegd, tragere code.

Daarom is het ook aan de topic starter om te kiezen wat hij in de toekomst wil doen. Feit is wel dat als je een goeie basis van C/C++ hebt opgebouwd, dat de stap naar Java een fluitje van een cent is. Andersom is een steilere trap.
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