Page 5 of 11 First 123456789 ... Last

Thread: C++

  1. #61

    Registered
    30/07/03
    Posts
    626
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by HaZe
    This quote is hidden because you are ignoring this member. Show
    c++ is c-taal maar dan met extra functies ofzoiets dus overstap van c naar c++ is niet zo groot, beste is eerst c leren voor de je c++ gaat doen.

    veel verschil is er niet enkel da je meer met klassen en overerving enz.. gaat bezig zijn dus OO principe. Wat er in een functie van een klasse gebeurt blijft ongeveer hetzelfde als een functie in c.

    Maar beter zou zijn als je eerst java leert en daarna naar c++ overgaat die stap is ook niet groot, En dan leer je ineens iets maken zonder last te hebben van pointers die u grijze haren kunne bezorgen.
    Wablieft? Weinig verschil? Dat C++ afgeleid is van C, daar ga ik akkoord mee, maar het is een totaal andere manier van programmeren hoor.
    Plus dat je klassen kan afleiden, je kan dus abstract objecten omschrijven en ze daarna pas implementeren. Je kan ook klassen templatizen en er is de STL library!!
    C++ laat toe om stukken code van elkander duidelijker af te schermen, wat niet altijd zo eenvoudig is met C.
    Als je in C bijvoorbeeld een 3D vector wil en deze moeten met short integers, long integers en floats en werken, dan zit je met 3 structs. In C++ schrijf je 1 template klasse.
    Je kan zelfs een heel UML diagram afleiden van je code (met bvb Doxygen) als je met klassen werkt.

    Met pointers heb je geen last als je ze goed implementeerd. Je kan memory leaks met een AutoPtr klasse catchen als je het combineert met logging. Google maar es.

    Headers zijn dan weer heel handig, want daarmee beperk je je dependencies. Je header maakt ook een mooi overzicht van hoe de achterliggende code is, zonder dat je de code moet gaan bekijken. Natuurlijk moet de header wel goed gedocumenteerd en opgesteld zijn.

    Quote Originally Posted by killgore
    This quote is hidden because you are ignoring this member. Show
    tbh zou ik niet beginnen met vb, de kans dat ie het later echt wilt gaan gebruiken is zeer klein.
    Klopt, als je iets wil doen, dan doe je het beter van de eerste keer goed. Je gaat toch niet eerst VB leren om dan later nooit meer te gebruiken? Maar als je VB ook interessant vind, dan is het geen slecht idee om hier eerst mee te starten. Java is ook een aanrader (want dat leunt qua syntax meer aan bij C++, is cross-platform).
    Last edited by Vich; 20-11-2004 at 16:33.
    [LifeIsDigital.net] - Mijn artikels, open source software en projecten!
    no votes  

  2. #62
    Hale's Avatar
    Registered
    18/07/02
    Location
    leuven
    Posts
    273
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by Vich
    This quote is hidden because you are ignoring this member. Show
    ...
    Met pointers heb je geen last als je ze goed implementeerd. Je kan memory leaks met een AutoPtr klasse catchen als je het combineert met logging. Google maar es.
    sorry, maar daar ben ik het niet mee eens.
    natuurlijk heb je geen problemen met pointers als je ze deftig gebruikt ( het zou maar erg zijn ).
    maar het neemt ni weg dat er veel elegantere oplossingen bestaan, die het leven van een programmeur veel eenvoudiger maken. Ikzelf verkies de aanpak van java waarin de taal kiest of er waarde of referentie semantiek gebruikt wordt.
    dat ik dan eens op de zoveel gevallen ( want geef toe, hoe dikwijls ga je waarde semantiek gebruiken voor objecten...) iets minder efficiënt bezig ben, neem ik er graag bij.


    Headers zijn dan weer heel handig, want daarmee beperk je je dependencies. Je header maakt ook een mooi overzicht van hoe de achterliggende code is, zonder dat je de code moet gaan bekijken. Natuurlijk moet de header wel goed gedocumenteerd en opgesteld zijn.
    zelfde als mijn vorige punt, als programmeur zou je je absoluut niet moeten bezighouden met aan de compiler duidelijk te maken waar alles te vinden is.
    er bestaan trouwens voor bijna alle iets of wat bekende talen wel tools om de interface samen met de documentatie uit je klassen te extracten.

    het enige voordeel van c++ tov andere (OO) talen is dat er deftige compilers voor bestaan, die goeie en snelle code produceren.


    als je trouwens is opzoek bent naar een oudere, maar voor zijn tijd erg revolutionaire taal, moet je is kijken naar SmallTalk. De taal heeft duidelijk haar beperkingen en ik zou er nu niet direct applicaties mee beginnen ontwikkelen, maar de achterliggende gedachte ( lees volledig OO ) is wel mooi.
    :o
    no votes  

  3. #63
    fretn's Avatar
    Registered
    17/07/02
    Posts
    951
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    het boek 'C programming in easy steps' is superduidelijk uitgelegd in geen al te technisch engels, de voorbeelden zijn simpel ze gaan niet zwaar in detail, het is in kleur en er wordt goed gbruik gemaakt van iconen etc, ze tonen zowel voor win32 en linux hoe je moet compileren etc, (met gebruik van gcc) en er wordt geen gebruik gemaakt van een IDE (om te tonen dat het ook zonder kan, en dat je beter leert proggen zonder, want teveel hulp is ook niet goed)

    Duur is het niet 18 euro op proxis (RECLAME), rond de 200 bladzijden, ideaal voor een beginner

    Dus ik veronderstel dat 'C++ programming in easy steps' ook wel een goed boek zal zijn en wat ik in de toekomst wel eens zal kopen
    Day by day photoblog: http://w.twwwo.be/
    no votes  

  4. #64

    Registered
    30/07/03
    Posts
    626
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    't Is maar wat je eigen voorkeur is. Ik heb graag 100% controle over mijn code. (e.g. assembler mogelijkheden)

    het enige voordeel van c++ tov andere (OO) talen is dat er deftige compilers voor bestaan, die goeie en snelle code produceren.
    Dat is zeker niet het enige voordeel, anders zou het zielig zijn om enkel voor die reden in C++ te programmeren. C++ compileert native(=>performantie), is backwards compatible met C (dus je bent niet verplicht OO te werken), je hebt 100% controle over wat je schrijft, etc.

    Begrijp me niet verkeerd hee, ik vind Java zeker niet slecht, integendeel. Ik hou me vooral bezig met games, vandaar dat mijn voorkeur naar C++ gaat.
    [LifeIsDigital.net] - Mijn artikels, open source software en projecten!
    no votes  

  5. #65
    Hale's Avatar
    Registered
    18/07/02
    Location
    leuven
    Posts
    273
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    mja tis zoals je zegt he : c++ steekt op vlak van performantie ver boven de rest uit, en voor games enzo is het dus idd de interessantste taal.

    over dat 100% controle hebben over je code : ik kan er idd inkomen dat dat een goede reden is om voor c++ te kiezen; maar spijtig genoeg leidt die vrijheid ook tot veel slechte applicaties, moeilijk op te sporen bugs, etc...

    daarom dat makers van nieuwe talen altijd maar hoger niveau concepten aanbieden en zo ver mogelijk weg blijven van implementatie details...
    ( pointers worden door kwatongen ook wel eens de goto van de 80's genoemd )

    binnen 10à15 jaar is programmeren zoals wij het nu kennen misschien wel volledig vervangen door modelleren in UML waaruit dan rechtstreeks de code wordt gecompiled. Het is in ieder geval de richting waarin we aan het uitgaan zijn, en waarin ook stevig wat onderzoek wordt vericht.

    ON TOPIC :
    ik zou de thread starter aanraden te beginnen in java :
    -het is OO zodat je meteen de juiste denkwijze aanleert
    -het is eenvoudiger dan c++ omdat je je niet echt bezig moet houden met referentie vs waarde sementiek ( het is alleszinds eenvoudiger dan al de mogelijkheden die je in c++ hebt, en die zeker voor een beginnend iemand erg verwarrend kunnen zijn )
    -de syntax leunt dicht aan bij die van c++ zodat je uiteindelijk de overgang makkelijk kan maken
    Last edited by Hale; 20-11-2004 at 20:36.
    :o
    no votes  

  6. #66

    Registered
    12/10/02
    Location
    mars
    Posts
    14,319
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by Hale
    This quote is hidden because you are ignoring this member. Show
    over dat 100% controle hebben over je code : ik kan er idd inkomen dat dat een goede reden is om voor c++ te kiezen; maar spijtig genoeg leidt die vrijheid ook tot veel slechte applicaties, moeilijk op te sporen bugs, etc...
    N/o, maar dat vind ik een van de meest cliché redenen (en ook meest oncorrecte om mensen af te raden in c++ te programmeren. Het is toch niet omdat een ander slechte apps maakt met een bep. prog-taal dat jij deze daarom niet moet leren.

    Is zelfde met php (ik kan relijk wat php, daarom dak et ook graag als vb. gebruik ): Tis toch niet omdat 90% van de in php-gecode websites unsafe, traag, vaak ook niet 100% correct, ... zijn dat iemand geen php moet leren .
    no votes  

  7. #67
    Hale's Avatar
    Registered
    18/07/02
    Location
    leuven
    Posts
    273
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    als er nu geen betere alternatieven voor handen zouden zijn, maar dat is helemaal het geval niet. ( behalve dan misschien als je idd puur voor performance gaat )

    das hetzelfde als rijden met een wagen zonder stuurbekrachting, abs, etc...
    als je deftig kan rijden en mits enige oefening zal je die wagen ook zonder problemen op de baan kunnen houden.
    vraag is : is het de moeite waard als er wagens bestaan die wel servo, abs, etc aanbieden ( er nu even vanuit gaande dat prijsverschillen enzo geen beperkende factor zijn ( hier zou dat de performance zijn ) ).

    niemand zal u verbieden om rechtstreeks in assembler te coden, dan heb je nog het meeste vrijheid van allemaal en het kan ook perfect, maar dit raad je toch ook niemand aan ?
    Last edited by Hale; 20-11-2004 at 22:09.
    :o
    no votes  

  8. #68

    Registered
    30/07/03
    Posts
    626
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Ik zou de vergelijking nou niet gaan trekken met assembler, want dat is low-level programmeren.

    Hoe je het ook draait of keert, het gebruik van een taal hangt volledig af van de implementatie-eisen. Assembler kan zijn voordelen hebben, net als Visual Basic er heeft.
    [LifeIsDigital.net] - Mijn artikels, open source software en projecten!
    no votes  

  9. #69

    Registered
    12/10/02
    Location
    mars
    Posts
    14,319
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by Hale
    This quote is hidden because you are ignoring this member. Show
    das hetzelfde als rijden met een wagen zonder stuurbekrachting, abs, etc...
    als je deftig kan rijden en mits enige oefening zal je die wagen ook zonder problemen op de baan kunnen houden.
    n/o, maar imho kan je dat niet vergelijken, je vergelijkt het gebruik van iets met het maken van iets. Gebruik dan de vgl. met een mechanicien he. Die gaat ook pas die dingen implenteren als hij controle over alles heeft.
    no votes  

  10. #70

    Registered
    30/07/03
    Posts
    626
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by killgore
    This quote is hidden because you are ignoring this member. Show
    n/o, maar imho kan je dat niet vergelijken, je vergelijkt het gebruik van iets met het maken van iets. Gebruik dan de vgl. met een mechanicien he. Die gaat ook pas die dingen implenteren als hij controle over alles heeft.
    /me agrees
    [LifeIsDigital.net] - Mijn artikels, open source software en projecten!
    no votes  

  11. #71
    Hale's Avatar
    Registered
    18/07/02
    Location
    leuven
    Posts
    273
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    dus jij gaat mij vertellen dat een automechanicien heel den auto inclusief elk vijske in elkaar steekt ?
    als ge die vorm van controle wilt dan kunt ge misschien direkt in machinecode gaan programmeren.

    mijn vergelijking gaat trouwens wel op :
    ik gebruik een auto om iets te realiseren : nl. mij verplaatsen van punt a naar punt b.
    ik gebruik een taal om iets te realiseren : nl. mijn applicatie ontwikkelen.

    hoe meer functionaliteit die auto mij biedt hoe makkelijker ik mij kan verplaatsen
    en hoe betere concepten de taal aanbiedt hoe makkelijker ik mijn applicatie kan maken. is toch redelijk duidelijk dacht ik.
    Raad ik daarom iemand af om geen c++ te leren ? absoluut niet. ik stel wel iemand voor van een andere taal te gebruiken, die betere concepten aanbiedt als die voorhanden is.
    dat is ook exact de reden waarom jullie aan mensen c++ aanraden ipv c, nl omdat OO vele malen krachtiger ( en hoger niveau ) is dan c...

    ik snap trouwens ook ni zo direct de facinatie van veel mensen om daadwerkelijk alles onder controle te hebben. Over talen zoals java en c# is jarenlang deftig nagedacht om verbeterde mogelijkheden aan te bieden, vertrekkende van wat men al wist van andere talen. dan ga je mij toch niet vertellen dat hele bedrijven die die taal gemaakt hebben en in een bepaalde richting gestuurd hebben, het bij het verkeerde eind hadden?

    het beste bewijs is misschien nog wel c# waarbij men geprobeerd heeft al het goede van alle talen te verzamelen en waar bijna niks meer van de c++ concepten overblijft.
    :o
    no votes  

  12. #72

    Registered
    30/07/03
    Posts
    626
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by Hale
    This quote is hidden because you are ignoring this member. Show
    dus jij gaat mij vertellen dat een automechanicien heel den auto inclusief elk vijske in elkaar steekt ?
    als ge die vorm van controle wilt dan kunt ge misschien direkt in machinecode gaan programmeren.
    Dat hangt ervanaf wat die mecanien aan het doen is. Soms gaat die heel de console moeten openhalen en vervolgens de radio uiteenhalen omdat er een tray blokkeert.
    Idem met programmeren, voor sommige applicaties heb je gewoon die low-level access nodig (maar zeker niet altijd!).
    Ik denk dat we wel op de zelfde lijn zitten qua gedachten, maar dat je nogal makkelijk veralgemeent: Ik heb nooit gezegd (en Killgore ook niet) dat je altijd low level moet coden, integendeel. Het kán gewoon sóms nodig zijn in sommige stukken van je coden om even low-level te programmeren. En dan vooral in gamedev. En in dat geval is de keuze C++ niet zo abnormaal. 't Is niet omdat je controle wil over je code, dat je continue assembler gaat programmeren 7:/ Het gaat hem over het feit dat je controle kán nemen waar nodig. Je moét geen pointers gebruiken, je mág ze gebruiken.
    [LifeIsDigital.net] - Mijn artikels, open source software en projecten!
    no votes  

  13. #73
    Hale's Avatar
    Registered
    18/07/02
    Location
    leuven
    Posts
    273
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    ok , daar volg ik je wel in.
    MAAR : feit blijft wel dat c++ _alleen_ die lage concepten aanbiedt( er is geen alternatief voor die pointers, je MOET met headers werken, etc. ). Dus zelfs al wil je niet low-level bezig zijn, dan nog heb je geen andere keuze.

    ideaal mocht dus zijn moest C++ zoals java en c# ( en trouwens de meeste andere OO-talen ) werken en ook nog eens al die extra mogelijkheden aanbieden zoals headers,inline functies,pointers etc.

    nu wordt je mijn inziens iets te veel verplicht onnodig ingewikkelde low-level concepten te gebruiken.
    Daarom dat ik het meer heb voor andere OO-talen.
    ik raad dan ook zeker aan een beginnend iemand, die absoluut geen meerwaarde heeft aan wat C++ je laat doen met zijn low-level stuff, om niet met c++ te beginnen maar met een andere OO-taal.
    :o
    no votes  

  14. #74

    Registered
    30/07/03
    Posts
    626
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    *agrees*

    Alleen vind ik wel dat een beginner C++ kan leren, het hangt gewoon volledig af van wat die beginner later wil maken van software. Meestal kan je beter Java, C# of Visual Basic als instaptaal gebruiken.
    Zelfs C kan als instaptaal, om dan bvb later assembler te gaan coden als je embedded programming wil doen. Of als je liever taal-analyse wil doen omtrend AI-onderzoek, dan is Prolog weer de aanrader als instaptaal. Alleen is het zo dat niet de meeste programmeurs vooraf hun specialisatie hebben bepaald. Dus dan kan je inderdaad beter een meer high level taal kiezen.
    [LifeIsDigital.net] - Mijn artikels, open source software en projecten!
    no votes  

  15. #75

    Registered
    12/10/02
    Location
    mars
    Posts
    14,319
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by Hale
    This quote is hidden because you are ignoring this member. Show
    ideaal mocht dus zijn moest C++ zoals java en c# ( en trouwens de meeste andere OO-talen ) werken en ook nog eens al die extra mogelijkheden aanbieden zoals headers,inline functies,pointers etc.
    sounds like c++.net

    ma tbh, werken met pointers MOET niet hoor, ik denk dat je met pass-by-reference (welke nog steeds onafhankelijk staat in principe van pointers) ook redelijk wat kan doen.
    Ook kan je in c++ met dingen als auto_ptr (of eigen versie ervan liever ) redelijk wat functies van java en c# overnemen.

    Voor de rest sluit ik me volledig bij u en vich aan: gebruik elke taal waar et goed voor is. C/c++ kan je aanschouwen als het hedendaagse low-level programmeren, gebruik dat dan voor situaties waar low-level het beste uitkomt, en gebruik java/c# als een high-level c-variant .

    Gelukkig dat er nog dingen als .net zijn, moesten zulke dingen wat meer uitbreiden he, mensen zouden niet meer kreften welke taal et beste is
    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