Archief - Programeren

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.

Parnakra

Legacy Member
Nie om u af te breken of zo, maar als ge zelfs al de inspanning nie kunt opbrengen om zelf wa rond te kijken op et net inzake programmeren/programmeertalen, dan denkek nie da ge de volharding zult hebben om ook degelijk een programmeertaal te leren...

Zoals al gezegd is, eens je één taal kent zijn de andere enkel een syntax/mogelijkheden verschil, maar om die ene taal, met al zijn kantjes, boordjes en hoekjes te leren kennen is er toch tamelijk veel tijd nodig (ik had die allesins nodig).

Maar natuurlijk, tkan zijn da ik mis ben en da je heel gemotiveerd bent, en in dat geval, go for it en veel geluk :niceone:

Viperius

Legacy Member
slash zei:
denkwijze in java ofzo is anders
zus is nu op vakantie dus kan het nie vrage hoe het kwam ma bijna niemand kon daar java goed
Java is een stuk makkelijker. De garbage collection is heel handig, je moet niet - zoals in C++ - alles bijhouden wat je zelf maakt, om terug te verwijderen. Ook pointers enzo zijn niet zo expliciet aanwezig in java als in C++.

De "andere denkwijze" zal waarschijnlijk het object ge-orienteerde zijn dat je zus bedoeld. Dit OO heb je ook in C++, maar dit wordt meestal niet direct aangeleerd. In Java kan je praktisch niet rond OO heen. Beetje wennen in het begin, maar het biedt tal van voordelen tov het gewone procedurele programmeren.

Emerxill

Legacy Member
slash zei:
ale mijn zus kon java totaal nie en c++ kon die wel goed
kzal da volgend jaar wel zien of ik java ga kunne
c++ is nie zo moeilijk vind ik. Had ter toch goed op bij mijn exames en het was nie gemakkelijk

Da is gewoon omdat wij op school nooit echt dieper op C/C++ ingegaan zijn. Eerder zo van die basic-stuff int 1e jaar en daar bleef et bij: loopke hier, if-ke daar, simpel oef met pointers en da was het.
Wat we bij Java kregen was gewoon een pak meer en veel dieper op ingegaan. Daarom leek da moeilijker.
C++ is dus wel moeilijker dan Java, want bij java hebt ge oa geen last meer van pointers en Java beheert zijn garbage collection zelf (geheugenbeheer) wa ge in C++ zelf moet doen als ge deftige programmakes wilt schrijven.

(btw, ik heb bij uw zus in de klas gezeten :) )

*edit* wat Viperius dus zei :p, en idd bij Java krege we indertijd dus eerst zo ne gans cursus van OO. Gene mens die het nut daarvan inzag en dus niemand blokte dat. Tot we opeens zo van die mega-oefeningen kregen puur OO :D chance da ik da goed kon :p. En da is waarsch de reden waarom uw zus da zo moeilijk vond :) *edit*

Perponcher

Legacy Member
Als Informatica student raad ik U aan om eerst een taal te leren en wat basis zaken aan te leren voordat ge een spel ineen wilt steken. Aangezien ge 'free' tools wilt enzo raad ik U Eclispe aan (www.eclipse.org). Dat is een gratis Java omgeving om in te werken. Op het net vind je genoeg tutorials, howto's etc. De meeste zullen echter in het Engels zijn, wil je echt een Nederlandstalige 'handleiding' zal je een boek moeten kopen. Ikzelf heb 'En dan is er Java', kan hier niet ISBN ofzo geven want ik zit op men vakantiewerk :D.

Aan de andere kant is er nu ook de .NET omgeving, waar het naar mijns inziens veel leuker is om te programmeren. Ok, je hangt wel vast aan Microsoft :p. En die ontwikkelomgeving kost ook wel een aardige cent.

Er is ook een .net like omgeving voor Java (ook gratis) maar die url kan ik niet direct terugvinden.

Grayfox

Legacy Member
slash zei:
ale mijn zus kon java totaal nie en c++ kon die wel goed
kzal da volgend jaar wel zien of ik java ga kunne
c++ is nie zo moeilijk vind ik. Had ter toch goed op bij mijn exames en het was nie gemakkelijk
C++ niet moeilijk? HA, nog nooit function pointers gebruikt zeker?
Moeilijke aan C++ zijn dus de pointers, en memory management
Java heeft al automatische memory management (je moet niet zelf meer het geheugen free-en nadat je het gebruikt hebt, dat gebeurd vanzelf)
dit betekent veel minder debuggen, en veel vlugger kunnen coden!
Java heeft wel veel objecten enzo, daarmee bekend raken kan nogal lastig zijn omdat het er zoveel zijn
Maar C++ is dan weer veel sneller en beter voor (performance/spelletjes) bijvoorbeeld
Java is dan weer 'platform-onafhankelijk'
Voor simpele desktop apps voor windows is het eigenlijk zelf beter VisualBasic te gebruiken omdat dan de performance niet veel uitmaakt, je er genoeg mee kan doen, en het developpen veeel rapper gaat.

en indeed, zoals hierboven gezegd wordt OO is een must in Java, een keuze in C++

Kben zelf bezig Java aan het leren (boek 'En dan is er Java', ISBN: 90 395 1690 1, van Gertjan Laan),
kwas ook al begonnen aan c++, meeste ken ik er al van, behalve function pointers denk ik... weet nog niet precies hoe dat in elkaar zit
Ik raad aan wel in het Nederlands te leren, gaat veel vlugger, en daar worden engelse termen meestal goed uitgelegd zodat je het vlugger snapt.
Want in meeste engelse tutorials worden bepaalde termen als logisch aangezien.
(hoewel ik toch wel tamelijk goed ben in engels hoor, maar Nederlands is mn moedertaal, dus dat gaat stukken vlugger)

en zoals al eerder gezegd, als je één taal kent gaat het makkelijker zijn om de andere talen te leren, omdat je dan al de termen en programeertechnieken kent

*edit*: Slash welke richting doe je dan eigenlijk?

slash

Legacy Member
mijn laatste exame ware pointers ma khad da goed door dus kon ik het ook fatsoenlijk
in ieder geval op c++ had ze goei punte en op java was ze bijna altijd juist gebuist

kheb nu laatste jaar informatica beheer gedaan
ga nu toegepaste informatica volge

zus heeft juist laatste jaar toegepaste informatica gedaan

tfluppe

Legacy Member
EA lover zei:
Ik ben 14 jaar en heb eens zin om te programeren. Ik heb het nog nooit gedaan dus en heb er geen flauw benul van hoet het moet. Ik zou graag eens een spelletje willen maken maar weet begot niet welke programma's je ervoor nodig hebt. Kunnen jullie mij wat programma's geven en wat site's in het nederlands hoe dat je nu met dat programma moet omgaan om een spel of andere software te maken.

Ik wil je toch de raad geven, blijf realistisch. Je weet niks van programmeren en je wil al een (3d?)spel maken. Als je echt wil leren programmeren koop een boek, en begin met simpele applicaties. Welke taal ik je zou aanraden, is Visual Basic, omdat die taal niet al te moeilijk is, en je er wel redelijk rap mee weg bent. Wil je echt van de eerste keer 'goed' beginnen, maar wil je er ook wat meer moeite in steken, begin dan met C++.

Ikzelf ben ook begonnen met Visual Basic(alle ja, als html, e.d. niet meetellen), en ben nu ook C++ aan het leren, al moet ik dringend eens een boek gaan kopen :).

QplQyer

Legacy Member
Grayfox zei:
kwas ook al begonnen aan c++, meeste ken ik er al van, behalve function pointers denk ik... weet nog niet precies hoe dat in elkaar zit

:offtopic:een function pointer is gewoon een pointer die je naar een bepaalde functie kan laten wijzen, bijvoorbeeld je hebt 2 functies:

int Add(int a, int b) { return a+b;}
int Sub(int a, int b) { return a-b;}

dan wil je de mogelijkheid hebben om één van beide functies aan te roepen met dezelfde aanroep (of call dus), en dat is mogelijk met een function pointer zoals dit:

int (*Math)(int,int) --> virtuele functie, kan enkel naar functie die als argumenten twee int's heeft wijzen
Math = Add;
int result = Math(1,2); // doet dus hetzelfde als Add(1,2);

Math = Sub;
int result = Math(1,2) // doet dus hetzelfde als Sub(1,2)


Dat is alles :)
het is zowat het equivalent van de virtual functions die je in C++ vindt als je aan OOP doet (dit is nog een C-erfenis geloof ik).

En zoals je dus duidelijk kan zien met enkel deze uitleg, C++ is een pak uitgebreider en moeilijker en vol met pitfalls dan java, zoals reeds gezegd zal je zus, slash, moeite gehad hebben met Object-Oriented programming, wat in C++ ook mogelijk is dus ja (no offense, maar je C++ cursus op school was wellicht maar een heel kleine inleiding in de grote mogelijkheden van de taal?).

ontopic:

Gebruik Blender om een spel te maken, tenzij je inderdaad echt van plan zou zijn om veel moeite en leerwerk te stoppen in een spel, een spel bestaat uit verschillende componenten zoals de 2d of 3d engine, de physics engine, de ai, ... elk van die delen moet je tamelijk beheersen vooraleer je een spel kan maken, tenzij je een tool zoals blender gebruikt, mits eventueel wat python scripting, maar dan leer je niet programmeren zoals je bedoeling was.

Als je echt wil leren programmeren, weet dan dat het lange tijd zal duren eer je deftig een spel kan maken (als je een taal kent kan je wel een 2d of 3d engine downloaden en van deze zijn functies gebruik maken, dat verlicht het leerwerk enorm natuurlijk, hetzelfde geldt voor een physics engine).
Qua taal raad ik dan ook wel C++ aan, aangezien dit de standaard is voor game programming en er zijn boeken genoeg over te vinden.

Als je specifiek een boek wilt over game programming, koop dan "tricks of the windows game programming gurus", goeie boek, maar wel in het engels, maar daar staat werkelijk alles in uitgelegd.

Grayfox

Legacy Member
@QPlQyer thx alot! is eigenlijk wat simpeler dan ik dacht, er bestaat een site over, maar ik snapte het daar ook niet helelmaal
www.function-pointer.org

kheb eigenlijk nog een klein vraagje over pointers, als ge de waarde van Math of Add zou willen afdrukken(wat prolly ni mogelijk is zeker) krijgde dan een getal dat naar een plaats van het geheugen verwijst? (adres?)

slash

Legacy Member
kheb 2 jaar c++ gehad en toch redelijk veel uren per week da ik da had. Denk da ik wel iets meer als de inleiding heb gezien. Alles hebbe we ook wel nie gezien da geef ik toe.

QplQyer

Legacy Member
Grayfox zei:
@QPlQyer thx alot! is eigenlijk wat simpeler dan ik dacht, er bestaat een site over, maar ik snapte het daar ook niet helelmaal
www.function-pointer.org

No problem, die uitleg stond in één van mijn game-programming boeken en verduidelijkte de bedoeling ervan ook voor mij :)

edit @ grayfox: hoogstwaarschijnlijk wijst die naar de plaats in het geheugen waar Sub of Add zit ja, het blijft een pointer.

@Slash: heb je classes en alles wat erbij komt kijken gezien? inheritance enzo? Dan zit je zeker safe voor java te leren hoor als je die dingen snapt. Maar om plots naar OOP over te schakelen kan idd wel eens moeilijk zijn.

b0rt

Legacy Member
ik kan c++ en java, en nu ben ik bezig met J2ME, een variant op java voor gsm's
en ik moet zeggen, java is heel gemakkelijk om vlug iets ineen te stoppen

WHiSPy

Legacy Member
Het is trouwens een misvatting dat Java trager is dan C++. De laatste benchmarks daarover hebben eens performance tuned C++ tegenover gewone Java die hetzelfde deed gezet en de Java oplossing was sneller.

link: http://www.kano.net/javabench/

Als IDE is eclipse idd aan te raden gezien het grote aantal add-ons die ervoor te vinden zijn. Onder andere een add-on waarbij ge zoals in .Net componenten op uw GUI kunt slepen. (link: http://www-106.ibm.com/developerworks/opensource/library/os-ecvisual/)

In tegenstelling tot perponcher ben ik dus eerder een Java-fan. :p

Viperius

Legacy Member
WHiSPy zei:
Het is trouwens een misvatting dat Java trager is dan C++. De laatste benchmarks daarover hebben eens performance tuned C++ tegenover gewone Java die hetzelfde deed gezet en de Java oplossing was sneller.

link: http://www.kano.net/javabench/
*leest titel: "The Java is Faster than C++ and C++ Sucks"*

*stopt met lezen*

EA lover

Legacy Member
Maar die C++ kan ik da downloaden (gratis) of niet of zo'n tutorial? Java is dat ook gratis of niet? Weet er iemand dan goede gratis programma's om te programeren of om een eenvoudig spelleke mee te maken (gamemaker) heb ik al.

zikje

Legacy Member
Die talen zijn gratis. Om de programma's die je schrijft te kunnen runnen, moet je je source-files (code) compileren. Dat doe je met ... een compiler, hoe verrassend :). Die kan je ook gratis krijgen.

C++
===

DevC++ is een omgeving waarin je C++ programma's kan ontwerpen. Dit komt met een compiler. En het is gratis.

Visual C++ is een omgeving van Microsoft waarbij je gebruik kan maken van MFC, een omgeving waarin je snel windows applicaties kan maken. Hiervoor moet je wel geld op tafel leggen.

Java
===

Eclipse lijkt me inderdaad een goeie optie. Hoewel het in het begin wat complex kan lijken. Komt met een compiler en is gratis.

JCreator is ook leuk. Ik weet wel niet zeker of het gratis is. Komt ook met een compiler en is iets eenvoudiger.

Omgevingen (IDE)
============

Je hebt echter geen omgeving nodig en kan dus ook je source-files compileren via de command-line. Maar dat is wat ingewikkelder misschien. Omgevingen hebben allerlei hulpmiddelen bij het programmeren.

Boeken
=====

Online zijn er heel wat sites waar je wat kan leren. Voor Java kan je terecht bij Sun Microsystems (ontwikkelaar van Java) waar de volledige tutorials van de taal Java staan. Ook aan te raden boeken die je in pdf kan downloaden zijn Thinking in C++ en Thinking in Java van Bruce Eckel. Gratis te downloaden.

Om dat allemaal te vinden => google.

Ollie

Legacy Member
Als beginnend programmeur moet je niet zitten klooien met IDE's. Een compiler (JDK) en een editor met syntax highlighting (JEdit) is alles wat je nodig hebt.

Grayfox

Legacy Member
WHiSPy zei:
Het is trouwens een misvatting dat Java trager is dan C++. De laatste benchmarks daarover hebben eens performance tuned C++ tegenover gewone Java die hetzelfde deed gezet en de Java oplossing was sneller.

link: http://www.kano.net/javabench/

In tegenstelling tot perponcher ben ik dus eerder een Java-fan. :p

Java is wel degelijk trager dan VISUALC++ (vooral als het aankomt op geometrische functies zoals sinus en cosinus)
waarom zouden developpers anders niet in Java hun 3D spelletjes maken?
Java is multiplatform... veel vlugger te schrijven, en heeft memory management...
Dat artikel, als je het wat beter gelezen had, ging over JVM als server, JVM als Client verliest praktisch op alle gebieden, en hij gebruikt ook nog eens GCC (ipv VC++)

Als Java dan echt sneller was, waarom zouden de mannen van Sun zelf op hun website benchmarks hebben waarin ze tonen dat (Visual) C++ sneller is?
btw, FYI, snelheid ligt aan de compiler/interpreter, niet zozeer aan de taal
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