[C++] Beginnen aan C++

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • afraca
  • Registratie: April 2009
  • Laatst online: 13-08 16:46

afraca

Open Source!

Topicstarter
Gegroet allen,

Na heel wat jaartjes besloten wat kennis te gaan maken met C++ . Het kan heel veel, maar kan ook wat lastig zijn. Ik heb gelukkig nog heel wat jaartjes voor me, aangezien ik nog maar 18 lentes jong ben, dus de tijd heb ik ^^

Nu is op het wonderlijke wereldwijde web heel wat besproken over C++, en zo zie ik door de bomen het bos niet meer. Alle ervaringen van personen op diverse fora zijn gebaseerd op software van jaren oud, en natuurlijk vraagt de één wat anders van een IDE dan een ander. Echter lijkt het me dat er wat algemene richtlijnen zijn.

Het doel is eerst een simpel programma, die een window laat zien met een input box voor naam en een voor wachtwoord. Die moeten naar een server gestuurd worden (curl lijkt me daar de juiste "persoon" voor) en gecontroleerd worden aan de hand van gegevens van een phpBB database (ja, hoe absurd het ook klinkt, dit was zo ongeveer het plan) .

Dit alles moet natuurlijk nog gecompiled worden, dus daar moet ook nog wat "aandacht" aan besteed worden.

Uiteindelijke question dus: Welk IDE ga ik voor dit feest gebruiken, hoe krijg ik CURL én m'n compiler daarmee samenwerkend?

Mijn dank voor jullie medewerking, (al zal ik heel wat LMGTFY.com linkjes krijgen..... )

IMDB vote history | Next-gen OS, audio en video player, search engine en Movie DB


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Als je database voor de buitenwereld toegankelijk is, dan kun je toch gewoon direct met je database praten? MySQL heeft gewoon een C API en als je het helemaal "netjes" wil doen dan is er ook een C++ wrapper voor. Daarmee heb je cURL dus alvast niet meer nodig. ;)

Verder is het niet zo relevant welke IDE je pakt. Of je nou Visual Studio gebruikt, C++ Builder of dat je nu zelf je code inclusief GUI in elkaar tikt in Notepad boeit niet zo, het zal allemaal net zo makkelijk gaan voor iets relatief simpels als dit. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • psychonetics
  • Registratie: Oktober 2005
  • Laatst online: 07:16
Heb je al kennis van en ervaring met andere programmeertalen? Mijn ervaring is namelijk dat als je from scratch begint met C++ het een diepe, zelfs behoorlijke diepe sprong, kan zijn die enkel leidt tot teleurstelling. :)

Wellicht kan je eerst naar C kijken, of Java. Of PHP, als je helemaal nieuw bent in het programmeren?

Acties:
  • 0 Henk 'm!

Verwijderd

Ben bang dat je applicatie je niet veel van C++ gaat leren:
  • Je invoer/uitvoerboxjes zijn een of andere library,
  • phpBB is geen database, dat zal dus wel MySQL zijn, ook een of andere library,
  • Server gebeuren gaat een library worden,
  • Enz, enz.
Het idee is duidelijk denk ik: Je zal waarschijnlijk als je zo aan je eerste C++ programma begint alleen leren hoe je al die libraries aan elkaar hacked, en niet erg veel van C++ leren. Mijn tip, begin dus eerst even met C++ leren en daarna de rest.

IDE:
  • Voor windows: Visual C++ Express,
  • Voor Apple: Weet niet, gok dat XCode wel wat heeft,
  • Voor Linux: Gok dat Eclipse + GCC wel wat kan?

[ Voor 4% gewijzigd door Verwijderd op 22-10-2009 18:49 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

psychonetics schreef op donderdag 22 oktober 2009 @ 18:46:
Wellicht kan je eerst naar C kijken, of Java.
Ja, want C is natuurlijk veel makkelijker dan C++.... 8)7

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • user109731
  • Registratie: Maart 2004
  • Niet online
Wil je bij C++ blijven dan kan ik Qt aanraden. Dit framework heeft bijv. een mooie interface designer en classes voor databases zoals MySQL :)

Toch denk ik dat je het beste kunt beginnen met een goed boek (of goede tutorial) en eenvoudige programma's. Een GUI designen is leuk, maar wil je echt goed C++ kunnen dan kun je imho beter eerst de basis beheersen :)

Acties:
  • 0 Henk 'm!

  • psychonetics
  • Registratie: Oktober 2005
  • Laatst online: 07:16
NMe schreef op donderdag 22 oktober 2009 @ 18:50:
[...]

Ja, want C is natuurlijk veel makkelijker dan C++.... 8)7
Ehm ja? Volgens mij heeft C++ een hoop features die je - als je net begint met programmeren - nog niet nodig hebt en de zaken alleen maar onnodig ingewikkelder maken?

Acties:
  • 0 Henk 'm!

  • Sh4wn
  • Registratie: December 2006
  • Laatst online: 12-11-2017

Sh4wn

Bio-informatica

Ik zelf zou voor simpele GUI appjes geen C++ aanraden.

Mijn ervaring is dat script talen als Python en Ruby veel makkelijker zijn om mee te beginnen, en qua performance zijn ze snel genoeg voor vrijwel alle GUI appjes.

Acties:
  • 0 Henk 'm!

  • Exirion
  • Registratie: Februari 2000
  • Laatst online: 10:32

Exirion

Gadgetfetisjist

Sh4wn schreef op donderdag 22 oktober 2009 @ 19:07:
Ik zelf zou voor simpele GUI appjes geen C++ aanraden.

Mijn ervaring is dat script talen als Python en Ruby veel makkelijker zijn om mee te beginnen, en qua performance zijn ze snel genoeg voor vrijwel alle GUI appjes.
Autocad en Photoshop zijn ook GUI appjes, maar ik zou ze toch niet graag in Python meemaken. Oftewel, zo'n generaliserend statement is non-sense :P

"Logica brengt je van A naar B, verbeelding brengt je overal." - Albert Einstein


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
psychonetics schreef op donderdag 22 oktober 2009 @ 18:57:
Ehm ja? Volgens mij heeft C++ een hoop features die je - als je net begint met programmeren - nog niet nodig hebt en de zaken alleen maar onnodig ingewikkelder maken?
Eh, nee? Features die je niet nodig heb hoef je ook niet te gebruiken. En features die je vrijwel zeker wel nodig hebt, zitten niet in C. Beginnen met C is gewoon geen goed idee. PHP is eigenlijk net zo'n ramp om mee te beginnen, tenzij je web apps gaat bouwen.
Het doel is eerst een simpel programma,
Dat is geen simpel programma... ;)
Koop eens een intro C++ boek, lees het en maak alle opgaven. ;)

Acties:
  • 0 Henk 'm!

  • VyperX
  • Registratie: Juni 2001
  • Laatst online: 14-08 13:04
NMe schreef op donderdag 22 oktober 2009 @ 18:50:
[...]

Ja, want C is natuurlijk veel makkelijker dan C++.... 8)7
C++ is een superset van C, dus C++ is moeilijker ;)
/kort-door-de-bocht-mode
Wat correcter: De std-lib van C++ bied standaard een hoop functionaliteit die je anders in C zelf zou moeten maken/importeren. Daarnaast is de C++ taal toegespitst op Object Oriented programmeren, wat je in C niet makkelijk gemaakt word door de taal.
Exirion schreef op donderdag 22 oktober 2009 @ 19:10:
[...]

Autocad en Photoshop zijn ook GUI appjes, maar ik zou ze toch niet graag in Python meemaken. Oftewel, zo'n generaliserend statement is non-sense :P
Ik denk dat de belangrijke zinsnede van van Sh4wn hier was: "simpele GUI appjes". Elke tool/taal heeft z'n eigen gebied waar het sterk is. Maar aangezien de topicstarter aangeeft C++ te willen leren, lijkt het me niet nuttig om hier aan te komen dat Python een betere taal is voor een klein appje. Maakt niet uit welke taal je wil leren, het is altijd handiger om klein te beginnen.

Mijn eigen hints:
  1. Zoek een goed boek (dat onderwerp is hier al regelmatig langs geweest)
  2. Zoek een editor met syntax highlighting
  3. Gebruik in het begin alleen de std-library van C++
  4. Begin met handmatig compileren/linken. Zo snap je waarschijnlijk sneller wat deze stappen inhouden (wat erg belangrijk is later tijdens debuggen).
  5. Gebruik uiteindelijke een IDE die je zelf fijn vind.

My Dwarf Fortress ASCII Reward: ~~@~~####,.".D",.B""


Acties:
  • 0 Henk 'm!

  • Exirion
  • Registratie: Februari 2000
  • Laatst online: 10:32

Exirion

Gadgetfetisjist

VyperX schreef op donderdag 22 oktober 2009 @ 19:25:
Ik denk dat de belangrijke zinsnede van van Sh4wn hier was: "simpele GUI appjes".
Maak er dan gewoon 'simpele appjes' van. Wat hij zei suggereert dat GUI appjes per definitie simpel zijn ;)

"Logica brengt je van A naar B, verbeelding brengt je overal." - Albert Einstein


Acties:
  • 0 Henk 'm!

  • afraca
  • Registratie: April 2009
  • Laatst online: 13-08 16:46

afraca

Open Source!

Topicstarter
Allereerst mijn dank voor uw reacties.
NMe schreef op donderdag 22 oktober 2009 @ 18:45:
Als je database voor de buitenwereld toegankelijk is, dan kun je toch gewoon direct met je database praten? MySQL heeft gewoon een C API en als je het helemaal "netjes" wil doen dan is er ook een C++ wrapper voor. Daarmee heb je cURL dus alvast niet meer nodig. ;)

Verder is het niet zo relevant welke IDE je pakt. Of je nou Visual Studio gebruikt, C++ Builder of dat je nu zelf je code inclusief GUI in elkaar tikt in Notepad boeit niet zo, het zal allemaal net zo makkelijk gaan voor iets relatief simpels als dit. ;)
De database van buitenaf direct aanspreekbaar maken is mij in het verleden al een aantal maal afgeraden, vanwege veiligheidsrisico's. Is dit risico volgens jullie niet significant dan is het voor mij interessant om even te gaan kijken naar die mysql C++ wrapper. Mocht het risico wel significant zijn, dan kan ik met cURL toch een "gewone" http request doen lijkt mij?

Wat betreft IDE verschilt het naar mijn mening wel degelijk in eenvoud.
psychonetics schreef op donderdag 22 oktober 2009 @ 18:46:
Heb je al kennis van en ervaring met andere programmeertalen? Mijn ervaring is namelijk dat als je from scratch begint met C++ het een diepe, zelfs behoorlijke diepe sprong, kan zijn die enkel leidt tot teleurstelling. :)

Wellicht kan je eerst naar C kijken, of Java. Of PHP, als je helemaal nieuw bent in het programmeren?
Ik heb ervaring met object georienteerd programmeren in PHP, en sinds kort ook met het Kohana framework (v3 zelfs, brand new :) )

Om diverse redenen kan ik niet teveel loslaten over wat het wordt, maar het moet uiteindelijk wat meer kunnen dan slechts dat login schermpje. Ik begrijp dat C++ wat diep is, maar ik ga toch een poging wagen. Ondertussen ga ik een fractie tijd besteden om te kijken of een taal als java of python hetzelfde kan bereiken, dan is dat misschien optie.
Verwijderd schreef op donderdag 22 oktober 2009 @ 18:48:
Ben bang dat je applicatie je niet veel van C++ gaat leren:
  • Je invoer/uitvoerboxjes zijn een of andere library,
  • phpBB is geen database, dat zal dus wel MySQL zijn, ook een of andere library,
  • Server gebeuren gaat een library worden,
  • Enz, enz.
Het idee is duidelijk denk ik: Je zal waarschijnlijk als je zo aan je eerste C++ programma begint alleen leren hoe je al die libraries aan elkaar hacked, en niet erg veel van C++ leren. Mijn tip, begin dus eerst even met C++ leren en daarna de rest.

IDE:
  • Voor windows: Visual C++ Express,
  • Voor Apple: Weet niet, gok dat XCode wel wat heeft,
  • Voor Linux: Gok dat Eclipse + GCC wel wat kan?
Ik ben gelukkig niet achterlijk, maar bedoel dat ik een forum database heb, dat phpBB mijn forum mannetje is, en dat in die forum database inloggegevens staan.

Ik ben het verder met je eens dat het deel dat ik beschreven heb voornamelijk zal bestaan uit libraries, echter, de volgorde waarin ik het leer maakt niet gek veel uit. Het zou namelijk erg fijn zijn als binnenkort dat loginschermpje in ieder geval heb. Dus eerst "even" C++ leren past niet echt ideaal in m'n plan. (al ontkom ik er niet aan waarschijnlijk).
JanDM schreef op donderdag 22 oktober 2009 @ 18:54:
Wil je bij C++ blijven dan kan ik Qt aanraden. Dit framework heeft bijv. een mooie interface designer en classes voor databases zoals MySQL :)

Toch denk ik dat je het beste kunt beginnen met een goed boek (of goede tutorial) en eenvoudige programma's. Een GUI designen is leuk, maar wil je echt goed C++ kunnen dan kun je imho beter eerst de basis beheersen :)
Een interessante post. Ik was in het verleden al wat tegengekomen over Qt. Trolltech levert zelf een leuk programma erbij om ermee te werken. Ik ben echter bang dat hoewel ik er een leuk inlogschermpje mee tevoorschijn kan gaan toveren, de applicatie er teveel van C++ "wegdrijft" . Idiote gedachte natuurlijk. Je blijft met Qt nog wel alle functionaliteit van C++ houden? En als ik een probleem heb, kan ik dan wel ergens terecht waar ze iets van Qt snappen?

De GUI zal er uiteindelijk toch moeten komen, en aangezien dit de "start" is van de applicatie, leek het mij logisch daar ergens te beginnen.

Even in het algemeen wat betreft boeken. Ik kan het mij helaas momenteel niet veroorloven (veel) geld uit te geven aan boeken. Ik was van mening dat internet genoeg tutorials kent om mij de basis te leren. Hele websites zijn er zelfs aan besteed (learncpp.net bijvoorbeeld).
Sh4wn schreef op donderdag 22 oktober 2009 @ 19:07:
Ik zelf zou voor simpele GUI appjes geen C++ aanraden.

Mijn ervaring is dat script talen als Python en Ruby veel makkelijker zijn om mee te beginnen, en qua performance zijn ze snel genoeg voor vrijwel alle GUI appjes.
Zoals beschreven moet het uiteindelijk wat meer gaan doen, wat dieper gaan dan een GUI ..... Tevens zal ik, zoals eerder geschreven, een fractie van mijn tijd besteden aan het uitzoeken of python of java bijvoorbeeld kunnen doen wat ik uiteindelijk wil.

IMDB vote history | Next-gen OS, audio en video player, search engine en Movie DB


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17-09 21:27

Creepy

Tactical Espionage Splatterer

Als je echt C++ wilt leren: koop een boek en begin daarmee. Nee, je zult niet gelijk een GUI gaan maken, daarvoor is het stiekem wel belangrijk dat je de taal kent. Als je een huis gaat bouwen begin je ook niet zonder goede fundering. Ja, het duurt langer voordat je "wat leuks" op je scherm hebt maar je leert er in het begin echt meer van zodat je er wat later meer profijt van hebt. Je moet ook niet denken vanuit de start van de applicatie, maar eerst vanuit de start van de taal C++ zelf. Pas als je dat kent kan je pas gaan denken over die start van de applicatie.

Dat dit niet in jouw "ideaal" plan ligt is eigenlijk niet zo belangrijk. Zoals je zelf al aangeeft ontkom je er eigenlijk niet aan. Pas als je de taal redelijk kent dan snap je ook gelijk waarom libraries bepaalde zaken op een bepaalde manier oplossen, waarom en hoe dat allemaal werkt. Als je die kennis niet hebt dan loop je vanzelf tegen een muur op of los je zaken taal technisch verkeerd op. Dat zal je uiteindelijk meer tijd en moeite kosten dan nu eerst de taal echt goed leren en daarna pas met de rest aan de slag te gaan.

[ Voor 9% gewijzigd door Creepy op 22-10-2009 21:54 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Exirion
  • Registratie: Februari 2000
  • Laatst online: 10:32

Exirion

Gadgetfetisjist

Creepy schreef op donderdag 22 oktober 2009 @ 21:53:
Als je echt C++ wilt leren: koop een boek en begin daarmee. Nee, je zult niet gelijk een GUI gaan maken, daarvoor is het stiekem wel belangrijk dat je de taal kent. Als je een huis gaat bouwen begin je ook niet zonder goede fundering. Ja, het duurt langer voordat je "wat leuks" op je scherm hebt maar je leert er in het begin echt meer van zodat je er wat later meer profijt van hebt.

Dat dit niet in jouw "ideaal" plan ligt is eigenlijk niet zo belangrijk. Zoals je zelf al aangeeft ontkom je er eigenlijk niet aan. Pas als je de taal redelijk kent dan snap je ook gelijk waarom libraries bepaalde zaken op een bepaalde manier oplossen, waarom en hoe dat allemaal werkt. Als je die kennis niet hebt dan loop je vanzelf tegen een muur op of los je zaken taal technisch verkeerd op. Dat zal je uiteindelijk meer tijd en moeite kosten dan nu eerst de taal echt goed leren en daarna pas met de rest aan de slag te gaan.
Amen. Bovendien leer je dan ook echt programmeren. Als je een taal leert, leer je ook meteen de fundamenten van het maken van software. Dus nadenken over datastructuren en algoritmen, in plaats van meteen met frameworks te gaan knippen en plakken zonder dat je precies begrijpt wat je aan het doen bent. Dat laatste doen namelijk al teveel "developers".

"Logica brengt je van A naar B, verbeelding brengt je overal." - Albert Einstein


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

VyperX schreef op donderdag 22 oktober 2009 @ 19:25:
[...]

C++ is een superset van C, dus C++ is moeilijker ;)
Ik weet dat je zelf ook weet dat dat niet klopt maar ik zal het even verder uit de doeken doen voor mensen die meelezen en het niet weten: C++ heeft meer features dan C, maar dat betekent niet dat je ze per se allemaal moet gebruiken. Ja, C++ heeft OO-ondersteuning, templates, en nog veel meer "gekke" dingen die in C niet konden, maar tegelijkertijd zijn vooral dingen als stringmanipulatie in C++ juist véél makkelijker dan in C. :)
afraca schreef op donderdag 22 oktober 2009 @ 21:08:
[...]

De database van buitenaf direct aanspreekbaar maken is mij in het verleden al een aantal maal afgeraden, vanwege veiligheidsrisico's. Is dit risico volgens jullie niet significant dan is het voor mij interessant om even te gaan kijken naar die mysql C++ wrapper.
Als je database niet extern toegankelijk is: vooral zo laten. ;) Er stond dan ook een "als" in mijn antwoord. :P
Mocht het risico wel significant zijn, dan kan ik met cURL toch een "gewone" http request doen lijkt mij?
Ik zou me niet te druk maken om cURL, sommige frameworks bieden veel geschiktere klassen/componenten. HttpRequest-klassen vind je vast redelijk makkelijk op het web. :)
Wat betreft IDE verschilt het naar mijn mening wel degelijk in eenvoud.
Dat is puur persoonlijke smaak. Ik vind zelf de Borland IDE's geweldig werken omdat ik met Delphi heb leren programmeren, maar anderen zweren bij Visual Studio. Weer anderen vinden zo'n IDE maar niks en hebben het liefst iets simpels als DevC++ of zelfs vim. ;) Kies dus gewoon uit wat je zelf fijn vindt werken.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • writser
  • Registratie: Mei 2000
  • Laatst online: 16-09 10:48
Exirion schreef op donderdag 22 oktober 2009 @ 21:55:
[...]

Amen. Bovendien leer je dan ook echt programmeren. Als je een taal leert, leer je ook meteen de fundamenten van het maken van software. Dus nadenken over datastructuren en algoritmen, in plaats van meteen met frameworks te gaan knippen en plakken zonder dat je precies begrijpt wat je aan het doen bent. Dat laatste doen namelijk al teveel "developers".
+1. Boek wat ik je aanraad is Accelerated C++. Voorzover ik weet het beste boek om C++ te leren, het wordt zelfs door de ontwerper van C++ aanbevolen (bron). Verwacht niet dat je er snel doorkomt, het is hard werk :) Maar als je er eenmaal doorbent heb je wel een goede basiskennis van C++ en weet je ook hoe C++ "bedoeld is" om mee te werken. Je leert meteen over classes, de STL, templates en andere zaken die je nu misschien nog niet kent.

Let wel op: in het hele boek wordt geen regel GUI geprogrammeerd. Dat is nou eenmaal vaak omslachtig in C++. Als je C++ wil leren kun je het beste beginnen met simpele console-programma's. Simpele puzzeltjes oplossen, zoals bijvoorbeeld die uit het "grote programmeervuur topic". AIs je doel is om snel even een venstertje te maken met wat knoppen dan kun je misschien beter beginnen met C# of Java. Die talen zijn in dat opzicht wat vriendelijker voor beginners.

[ Voor 18% gewijzigd door writser op 22-10-2009 22:37 ]

Onvoorstelbaar!


Acties:
  • 0 Henk 'm!

  • truegrit
  • Registratie: Augustus 2004
  • Laatst online: 05-09 13:06
writser schreef op donderdag 22 oktober 2009 @ 22:33:
[...]


+1. Boek wat ik je aanraad is Accelerated C++. Voorzover ik weet het beste boek om C++ te leren, het wordt zelfs door de ontwerper van C++ aanbevolen (bron). Verwacht niet dat je er snel doorkomt, het is hard werk :) Maar als je er eenmaal doorbent heb je wel een goede basiskennis van C++ en weet je ook hoe C++ "bedoeld is" om mee te werken. Je leert meteen over classes, de STL, templates en andere zaken die je nu misschien nog niet kent.

...
Ik kan dit beamen, heb zelf ook mijn eerste programmas geschreven in C++ met behulp van dit boek, een absolute aanrader. Een van de weinige boeken waar ik echt de opdrachten van heb zitten maken met plezier. Je leert echt de fundamenten van programmeren, en omdat het C++ is zal je ook wat kennis van de computer opdoen, vooral met pointers ed.

De rest is al gezegd hier, dus dat zal ik achterwege laten. C++ is echter een prima taal om mee te beginnen, als je dat eenmaal onder de knie hebt is de rest een peuleschil (vooral talen die er op lijken, zoals php/java/c#)!

hallo

Pagina: 1