Page 1 of 4 1234 Last
  1. #1
    Exorikos's Avatar
    Registered
    21/12/04
    Location
    Leuven
    Posts
    20,380
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/227

    C++ leren vanuit voorkennis Java

    Ik krijg de kans als student om mee te werken aan een project, maar het programmeren hiervoor gebeurt in C++. Ik heb zoals velen wel een standaardvak dat Java gebruikt wel gehad. Zijn er veel belangrijke verschillen tussen beide talen wat structuren betreft? Hoe pak ik de overstap het beste aan?
    Physics is like sex: Sure, it may have practical results, but that is not the reason we do it. ~ R. Feynman
    All science is either physics or stamp collecting. ~ E. Rutherford
    S'il est vrai qu'on construit des cathédrales aujourd'hui dans la Science, il est bien dommage que les gens n'y puissent entrer, ne puissent pas toucher les pierres elles-mêmes.
    no votes  

  2. #2
    Daedie's Avatar
    Registered
    30/09/02
    Location
    Kasterlee
    Posts
    6,160
    iTrader
    11 (100%)
    Mentioned
    0 Post(s)
    Reputation
    1/25
    De grootste verschillen zijn de expliciete memory management en pointers in het algemeen. Maar dat zijn ook wel net de moeilijkste aspecten van de taal .

    C++ is toch nog van een heel ander kaliber om goed onder de knie te krijgen omwille van zijn meer low level karakter. Ge kunt dat dan ook best grondig bijstuderen.

    Hier wat meer informatie: Comparison of Java and C++ - Wikipedia, the free encyclopedia
    PSN: Daedie
    no votes  

  3. #3
    Gurdt's Avatar
    Registered
    21/08/08
    Location
    Hasselt
    Posts
    2,653
    iTrader
    8 (100%)
    Mentioned
    0 Post(s)
    Reputation
    5/46
    Mja, idd, wat hierboven gezegd wordt. Het is wel doenbaar hoor, maar je zal toch je denkwijze iets moeten aanpassen tegenover Java.

    Memory management: alles wat je dynamisch aanmaakt moet je expliciet verwijderen. Java doet dit in jouw plaats, maar C++ niet. Het komt er grofweg op neer dat je voor elk object waarbij je "new" hebt gedaan, dat je als je het niet meer nodig hebt "delete" moet doen.

    En pointers, dat gebeurt in Java ook vanzelf. Een pointer is iets - ter grootte van een integer ofzo - dat wijst naar een andere geheugenplaats. Dat kan een object zijn of een andere pointer, eender wat. Zie het als een soort van shortcut. Je kan hiermee krachtige constructies maken
    o/'
    no votes  

  4. #4
    Fraggie's Avatar
    Registered
    17/07/02
    Posts
    9,537
    iTrader
    3 (100%)
    Mentioned
    0 Post(s)
    Reputation
    4/39
    Wat ook nieuw is, is het scheiden van je code in een header (*.h of *.hpp) en een code file (*.cpp). Verder moet je enkel nog rekening houden met include guards alla Include guard - Wikipedia, the free encyclopedia

    Geen vereiste, maar good practice.
    no votes  

  5. #5
    Exorikos's Avatar
    Registered
    21/12/04
    Location
    Leuven
    Posts
    20,380
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/227
    Raden jullie een boek aan om te beginnen of gewoon online tutorials?

    Ik denk aan een boek als: C++ for mathematicians : an introduction for students and professionals. van Chapman en Hall. Het is voor dataverwerking van een experiment, dus het zullen vooral bewerkingen en fits zijn die geprogrammeerd moeten worden. Iemand ervaring met dit boek?

    De andere optie is C++ zelf eerst leren en dan bijkomende dingen zelf opzoeken tijdens het programmeren.
    Last edited by Exorikos; 14-06-2011 at 15:01.
    Physics is like sex: Sure, it may have practical results, but that is not the reason we do it. ~ R. Feynman
    All science is either physics or stamp collecting. ~ E. Rutherford
    S'il est vrai qu'on construit des cathédrales aujourd'hui dans la Science, il est bien dommage que les gens n'y puissent entrer, ne puissent pas toucher les pierres elles-mêmes.
    no votes  

  6. #6
    Daedie's Avatar
    Registered
    30/09/02
    Location
    Kasterlee
    Posts
    6,160
    iTrader
    11 (100%)
    Mentioned
    0 Post(s)
    Reputation
    1/25
    Hangt af van de scope van het project en uw vertrouwen in uw programmeervaardigheden en intelligentie .

    Als die dingen goed meevallen denk ik dat ge u wel kunt behelpen met (goede) online referenties om bij te leren.

    Als ge sowieso plannen hebt om u uitgebreid te verdiepen in C++ is een boek natuurlijk wel aan te raden.

    edit: ik kom zelf wel van de andere richting, eerst C dan C++ en dan pas Java. Dus kan zijn dat ik het wat onderschat.
    Last edited by Daedie; 14-06-2011 at 15:14.
    PSN: Daedie
    no votes  

  7. #7
    NeverwinterX's Avatar
    Registered
    27/08/04
    Location
    Leuven
    Posts
    930
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    11/38
    Je vindt soms specifieke tutorials (of boeken? dat weet ik niet precies) voor een introductie van C++ als je al Java kennis hebt. Dan wordt er vrij vlug over de delen die analoog zijn met Java gegaan en vooral ingegaan op de verschillen.

    c++ for java programmers - Google zoeken
    c++ for java developers - Google zoeken

    Je zal toch echt wat moeten bijstuderen aan het pointer/memory gedeelte. In het begin zal je dus achterop lopen bij diegenen die al ervaring hebben in C++.
    I am thee and thou art me and all of one is the other.
    TED talk: Richard Dawkins on militant atheism
    no votes  

  8. #8
    Cycloon's Avatar
    Registered
    18/01/04
    Location
    Melle
    Posts
    10,535
    iTrader
    56 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/102
    Pointers e.d. zijn overigens allemaal niet zo moeilijk. Iedereen doet daar nogal fuzzy maar eigenlijk stelt dat allemaal niet zoveel voor. De syntax echter is een stuk uitgebreider en dat is volgens mij het grootste struikelblok. Compiler errors zijn ook niet altijd even duidelijk waardoor je wel eens naast het probleem zit te kijken.
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character
    no votes  

  9. #9
    Fodbaddun's Avatar
    Registered
    18/06/11
    Location
    Lo-Reninge
    Posts
    249
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/1
    Pointers kunnen wel tricky worden hoor, maar eens je ermee weg bent is het wel te doen.

    Als je eens zoekt op het internet moet je es de '101 rules' van Sutter bekijken. Eens je wat weg bent met C++ kan dit boek je op weg helpen om clean en fast code te schrijven. Het is erg belangrijk in C++ dat je je aan enkele regels houdt en vooral een consequent en efficiënt gedrag vertoont in het programmeren.

    C++ kan al snel erg ingewikkeld worden, maar je moet absoluut niet bang zijn om er aan te beginnen. Gewoon erg veel programmeren, van kleine programma's tot heuse games. Werk object-georiënteerd zoals ik hier ook al gelezen heb, gebruik de STL (Standard Template Library) en leer wat advanced stuff om je code sneller te maken

    Als je vragen hebt, mag je altijd mailen ofzo!
    no votes  

  10. #10
    Exorikos's Avatar
    Registered
    21/12/04
    Location
    Leuven
    Posts
    20,380
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/227
    Bedankt voor de tips. Als de opdracht concreet wordt (het experiment moet eerst nog slagen) dan zal ik hier vast en zeker met vragen komen, maar nu zal ik hopelijk al een goed eind komen.
    Physics is like sex: Sure, it may have practical results, but that is not the reason we do it. ~ R. Feynman
    All science is either physics or stamp collecting. ~ E. Rutherford
    S'il est vrai qu'on construit des cathédrales aujourd'hui dans la Science, il est bien dommage que les gens n'y puissent entrer, ne puissent pas toucher les pierres elles-mêmes.
    no votes  

  11. #11
    Moto's Avatar
    Registered
    17/07/02
    Location
    Wilrijk
    Posts
    1,994
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Reputation
    9/16
    Wat voor een project is het eigenlijk dat ge C++ nodig hebt ?

    Tegenwoordig worden der ook snelle dingen gedaan in functional languages vb Call of Duty MP servers zijn van C++ naar Erlang herschreven (vooral thread-heavy dingen)

    Erlang and First-Person Shooters
    no votes  

  12. #12
    Cycloon's Avatar
    Registered
    18/01/04
    Location
    Melle
    Posts
    10,535
    iTrader
    56 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/102
    Quote Originally Posted by Moto View Post
    This quote is hidden because you are ignoring this member. Show
    Wat voor een project is het eigenlijk dat ge C++ nodig hebt ?

    Tegenwoordig worden der ook snelle dingen gedaan in functional languages vb Call of Duty MP servers zijn van C++ naar Erlang herschreven (vooral thread-heavy dingen)

    Erlang and First-Person Shooters
    Mja, wat een vergelijking. Een super-multi-core omgeving met very high concurrency en massa's netwerkverkeer die op elk moment kan wegvallen. Zonder de nodige ondersteuning van de gebruikte technologie geraak je daar nooit.

    Maar hier gaat het duidelijk over iemand die wil beginnen programmeren. Dan kan je gerust het wiel nog eens opnieuw uitvinden
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character
    no votes  

  13. #13
    NeverwinterX's Avatar
    Registered
    27/08/04
    Location
    Leuven
    Posts
    930
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    11/38
    Quote Originally Posted by Moto View Post
    This quote is hidden because you are ignoring this member. Show
    Wat voor een project is het eigenlijk dat ge C++ nodig hebt ?

    Tegenwoordig worden der ook snelle dingen gedaan in functional languages vb Call of Duty MP servers zijn van C++ naar Erlang herschreven (vooral thread-heavy dingen)

    Erlang and First-Person Shooters
    Interessant
    I am thee and thou art me and all of one is the other.
    TED talk: Richard Dawkins on militant atheism
    no votes  

  14. #14
    Piroh's Avatar
    Registered
    24/09/10
    Location
    Regio Brussel
    Posts
    642
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/35
    Zijn er eigenlijk veel verschillen met C++ en C? Kbedoel, is het ene moeilijker dan het andere of is da gewoon vergelijkbaar qua moeilijkheid?
    no votes  

  15. #15
    Messias.'s Avatar
    Registered
    06/04/06
    Location
    BXL
    Posts
    4,415
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Reputation
    2/40
    Quote Originally Posted by Piroh View Post
    This quote is hidden because you are ignoring this member. Show
    Zijn er eigenlijk veel verschillen met C++ en C? Kbedoel, is het ene moeilijker dan het andere of is da gewoon vergelijkbaar qua moeilijkheid?
    C is simpeler (maar daarom niet eenvoudiger) omdat het een veel kleinere taal is. C++ is geconcipieerd als een superset van C, dat wil zeggen dat het dingen toevoegt aan C, waardoor het heel wat complexer is. Complexer wil daarom niet zeggen moeilijker: omdat C++ nieuwe constructies introduceert zijn veel problemen makkelijker/korter op te lossen dan in gewoon C. Ge betaalt wel een prijs voor die complexiteit: het wordt makkelijker om dingen over het hoofd te zien, en sommige dingen zijn moeilijker te begrijpen.
    I caught a glimpse and now it haunts me.
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in