Wat is het verschil tissen c en c++

  • Onderwerp starter Onderwerp starter yanik
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

yanik

Gebruiker
Lid geworden
5 nov 2011
Berichten
316
Is er werkelijk iets wat c++ doen kan wat niet in c gedaan kan worden? C kan toch alles doen wat c++ doen kan?
 
Laatst bewerkt door een moderator:
Volgens mij wel.
Alleen wordt er over C gezegd dat het touw er bij zit
Ze bedoelen hiermee dat je goed moet weten wat je doet.
 
Laatst bewerkt door een moderator:
Is er iets wat je in C++ kan wat niet in C kan?

Ja: netjes object oriented programmeren.

origineel: C + classes + templates (afgekort tot C++) Weet je ook meteen het verschil :P
 
origineel: C + classes + templates (afgekort tot C++) Weet je ook meteen het verschil :P
Oh, ik dacht dat de herkomst in het programmeren zelf lag..
Je hebt C, C++; zou betekenen C= C+1;
 
Laatst bewerkt:
Dat is ook wel de achtergrond natuurlijk ;) Maar het idee daarvoor komt uit het originele voorstel van Stroustrop voor een "nieuwe" C
 
Sorry, maar in mijn huidige opleiding heb ik C++, ik kom er totaal niet meer uit. En de uitleg is ook rampzalig. Ik denk dat dat mooie 'touw om jezelf mee op te hangen'dat wordt meegeleverd bij C, nu ook bij C++ inbegrepen is
 
ha ha, C talen zijn altijd even wennen. "Vroegah" was er geen echte keus. Het was C(++) of niks. Als je er even in zit en het begint te begrijpen wordt het wel eenvoudiger. Maar, het is en blijft een taal dicht bij de hardware en dat ga je altijd merken als je je manier van denken daar nog niet op ingesteld hebt.
 
Is er iets wat je in C++ kan wat niet in C kan?

Ja: netjes object oriented programmeren.

origineel: C + classes + templates (afgekort tot C++) Weet je ook meteen het verschil :P

Ken je beide talen? Welke vind je beter?
 
Ik weet het verschil niet, maar ik denk dat C++ toch echt de toekomst heeft.
 
C++ is "beter" als je de kracht ervan kunt gebruiken. Het heeft mij 4-5 jaar (hobbytijd dan wel, geen werk) gekost om echt om te schakelen van C naar C++. De template library goed gebruiken heeft nog langer geduurd. Overigens is C++ dus C-met-meer-mogelijkheden. (Bijna) alle C code kan ook gecompileerd worden met C++.

Overigens gebruik ik voor al mijn hobby projecten tegenwoordig C#. Hoewel ik wel af en toe mijn pointers mis, is het gewoon wat aangenamer hoger in machine te zitten. En met hedendaagse machines maakt het voor thuisgebruik eigenlijk niet veel meer uit of je iets oplost in 20 clockcycles of 500. Als je performance wil natuurlijk nog steeds wel, maar dan moet je echt spelletjes of zware server taken doen.

Wie weet als computers sneller en sneller blijven gaan is het over 10 jaar ook daar niet meer nodig en dat wordt C++ mogelijk wel net zo obscuur als COBOL. Toch denk ik dat niet. Het heeft toch ook wel wat, zo dicht op de hardware kunnen zitten.
 
Ik heb besloten om met c te beginnen. Weet iemand iets over the c programming language ebook? Ik heb het gedownload, is het een goede tutorial?
 
En om welke redenen heb je voor C gekozen dan?

Eerlijk gezegd, ik wil een taal dichtbij de hardware zit en omdat linux, windows en alles wat leuk gemaakt werden in c.
Misschien moet ik wat specifieker zijn:
Mijn droom is:
Een browser bouwen, een programma waarmee mensen tekenen kunnen, games en films maken kunnen zonder tekenvaardigheden te hebben, movie makers creëren om films te maken, betere studio programma's dan fruit loops om muziek te maken, mooie grafieken en 3d's, zeer realistische games maken en database maken. Met welke talen luk dit allemaal?
 
Laatst bewerkt:
Games -> C, ok, DOOM engine -> C++
grafieken -> C++ (openoffice)
database -> C++ (mySQL / post gre databases, mysql gedeeltelijk ook C)
Muziek -> C++ (nagenoeg alle opensouce players / VLC etc.)
Tekenen -> C++ (gimp)
Browser -> C++ (opera / firefox / chrome, enkele core libraries wel C)

Overigens kan op het windows platform ook een hoop hiervan gemaakt worden in C#. Ik zou beginnen in C++ en als je performance het echt nodig heeft bepaalde delen compilen in C en met de rest "linken".
 
Alles wat je op hebt genoemd kan in elke programmeertaal. (Op "zeer realistische games" na dan, aangezien daar real-time performance toch echt te cruciaal is)

Ik zou je graag nogmaals op het hart drukken dat in een makkelijkere taal beginnen om te leren programmeren je veel sneller de resultaten gaat geven die je zoekt.

Dat C je zelf je memory management laat afhandelen betekent niet dat je dan begrijpt hoe een computer werkelijk in elkaar steekt.
 
Alles wat je op hebt genoemd kan in elke programmeertaal. (Op "zeer realistische games" na dan, aangezien daar real-time performance toch echt te cruciaal is)

Ik zou je graag nogmaals op het hart drukken dat in een makkelijkere taal beginnen om te leren programmeren je veel sneller de resultaten gaat geven die je zoekt.

Dat C je zelf je memory management laat afhandelen betekent niet dat je dan begrijpt hoe een computer werkelijk in elkaar steekt.
wolven in twilight, the hulk en enz, in welke aal werden die gemaakt? In welke taal werd het programma voor zulke 3d beelden gemakt?
Je raadt trouwens c++ aan, toch? Waarom dan? Trouwens, lol, is het waar dat asm alles doen kan wat c doen kan? Dat heb ik in een forum gehoord. Zal ik maar asm gaan leren?
 
Laatst bewerkt:
Elke taal kan alles doen.

3d beelden worden gemaakt via openGL of directX API's. Daar komt de eigenlijke taal dus nauwelijks bij te pas!!

Er zijn 4 dingen belangrijk:

-Performance
-voorbeeld code
-snelheid van development
-portability

rapportcijfers:

Performance: ASM 10; C 9,5; C++ 9
Voorbeeldcode: C 9; C++ 9; ASM 2
Snelheid van development: C 6; C++ 7; ASM 1
portability: C 9; C++ 8; ASM 4

Vervolgens moet je dus rekening houden met het feit dat alles van C ook werkt in C++, maar niet andersom. Ontwikkelen is niet alleen kracht, ook snelheid en onderhoudbaarheid zijn belangrijk. Ik ben met programmeren gestart in assembly op een commodore 64, nu al 24 jaar geleden. Geloof me, hogere talen zijn echt zalig.

Tegen de tijd dat jij een hoogwaardig programma hebt geschreven in assembly ben je ook 20 jaar verder. Goede ideeën zijn waardeloos als je ze niet tot uitdrukking kunt brengen. Er is een goede reden waarom python en java en tot zekere hoogte ook .net populair zijn: je kunt snel resultaat hebben met vaak redelijke performance.
 
Al worden films en dergelijke niet geprogrammeerd :). Die worden gemodelleerd in een 3D modelleerprogramma en met raytracing gerenderd, wat een hele andere techniek is dan rasterizing waarop DirectX en OpenGL op gebaseerd is.

Ik raad je aan om met C# of liefst zelfs Python te beginnen (laatste is een scripttaal, maar man, wat heb je snel speelbare spelletjes op je scherm ^^).

Het gaat erom dat je leert programmeren. Dat is heel wat anders dan een programmeertaal leren.

je kunt snel resultaat hebben met vaak redelijke performance
Hier wil ik nog wat aan toevoegen. "Redelijk" is een understatement. Voor de projecten die meeste beginnende programmeurs starten is de performance van de taal insignificant. De algoritmes die hij gebruikt om de data te verwerken en presenteren zullen vooral uitmaken hoe snel zijn programma loopt.

Het mag dan zo zijn dat sommige talen meer controle of snelheid leveren, je hebt het simpelweg nog niet nodig.
 
Laatst bewerkt:
Wanneer het kan zal ik met c++ beginnen. 1 vraag maar: Waarom zijn er toch mensen die nog steeds c leren?
 
Er is bepaalde hardware die niets anders dan C of ASM of een andere taal ondersteunt. En als je weet wat je doet kan het de juiste taal zijn om dat kleine beetje extra performance eruit te persen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan