Page 2 of 3 First 123 Last
  1. #16
    Curahee Q's Avatar
    Registered
    07/12/07
    Location
    Hoogstraten
    Posts
    854
    iTrader
    0
    Mentioned
    0 Post(s)
    Zo lees je in C++ iets in
    Code:
    #include <fstream>
    #include <iostream>
    #include <string>
    using namespace std;
    
    int main() {
    	ifstream bestand("test.txt");
    	string invoer;
    
    	getline(bestand, invoer);
    
    	while(!bestand.fail()) {
    		cout << invoer << endl;
    
    		getline(bestand, invoer);
    	}
    
    	bestand.close();
    
    	return 0;
    }
    Zo schrijf je in C++ iets weg
    Code:
    #include <fstream>
    #include <string>
    using namespace std;
    
    int main() {
    	ofstream bestand("test.txt");
    
    	bestand << "Een tekst" << endl;
    
    	bestand.close();
    
    	return 0;
    }
    no votes  

  2. #17
    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 Scrimrage View Post
    This quote is hidden because you are ignoring this member. Show
    staat er ergens dat dat niet gaat?



    ik haal het gewoon aan als het feit dat dat handig kan zijn, zeker in het begin ...
    vandaar ook javafx, kunde ook wa design slepen enzo
    En waarom dan JavaFX? Voor gewone Java hebt ge ook designers. Tenzij je direct richting animaties wil gaan heeft JavaFX geen enkel voordeel tov Java of C#, ik zou zelf eerder zeggen nadelen omdat het toch wel zaken anders aanbrengt.
    “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  

  3. #18
    Fraggie's Avatar
    Registered
    17/07/02
    Posts
    9,537
    iTrader
    3 (100%)
    Mentioned
    0 Post(s)
    Reputation
    4/39
    Ik heb ervaring met Java en ben nu bezig met C++.

    Mijn voorkeur als taal gaat naar Java omdat deze 100% OOP is, daar waar C++ dingen bestaan als globale functies. Iets waar ik een hekel aan heb.

    Qua performance gaat mijn voorkeur naar C++. Om maar te zeggen, ik zit met oude hardware en als je 2 identieke programma's maakt, maar de ene is echt gemaakt voor de hardware waarop je werkt en de andere niet..

    Ook voor hardware met elkaar te doen praten zie ik dat niet gebeuren met Java. Het feit dat alles signed is kan ik echt niet bij. Het rare is dat ik overal lees dat Java als doel om op verschillende hardware te draaien en niet aan de bak kwam, maar gered is o.w.v. de applets. Maar Java en hardware, die link kan ik niet maken?

    Op gebeid van development moet ik toch terug kiezen voor Java, gezien ik nog maar één keer een externe bibliotheek heb moeten toevoegen om met MySQL te praten. Terwijl ik nu bij C++ niet anders moet doen dan importeren en compilen. Java heeft zo veel ingebakken klassen en dat versnelt het programmeren.

    Maar op het gebied van leerrijk is C++ dan toch weer koploper. Er gebeurt zo veel in Java waar ik geen weet van heb. Terwijl ik in C++ kan bewijzen hoe een integer opgeslagen wordt door ze byte voor byte uit te lezen. Foefelen met het geheugen en pointer is echt tof .

    En om dit lijstje volledig af te maken, ik denk dat ik al rap naar C# zal overstappen gezien die het beste van de 2 talen heeft imo .
    no votes  

  4. #19

    Registered
    03/05/09
    Location
    Heverlee
    Posts
    103
    iTrader
    5 (100%)
    Mentioned
    0 Post(s)
    Vind dit een enorm interessante discussie aangezien ik momenteel zelf in een 'talencrisis' zit. Er zijn er zoveel die allemaal hun voordeel hebben. En ik vind het enorm moeilijk om nu te kiezen welke taal ik mij in wil verdiepen. Want er is zodanig veel te leren dat je er , imo , niet voor kan kiezen alles diep te kennen. Om over onderhouden dan nog maar te zwijgen.

    Mijn vorige grote projecten waren in C++, aangezien ik voornamelijk focus op games is dit begrijpbaar. Vind het, zoals hierboven gezegd, leuk om te weten wat er allemaal gebeurt. Hoewel pointers eerst een struikerblok waren (prille begin he ) vind ik het gewoon heerlijk om mee te werken. Daarnaast zijn ook de meeste render-engines in C++ of C gedaan, wederom een reden om daar te blijven plakken.

    In Java heb ik minder intresse, en zou eigenlijk graag is worden overtuigd waarom ik Java zou willen kunnen. Java is in mijn ogen trager als C++ qua performance en minder diepgaand. Terwijl dat je voor rapid development (de troef van Java tegenover C++ in mijn ogen) dan inderdaad beter uitwijkt naar C# fzo.

    Momenteel ben ik met iet totaal anders bezig, ik ben namelijk Haskell aan het verkennen, moest van school uit het begin kennen, maar ben nu toch benieuwd how deep the rabbit hole goes. Nog iemand ervaring met Haskell? En hoe beviel die ervaring?

    En om op topic start te reageren: Ik zou beginnen met C++ en dan pas Java. Heb Java wel al is bekeken en het komt over als: C++ maar dan hier en daar iets verstopt. C# is dan nog wat meer verstoppertje spelen.
    no votes  

  5. #20
    Soulless's Avatar
    Registered
    07/11/03
    Location
    Bxl
    Posts
    1,626
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/8
    Op school (EHB Toegepaste Informatica) zijn we in het eerste jaar enkel bezig met c++. Het voordeel is volgens mij, dat c++ enorm strict is en je hierdoor "verplicht" bent goed te programmeren om iets te laten werken. Het nadeel is dat het allemaal relatief "droog" is. Het eerste jaar zijn we niet anders bezig dan met het maken van console applicaties. Een ander ding dat ik niet zo leuk vindt aan c++ zijn pointers , het is enorm krachtig, maar volgens mij niet erg evident om het juiste gebruik ervan aan te leren.

    Ik kijk wel uit naar Java en/of C#, het meest kijk ik wel uit naar ABAP aangezien ik mij wil verdiepen in SAP ERP development ^_^
    no votes  

  6. #21

    Registered
    28/09/05
    Posts
    6
    iTrader
    0
    Mentioned
    0 Post(s)
    C# en Java hebben het voordeel van rapid development languages te zijn. Ze zijn afgeleiden van C++ die er een hoop uitsmijten. Dit maakt dat je er sneller dingen mee kunt maken, maar je hebt minder bouwstenen om ze te maken. Die beperking is op die manier dus eigenlijk een zegen.
    C# en Java gaan altijd trager zijn omdat ze naar een tussentaal worden gecompileerd en, in het geval van C#, op het moment van het runnen door een JIT-compiler worden vertaald, in het geval van Java in een virtual machine wordt gedraaid.

    Wat betreft welke taal best eerst wordt geleerd:
    C++ is een taal die meer inzicht in het proces vergt. Om het met een bekende quote te zeggen: "C++ gives you all the rope you need to hang yourself."
    Dit klopt. Met C++ kan je je geheugen snel verneuken (pardon me the words), hetgeen in C# en Java niet meteen zal lukken, omdat je er geen rechtsreekse toegang tot hebt.

    Een ander nadeel van C++ dat wordt aangehaald (Door Fraggie) is dat C++ lastig zou zijn wegens de libraries die je extra moet downloaden en inladen, bijvoorbeeld om te interfacen met mysql.
    De reden hiervoor is dat C++ een oudere standaard heeft. Terwijl Java om de zo veel tijd updates krijgt.
    De STL (de standaard bibliotheek van C++) is toen gemaakt om een basis te geven. Andere mensen hebben andere ideeën, en specifieke dingen zoals interfaces met mySQL zijn dus door verschillende mensen gemaakt.
    Zo'n specifieke zaken horen ook niet in een standaard, aangezien je daardoor bepaalde technologieën voortrekt. Wil je er mee interfacen, gebruik dan een library er voor, of schrijf er zelf een, was de redenering.

    Verder zorgt de grote hoeveelheid aan standaard toegevoegde classes van zowel Java als C# voor een zekere bloating. Een hoop data op de computer, die helemaal niet gebruikt wordt.

    Daar tegenover staat natuurlijk weer dat het inderdaad wel makkelijker is, zeker voor de developer, om al die zaken meteen tot zijn beschikking te hebben.

    Syntactisch is C++ ook niet zo evident. Sterretjes voor of na woorden, ampersands, zeker die ene punt-komma niet vergeten...
    De IDE's voor C# en Java maken het ook daar je makkelijker.
    Dat komt ook weer deels dankzij de eenvoudigere opzet van de taal, het verwijderen van templates lost een hoop problemen op van het parsen voor auto-aanvulling etc.

    Wet Manjak zei over Haskell:
    functionele talen zoals Haskell (dat zijn talen die functies als eerste-klasse objecten zien, zoals klassen in C# en Java zijn, dus je werkt er niet met klassen, maar met functies of operaties) hebben een prachtige elegantie die een object-georiënteerde taal niet kan evenaren.
    waar je in Java twintig regels voor zou nodig hebben, kan je in een taal als Haskell of Scheme misschien in vijf regels schrijven, dankzij recursie.

    Het loont daarom ook om zowel functionele als OO talen te leren, technieken die je in de ene meestal gebruikt kan je ook vaak op een of andere manier in de andere gebruiken.

    Nog een laatste punt: betreffende cross-platform ontwikkeling:
    Ook C++ is een taal die niet platformafhankelijk is.
    Als je alleen de standaard bibliotheek gebruikt (dus een console programma), zal deze op ieder platform draaien, op voorwaarde dat je een compiler hebt voor dat platform.
    Op het vlak van compilers zijn er helaas soms wat verschillen. Zaken die VC++ zal compilen zullen niet altijd compilen met G++ bijvoorbeeld, de standaarden worden niet altijd volledig nageleefd, of extra's worden toegevoegd (#pragma once, bijvoorbeeld, is geen onderdeel van de standaard, en als je met iets anders dan VC++ compileerd, moet je je headers nog altijd beschermen met een #ifdef).
    Betreffende cross-platform UI's zijn er meerdere op het internet te vinden die op meerdere platforms werken.


    Om terug te keren naar de oorspronkelijke vraag:
    Wil je snel programma's maken, leer dan Java of C# (of een functionele taal, zeker even goed!)
    wil je snelle programma's maken, leer dan C++, maar reken er dan op dat de leercurve een pak steiler is.
    no votes  

  7. #22
    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 Manjak View Post
    This quote is hidden because you are ignoring this member. Show
    Momenteel ben ik met iet totaal anders bezig, ik ben namelijk Haskell aan het verkennen, moest van school uit het begin kennen, maar ben nu toch benieuwd how deep the rabbit hole goes. Nog iemand ervaring met Haskell? En hoe beviel die ervaring?
    In Haskell wordt ge plots geconfronteerd met een aantal dingen die radicaal anders zijn. Niet alleen zit ge plots met een type-systeem dat zeer sterk verschilt uit eerdere ervaringen: ADT's, higher-kinded polymorfisme, functies als types, en het statisch typeren van neveneffecten (zoals I/O).

    Daar komt bovendien nog eens luie evaluatie bovenop. Vooral dat laatste is theoretisch zeer mooi, maar maakt het lastig om het geheugengerbruik van uw code te beredeneren, vooral als ge uit een meer traditionele programmeertaal komt. Haskell leren is een speciale ervaring, en verloopt (bij mij althans) zeer gefaseerd.
    I caught a glimpse and now it haunts me.
    no votes  

  8. #23
    dJeez's Avatar
    Registered
    17/07/02
    Location
    Sol System
    Posts
    10,064
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/78
    Om de mythe over de traagheid van Java nog maar eens in perspectief te plaatsen stel ik voor dat je het volgende eens doorneemt : Java pulling ahead? Java versus C++ benchmarks.
    PSN: dJeezBE - Delicious bookmarks
    Disclaimer: I am currently suffering from severe CSD (Compulsive Sarcasm Disorder). - L'onion fait la farce - Facile largire de alieno
    Pastafarian by choice
    no votes  

  9. #24
    Messias.'s Avatar
    Registered
    06/04/06
    Location
    BXL
    Posts
    4,415
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Reputation
    2/40
    Akkoord. Er wordt vaak over de traagheid van Java gesproken in de context van processen die vaak een korte looptijd hebben. In zo'n cases weegt de overhead van een jit-compiler (en de opstarttijd van de VM) inderdaad relatief zwaarder door. Maar gegeven processen met een lange looptijd is die extra opstarttijd en overhead te verwaarlozen. Een jit heeft op langere termijn bovendien veel meer informatie ter beschikking om optimalisaties door te voeren. Als ge in zo'n zaken geïnteresseerd zijt, moet ge de blog van Cliff Click maar eens volgen om te zien wat voor zotte dingen allemaal mogelijk zijn.

    Mensen kunnen zagen wat ze willen op Java-de-programmeertaal, maar de HotSpot, het kloppend hart van de JVM is echt state-of-the-art.
    I caught a glimpse and now it haunts me.
    no votes  

  10. #25

    Registered
    03/05/09
    Location
    Heverlee
    Posts
    103
    iTrader
    5 (100%)
    Mentioned
    0 Post(s)
    Hier ook wat benchmarks, en wat recenter denk ik. C++ komt er over het algemeen toch beter uit.

    speed and size Java 6 -Xint&#247;C++ GNU g++ | ComputerLanguageBenchmarksGame

    Weet wel niet meteen wat het verschil is tussen de verschillende Java stuff. Kan iemand even toelichten wat het verschil is tussen Java 6 - Xint / Server / steady state?
    no votes  

  11. #26
    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 Manjak View Post
    This quote is hidden because you are ignoring this member. Show
    Hier ook wat benchmarks, en wat recenter denk ik. C++ komt er over het algemeen toch beter uit.

    speed and size Java 6 -Xint÷C++ GNU g++ | ComputerLanguageBenchmarksGame

    Weet wel niet meteen wat het verschil is tussen de verschillende Java stuff. Kan iemand even toelichten wat het verschil is tussen Java 6 - Xint / Server / steady state?
    De "-server" flag zorgt er voor dat de jit agressiever zal inlinen ten koste van geheugengebruik en opstarttijd.
    I caught a glimpse and now it haunts me.
    no votes  

  12. #27
    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 Fraggie View Post
    This quote is hidden because you are ignoring this member. Show
    Mijn voorkeur als taal gaat naar Java omdat deze 100% OOP is, daar waar C++ dingen bestaan als globale functies. Iets waar ik een hekel aan heb.
    Statische methoden in een OO model zijn anders ook wel te vergelijken met globale functies.
    “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. #28
    Fraggie's Avatar
    Registered
    17/07/02
    Posts
    9,537
    iTrader
    3 (100%)
    Mentioned
    0 Post(s)
    Reputation
    4/39
    Quote Originally Posted by Cycloon View Post
    This quote is hidden because you are ignoring this member. Show
    Statische methoden in een OO model zijn anders ook wel te vergelijken met globale functies.
    Maar die zijn toch altijd klasse gebonden?
    no votes  

  14. #29
    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 Fraggie View Post
    This quote is hidden because you are ignoring this member. Show
    Maar die zijn toch altijd klasse gebonden?
    Ja, maar maakt dat ze plots wel beter dan globale functies? Ik zie geen verschil tussen

    Code:
    String GeefHallo() { return "Hallo"; }
    of

    Code:
    public class Verteller {
       public static String geefHallo() { return "Hallo"; }
    }
    Dat C# dus minderwaardig zou zijn (of minder de voorkeur zou krijgen) tov Java omwille van globale functies is nogal kort door de bocht omdat statische methoden even goed globale functies zijn (zei het verpakt in nog een extra class definitie die hier eigenlijk totaal nutteloos is). In principe staan statische methoden eigenlijk volledig los van de klasse en het object omdat het totaal geen staten/toestanden van het object kan manipuleren, het kan er zelf volledig geen interactie mee aangaan.
    “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  

  15. #30

    Registered
    03/05/09
    Location
    Heverlee
    Posts
    103
    iTrader
    5 (100%)
    Mentioned
    0 Post(s)
    Quote Originally Posted by Cycloon View Post
    This quote is hidden because you are ignoring this member. Show
    Ja, maar maakt dat ze plots wel beter dan globale functies? Ik zie geen verschil tussen

    Code:
    String GeefHallo() { return "Hallo"; }
    of

    Code:
    public class Verteller {
       public static String geefHallo() { return "Hallo"; }
    }
    Wordt het ook niet aanschouwd als good practice om globale functies (als je ze gebruikt) binnen een namespace te zetten? Wat min of meer hetzelfde effect bereikt als die klasse.
    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