Leren programmeren

Gestart door Jonas, 02 mei 2005 - 18:21:50

« vorige - volgende »

Jonas

Ik zou graag leren programmeren met C++.

Weten jullie mss hoe ik er het best aan begin? Door mss eerst een andere taal taal te leren of zo?

Greef jullie suggesties!
www.f1-geschiedenis.be
----------------
Schumi World Champion in 1994-1995-2000-2001-2002-2003-2004
----------------
But Senna stays the best !!!!

mike

De eerste vraag is deze: waarom heb je al voor C++ gekozen als doel? (Dit is geen strikvraag, er zijn geen foutieve antwoorden.)

Jonas

Ik zou graag spelletjes leren programmeren en heb es opgezocht en kwam op een paar programmeertalen uit: C een C++, Basic, Pascal en Delphi en Fortran.
Heb dan aan mijn leerkracht informatica gevraagt wat de beste taal was en dat bleek C++ te zijn ...
www.f1-geschiedenis.be
----------------
Schumi World Champion in 1994-1995-2000-2001-2002-2003-2004
----------------
But Senna stays the best !!!!

mike

#3
Citaat van: F1Planet op 02 mei 2005 - 19:18:05
Ik zou graag spelletjes leren programmeren en heb es opgezocht en kwam op een paar programmeertalen uit: C een C++, Basic, Pascal en Delphi en Fortran.
Heb dan aan mijn leerkracht informatica gevraagt wat de beste taal was en dat bleek C++ te zijn ...

Uit dat lijstje en voor spelletjes, ja. Zeker geen Basic of Fortran! Pascal is leuk, maar is vooral een taal om te leren (speciaal daarvoor is ze oorspronkelijk gemaakt). Later zijn er tonnen extensies aangebouwd (object oriented spul), maar dat doet niets af van het feit dat in het echte leven Pascal niet echt populair is. C komt wel in aanmerking, maar aangezien je C++ kan zien als een superset van C, kan je dan evengoed naar (een stuk van) C++ kijken.

Het grote probleem van C++ is de complexiteit. Ten eerste: het is letterlijk begonnen als een superset van C, en dat heeft een aantal minder leuke sporen nagelaten. Ten tweede: er is een gigantisch verschil tussen C++ kunnen kloppen, en weten hoe je het best kan gebruiken (en zeker ook wat je beter niet gebruikt of doet). Java is op dat gebied veel beter: die taal is vanaf 0 gebouwd voor dezelfde soort toepassingen als waar C++ voor dient, maar 1) zonder de vereiste om C als (bijna) subset te hebben en 2) met als input de ervaring van alles wat er mis is gegaan bij het jarenlange process achter het definieren van C++. Je kan Java dus zien als een propere C++ (en qua syntax lijken ze nog op elkaar, dus de overstap van de ene naar de andere taal is niet zo moeilijk).


Jonas

Heb dit jaar 1 uur informatica waar we momenteel net begonnen zijn met Java. Volgend jaar ga ik waarschijnlijk Informaticabeheer doen en daar zien we ook programmeren, maar ik denk dat c++ pas in het 6de jaar of zo aan bod komt. Er komt in het vijfde nog een andere taal, maar weet naam niet precies meer.
www.f1-geschiedenis.be
----------------
Schumi World Champion in 1994-1995-2000-2001-2002-2003-2004
----------------
But Senna stays the best !!!!

McChouffe

Citaat van: mike op 02 mei 2005 - 19:57:38
Het grote probleem van C++ is de complexiteit. Ten eerste: het is letterlijk begonnen als een superset van C, en dat heeft een aantal minder leuke sporen nagelaten. Ten tweede: er is een gigantisch verschil tussen C++ kunnen kloppen, en weten hoe je het best kan gebruiken (en zeker ook wat je beter niet gebruikt of doet). Java is op dat gebied veel beter: die taal is vanaf 0 gebouwd voor dezelfde soort toepassingen als waar C++ voor dient, maar 1) zonder de vereiste om C als (bijna) subset te hebben en 2) met als input de ervaring van alles wat er mis is gegaan bij het jarenlange process achter het definieren van C++. Je kan Java dus zien als een propere C++ (en qua syntax lijken ze nog op elkaar, dus de overstap van de ene naar de andere taal is niet zo moeilijk).

Nadeel van Java is natuurlijk die Java Virtual Machine. Het heeft zijn voordelen (portabiliteit), maar heeft wel een beetje een negatieve invloed op de performantie. En lijkt me daarom voor spelletjes minder aan te raden, alhoewel natuurlijk veel afhangt van hoe Sun de JVM nog kan verbeteren.

Moest je trouwens in Java willen beginnen om te leren, kan ik Eclipse (www.eclipse.org - ooit van IBM, maar nu open source) aanraden als IDE. Andere zijn NetBeans (www.netbeans.org - van Sun zelf trouwens) en jGRASP (http://www.eng.auburn.edu/department/cse/research/grasp/)

His leaving marks the end of an era in motor racing that he has defined by his mere presence.

McChouffe

Citaat van: F1Planet op 02 mei 2005 - 20:09:59
Heb dit jaar 1 uur informatica waar we momenteel net begonnen zijn met Java. Volgend jaar ga ik waarschijnlijk Informaticabeheer doen en daar zien we ook programmeren, maar ik denk dat c++ pas in het 6de jaar of zo aan bod komt. Er komt in het vijfde nog een andere taal, maar weet naam niet precies meer.

Ik moet sneller typen  :)

C#?

His leaving marks the end of an era in motor racing that he has defined by his mere presence.

mike

Citaat van: WebMachine op 02 mei 2005 - 20:15:42
Citaat van: mike op 02 mei 2005 - 19:57:38
Het grote probleem van C++ is de complexiteit. Ten eerste: het is letterlijk begonnen als een superset van C, en dat heeft een aantal minder leuke sporen nagelaten. Ten tweede: er is een gigantisch verschil tussen C++ kunnen kloppen, en weten hoe je het best kan gebruiken (en zeker ook wat je beter niet gebruikt of doet). Java is op dat gebied veel beter: die taal is vanaf 0 gebouwd voor dezelfde soort toepassingen als waar C++ voor dient, maar 1) zonder de vereiste om C als (bijna) subset te hebben en 2) met als input de ervaring van alles wat er mis is gegaan bij het jarenlange process achter het definieren van C++. Je kan Java dus zien als een propere C++ (en qua syntax lijken ze nog op elkaar, dus de overstap van de ene naar de andere taal is niet zo moeilijk).

Nadeel van Java is natuurlijk die Java Virtual Machine. Het heeft zijn voordelen (portabiliteit), maar heeft wel een beetje een negatieve invloed op de performantie. En lijkt me daarom voor spelletjes minder aan te raden, alhoewel natuurlijk veel afhangt van hoe Sun de JVM nog kan verbeteren.

Moest je trouwens in Java willen beginnen om te leren, kan ik Eclipse (www.eclipse.org - ooit van IBM, maar nu open source) aanraden als IDE. Andere zijn NetBeans (www.netbeans.org - van Sun zelf trouwens) en jGRASP (http://www.eng.auburn.edu/department/cse/research/grasp/)

Dat snelheidsargument klopt wel, maar ik zou vermoeden dat het nog niet direct een killer is voor iemand die begint met spelletjes. Ik denk niet dat hij al direct een volledige 3D-engine zal willen programeren, of een SimTheWorld 1.0 of zo.

lieven

ik zou toch met java beginnen, eens je daar goed mee overweg kan en de basis goed kent kan je bv zoals we nu gebruiken j# gebruiken met visual studio.net
niet moeilijk en wel nog leuk :)
op school krijgen we 1.5u theorie en in het eerste semester 3u labo en nu in het twede semester 1u labo
en volgend jaar gaan we met C# beginnen
nu bestaat ons project uit: maak yatzee
maar dit is wel allemaal in het hoger in de opleiding ICT!
en in het begin is het frustrerend maa rje moet doorzetten vooraleer het leuk wordt want om de basis te kunnen moet je veel nutteloze dingskes programeren :)

Jonas

Citaat van: mike op 02 mei 2005 - 20:52:06
Citaat van: WebMachine op 02 mei 2005 - 20:15:42
Citaat van: mike op 02 mei 2005 - 19:57:38
Het grote probleem van C++ is de complexiteit. Ten eerste: het is letterlijk begonnen als een superset van C, en dat heeft een aantal minder leuke sporen nagelaten. Ten tweede: er is een gigantisch verschil tussen C++ kunnen kloppen, en weten hoe je het best kan gebruiken (en zeker ook wat je beter niet gebruikt of doet). Java is op dat gebied veel beter: die taal is vanaf 0 gebouwd voor dezelfde soort toepassingen als waar C++ voor dient, maar 1) zonder de vereiste om C als (bijna) subset te hebben en 2) met als input de ervaring van alles wat er mis is gegaan bij het jarenlange process achter het definieren van C++. Je kan Java dus zien als een propere C++ (en qua syntax lijken ze nog op elkaar, dus de overstap van de ene naar de andere taal is niet zo moeilijk).

Nadeel van Java is natuurlijk die Java Virtual Machine. Het heeft zijn voordelen (portabiliteit), maar heeft wel een beetje een negatieve invloed op de performantie. En lijkt me daarom voor spelletjes minder aan te raden, alhoewel natuurlijk veel afhangt van hoe Sun de JVM nog kan verbeteren.

Moest je trouwens in Java willen beginnen om te leren, kan ik Eclipse (www.eclipse.org - ooit van IBM, maar nu open source) aanraden als IDE. Andere zijn NetBeans (www.netbeans.org - van Sun zelf trouwens) en jGRASP (http://www.eng.auburn.edu/department/cse/research/grasp/)

Dat snelheidsargument klopt wel, maar ik zou vermoeden dat het nog niet direct een killer is voor iemand die begint met spelletjes. Ik denk niet dat hij al direct een volledige 3D-engine zal willen programeren, of een SimTheWorld 1.0 of zo.


Idd ik zou graag eerst beginnen met een 2d game / engine en dan later naar 3d platform game / engine te maken...
www.f1-geschiedenis.be
----------------
Schumi World Champion in 1994-1995-2000-2001-2002-2003-2004
----------------
But Senna stays the best !!!!

Jasper

Ik heb ook nog een vraagje hieromtrent. Ik zou graag van grond raken met Java. Mijn broer heeft hier een dik boek "Objectgericht programmeren met Java". Nu vraag ik mij af of dat een goede manier is om de beginselen van Java te leren, of of dit een opbouw is van Java om ze efficiënter te gebruiken en zo.

Het alternatief is een Engelstalig boek dat echt Java leert, maar ik heb geen zin om me daar doorheen te worstelen.

Jonas

Ik denk dat ik eerst Java ga leren, heb er ook 2 boeken over liggen:: Leerboek Java en Java. Maar ik vraag me af als dat het beste is als voorbereiding op C/C++?
www.f1-geschiedenis.be
----------------
Schumi World Champion in 1994-1995-2000-2001-2002-2003-2004
----------------
But Senna stays the best !!!!

mike

Citaat van: Jasper op 06 mei 2005 - 10:25:23
Ik heb ook nog een vraagje hieromtrent. Ik zou graag van grond raken met Java. Mijn broer heeft hier een dik boek "Objectgericht programmeren met Java". Nu vraag ik mij af of dat een goede manier is om de beginselen van Java te leren, of of dit een opbouw is van Java om ze efficiënter te gebruiken en zo.

Het alternatief is een Engelstalig boek dat echt Java leert, maar ik heb geen zin om me daar doorheen te worstelen.

Die vraag kan niet beantwoord worden zonder het exacte boek te kennen.

lieven

Citaat van: F1Planet op 06 mei 2005 - 11:44:21
Ik denk dat ik eerst Java ga leren, heb er ook 2 boeken over liggen:: Leerboek Java en Java. Maar ik vraag me af als dat het beste is als voorbereiding op C/C++?

ja normaal gezien wel, er is niet zo veel verschil tussen de codeertalen :)
op dit moment ben ik voor school aan een project bezig: het spelletje yahtzee :)
wel nog leuk om te maken :)

Jasper

Op de achterkant:

In dit boek leert men middelgrote, sequentiële softwaresystemen ontwikkelen op een objectgerichte manier. De concepten en principes vertalen zich in een aantal algemene regels, die zich richten op beter aanpasbare en beter herbruikbare softwarecomponenten. De beginselen van het objectgericht programmeren komen aan bod in drie delen en worden geïllustreerd aan de hand van voorbeelden uitgewerkt in de programmeertaal Java.
In een eerste deel wordt de definitie van een klasse van objecten uitvoerig bestudeerd als een contract tussen de ontwikkelaar en de klasse enerzijds en de gebruikers anderzijds. Rechten en plichten van beide partijen worden zowel beschreven in klasse-invarianten, als in precondities, postcondities en uitzonderingen voor methodes. Verschillende strekkingen in de ontwikkeling van een klasse, waaronder het defensief programmeren, worden naast elkaar gezet.
Volgens het opjectgerichte paradigma moet een softwaresysteem worden geconcipieerd als een geheel van communicerende objecten. In het tweede deel wordt aangegeven hoe deze cruciale relaties tussen objecten gerealiseerd kunnen worden met behulp van referenties. Voor bidirectionele relaties wordt aandacht besteed aan het behoud van de consistentie. Voor relaties met meervoudige connectiviteit wordt aangegeven hoe ze gerealiseerd kunnen worden met behulp van rijen en andere gegevensstructuren.
In het derde deel gaan de auteurs uitvoerig in op het meest innoverende concept van het objectgericht programmeren: de notitie van overerving. Daarbij wordt aangetoond hoe met behulp van polymorfisme en dynamische binding de aanpasbaarheid en de herbruikbaarheid van softwarecomponenten aanzienlijk verhoogd kunnen worden. Ten slotte wordt het substitutieprincipe van Liskov geponeerd als een algmeneen criterium in de constructie van de hiërarchieën van klassen. Dit algemene principe wordt vervolgens vertaald in een aantal concrete regels.


Als ik dat zo lees, lijkt het me dat de aandacht niet zozeer ligt op het leren van Java, maar wel op een beter/handiger/correcter gebruik ervan. Maar toch ben ik niet helemaal zeker. En als het boek toch Java aanleert, is het dan een goede manier om het te leren, of kan je beter eerst de basis van Java onder de knie hebben voor je aan objectgericht programmeren kan beginnen?