Allgemeine Frage untersschied zwischen C und C++



  • Hi
    Habe das Forum vor kurzem gefunden, wollte mal kurz Fragen wo die wesentlichen unterschiede zwischen C und C++ liegen.Wir benutzen momentan C in der Schule bei der Hardwareprogrammierung und teilweise C++. Was würdet ihr vorschlagen worauf sollte man sich zum lernen eher konzenmtieren C oder C++ und wo liegen die groben unterschiede?

    ciaou



  • C -> Reines C, einfach schön!
    Zeiger Arithmetik, rohe Speicher Verwaltung, Systemnahe Programmierung..
    C++ => komplexe Sprache, auch schön, aber gefährlich wenn man es nicht kann.
    Objekt Orientierte Programmierung, Template Metaprogrammierung, und vieles mehr..

    Richtiges C zu können bringt dir sicher mehr im Moment.
    C++ hat zu viele Paradigmen, die verwirren einem am Anfang nur.
    Später kannst du Object Orientierte Programmierung mit C++ lernen und dabei versuchen die C Altlasten loszuwerden :p 😃
    Oder gleich zu Java wechseln ^^



  • Helferklein schrieb:

    Später kannst du Object Orientierte Programmierung mit C++ lernen und dabei versuchen die C Altlasten loszuwerden

    oder beides anwenden. je nachdem, was am besten passt. c++ ohne die sogenannten 'altlasten' ist nur halbes c++.
    🙂



  • Mit Altlasten meinte ich nackte Zeiger, char arrays und Makros ^^
    Die haben in C++ echt nichts zu suchen.



  • Meine Meinug:

    Fang lieber gleich mit C++ an. Habs jahrelang nicht gemacht (nur Pascal und C) und hatte dann Schwierigkeiten, von Modulorientierter Programmierung auf Objektorientierte Programmierung umzusteigen.

    Objektorientierte Programmierung ist m.E. die beste Art zu programmieren, in C++ geht auch das hardwarenah.
    Ich hatte auch mal Borland C++ für OS/2, da lag ein Handbuch bei, wie man objektorientiert in Assembler programmieren kann.



  • Also kann man in Assembler und C++ objektorientiert programmieren, aber in C nicht? Seltsam 😉



  • Helferklein schrieb:

    Mit Altlasten meinte ich nackte Zeiger, char arrays und Makros ^^
    Die haben in C++ echt nichts zu suchen.

    dafür ist es leider zu spät. c++ hat das alles nun mal. ausserdem gibt's doch 'ne ganze boost-library, die auf makros aufbaut.
    🙂



  • Fang lieber gleich mit C++ an. Habs jahrelang nicht gemacht (nur Pascal und C) und hatte dann Schwierigkeiten, von Modulorientierter Programmierung auf Objektorientierte Programmierung umzusteigen.

    Aber abgesehen von Instantiierungen sollten sich modulorientierte Programme genauso verhalten, oder? Das Ableiten ist halt normalerweise nicht eingebaut, aber sonst?



  • bgdnoy schrieb:

    Fang lieber gleich mit C++ an. Habs jahrelang nicht gemacht (nur Pascal und C) und hatte dann Schwierigkeiten, von Modulorientierter Programmierung auf Objektorientierte Programmierung umzusteigen.

    Aber abgesehen von Instantiierungen sollten sich modulorientierte Programme genauso verhalten, oder? Das Ableiten ist halt normalerweise nicht eingebaut, aber sonst?

    Das war auch mein erster eindruck nachdem ich von Prozedural/Modular auf OO Umgestiegen bin. Wirklich klick gemacht hat es erst 1-2 Jahre später. Man geht in OO einiges anders an als in der Modularen Programmierung. Es ist schwer zu beschreiben, und ist aber ein ganz anderer Denkansatz => anderer Programmierstil.



  • asc schrieb:

    Das war auch mein erster eindruck nachdem ich von Prozedural/Modular auf OO Umgestiegen bin. Wirklich klick gemacht hat es erst 1-2 Jahre später.

    mit welcher programmiersprache hast du deine ersten gehversuche in OO-programmierung gemacht, wenn ich mal fragen darf?
    🙂



  • Tim schrieb:

    Also kann man in Assembler und C++ objektorientiert programmieren, aber in C nicht? Seltsam 😉

    Ich gehe mal davon aus, dass damit Makroassemblerbefehle gemeint waren, dann stimmt die Aussage schon. Da man in C sich das ja alles selber basteln muss.

    Mag zwar manche schockieren, aber zumindest in TASM gibt es tatsächlich eingebaute Makrobefehle mit denen man OO programmieren kann.



  • +fricky schrieb:

    mit welcher programmiersprache hast du deine ersten gehversuche in OO-programmierung gemacht, wenn ich mal fragen darf?
    🙂

    Bei mir war's TurboPascal, von 3.0 (CP/M - Z80) auf TP 6.0 (DOS) und ich hab' mich lange gefragt, was der OO- Sch*** eigentlich soll. So richtig gefallen ist der Groschen bei mir erst mit Delphi 1 (f. Win 3.1).

    Deswegen finde ich an Java ja so einsteigerfreundlich, daß man zwar ohne Grunderläuterung des OOP- Konzepts einerseits nichtmal das hello world vollständig verstehen kann, sich aber andererseits auch nicht gleich mit so einem Riesenbahai wie bei C++ auseinandersetzen muß.



  • pointercrash() schrieb:

    +fricky schrieb:

    mit welcher programmiersprache hast du deine ersten gehversuche in OO-programmierung gemacht, wenn ich mal fragen darf?
    🙂

    Bei mir war's TurboPascal, von 3.0 (CP/M - Z80) auf TP 6.0 (DOS) und ich hab' mich lange gefragt, was der OO- Sch*** eigentlich soll. So richtig gefallen ist der Groschen bei mir erst mit Delphi 1 (f. Win 3.1).

    ich mit turbo-c++, damals auf 'nem 468'er. ich konnte schon ein bisschen C und fand's völlig geil, wie konstruktoren und destruktoren automatisch dran kamen. besonders bei globalen objekten, noch vor der 'main'. das fand ich total faszinierend. alles pascal-artige konnte ich nicht leiden (subjektiv, so wie heute C#-programmmierer VB doof finden).
    aber ich muss unbedingt mal smalltalk ausprobieren. nach 1_user_u's beteuerungen muss das was ganz tolles sein. kennt nicht einer ein brauchbares smalltalk-system für windows, gleich mit IDE dabei und so?
    🙂



  • +fricky schrieb:

    mit welcher programmiersprache hast du deine ersten gehversuche in OO-programmierung gemacht, wenn ich mal fragen darf?
    🙂

    Mit C++ (Das müsste etwa um 1995 gewesen sein).



  • +fricky schrieb:

    kennt nicht einer ein brauchbares smalltalk-system für windows, gleich mit IDE dabei und so?
    🙂

    Ich musste mich mehrmals mit Squeak rumschlagen, das ist AFAIK weit verbreitet. Zwar nicht mein Fall (zu bunt und ungewohnt), aber wer's mag... 🙂



  • Blue-Tiger schrieb:

    Ich musste mich mehrmals mit Squeak rumschlagen, das ist AFAIK weit verbreitet. Zwar nicht mein Fall (zu bunt und ungewohnt), aber wer's mag...

    muchas gracias, sieht wirklich fies bunt aus, aber das soll kein hindernis sein.
    🙂



  • ich hab mal gelesen das c++ nicht so oft abstürzt wie c



  • ich hab mal gelesen das c++ nicht so oft abstürzt wie c

    Solche Aussagen täuschen aber drüber hinweg, dass sich das alles im Kopf des Programmierers abspielt. Natürlich stürzt Brainfuck noch öfter ab.



  • Programmiersprachen stürzen nicht ab.
    Programme stürzen ab.



  • Ich würde mal sagen, das endet mit Rhabarber Rhabarber Rhabarber Rhabarber Rhabarber Rhabarber. Rhabarber Rhabarber? Rhabarber Rhabarber Rhabarber Rhabarber!!


Anmelden zum Antworten