welcher unterschied zwischen c und c++?



  • Es kommt natürlich drauf an, was du später damit anfangen willst. Beides kann Vor- und Nachteile haben. Wie schon gesagt wurde kann die Sichtweise beim Problemlösen in C++ ganz schön abweichen von der von C. Aber Leute, die mit C++ oder Java angefangen haben, haben oft mehr Probleme, wenn es um Assembler und Systemprogrammierung geht, wobei ehemalige C-Programmierer das OO-Design und die Softwareplanung im größeren Stil nicht ganz so gut hinkriegen wie die, die gleich etwas "abstrakter" angefangen haben. Letztendlich favorisiere ich trotzdem die "erst-C-dann-C++"-Variante, schließlich geht man dann "mit dem Fortschritt der Programmierung" mit, C++ wurde ja auch von Leuten entwickelt, die erst mal C gemacht haben... 🙂



  • C => C++ => Java => C# 😉



  • danke für die zahlreichen meinungen 🙂

    also ich will letztendlich ein warenwirtschaftsprogramm mit ner schönen benutzeroberfläche programmieren.

    also will ich auf jedenfall c++ lernen nur frag ich mich ob ich das buch jetzt wegschmeissen kann oder schon mal damit anfangen kann so das es mir auch was nützt wenn ich auf c++ hinaus will.

    mfg david



  • Also ich würde Dir raten gleich mit C++ loszulegen. Verkauf das Buch doch, oder lies es später, wenn Du die C++-Konzepte kennst und Dich nicht mehr so leicht davon abbringen läßt. Zum Einstieg gibt's eine große Menge an Tutorials (Links werden hier ständig gepostet). Das kostet nichts und trotzdem sind einige von denen deutlich korrekter und auf einem höheren Niveau also so manches "Einsteigerbuch".

    MfG Jester



  • Zyrian schrieb:

    C++ ist in seinem schwierigkeitsgrad gegenüber C ein ganzes stück leichter, was wir letzten Endes u.a. auch der STL zu verdanken haben

    ...finde ich aber nicht unbedingt, es mag sein, dass komplexe Programme in C schwieriger zu realisieren sind als in C++ oder dass eben gerade Systemprogramme in C oft schwerer nachzuvollziehen sind, aber von der Sprache selbst ist C++ deutlich anspruchsvoller (templates, vererbung, überl. Operatoren, etc.). Und um STL zu nutzen, sollte man sie ja auch verstehen, oder? 😉



  • naja, solange man (c++)-- programmiert ist es kaum schwerer als c. und wenn man wirklich alle funktionen braucht ... dann hat man's schon genug drauf um damit klar zu kommen.

    Erhard Henkes schrieb:

    C => C++ => Java => C# 😉

    => Perl => Python => Lisp => Brainfuck... 😋



  • Von »C++ ist einfacher« kann IMHO überhaupt nicht die Rede sein. Zumindest nicht langfristig.

    Ich halte es für verkehrt direkt mit C++ und seiner Standardbibliothek anzufangen.
    std::string zB. sieht anfangs vielleicht einfacher als char-Arrays aus, aber es ist ja nicht so, dass man in C++ an den ganzen C-Altlasten vorbeikommen würde.



  • DrGreenthumb schrieb:

    Von »C++ ist einfacher« kann IMHO überhaupt nicht die Rede sein. Zumindest nicht langfristig.

    Ich halte es für verkehrt direkt mit C++ und seiner Standardbibliothek anzufangen.
    std::string zB. sieht anfangs vielleicht einfacher als char-Arrays aus, aber es ist ja nicht so, dass man in C++ an den ganzen C-Altlasten vorbeikommen würde.

    Aber es ist auch nicht so, als das man diese Grundlagen in einem C++-Buch nicht
    vermittelt bekommen wuerde.

    mfg
    v R



  • Der Nachteil daran, mit C anzufangen und später auf C++ zu gehen, ist vor allem, dass man lange Zeit nicht wirklich C++, sondern eine Art C mit Klassen schreiben wird. C zu können, ist sicher nicht schlecht, aber man muss sich darüber im Klaren sein, dass, auch wenn C++ relativ kompatibel mit C ist, C++ eine völlig andere Denk- und Herangehensweise erfordert.

    Ich hab auch mit C angefangen, und das hat es für mich ziemlich schwer gemacht, nachher sinnvolles C++ zu lernen. Allerdings ist C++ als Erstlingssprache auch nicht gerade einfach. Ich für meinen Teil denke (auch wenn mich dafür wahrscheinlich einige prügeln wollen werden), dass eine sinnvolle Reihenfolge z.B. wäre, erst Java, dann C++ und dann C zu lernen. Das deshalb, weil es ein zunehmend intimeres Verständnis zur eigentlichen Maschine voraussetzt. Java ist gut, um objektorientierte Prinzipien zu verstehen - vor allem auch, weil man sich nur sehr wenig mit maschinennahem Kram auseinandersetzen muss. C++ setzt das Objektorienterte maschinnenäher fort, so dass man sich z.B. auch mit Speichermanagement (stack, heap) auseinandersetzen muss. Das ist wichtig zu wissen, aber ich denke, dass es Sinn macht, das erst dann anzugehen, wenn man die Grundprinzipien verstanden hat. Außerdem führt es das sehr mächtige generische Paradigma ein (nein, java generics sind was anderes). C dagegen verzichtet auf höhere Abstraktionsebenen und lässt dich sehr nah an die Maschine ran, und ist dementsprechend sinnvoll, um die Interna genauer zu verstehen, aber m.E. für Anfänger keine wirklich gute Idee.

    Was Java angeht, auf www.javabuch.de findest du ein recht gutes Buch über Java. Für C++ ist "C++ für Dummies" am Anfang ziemlich brauchbar, und ein C-Buch hast du ja schon-



  • @oxa danke für die aussführliche post ... also richtiger programmieranfänger bin ich ja nicht ich programmiere etwas Visual Basic und PHP und PHP soll angeblich ähnlich wie C++ sein. aber ich werd mir jetzt ein c++ buch kaufen und loslegen.

    ps: was heißt STL?

    mfg david



  • Die Synthax con C++ und PHP ist ähnlich. Allerdings wirst du einige Unterschiede entdecken. C++ ist statisch Typisiert, PHP dynamisch, ...

    Und was sollen bitte solche Angaben, wie

    C => C++ => Java => C#

    Warum dann nicht
    LISP => SML => O'Caml => Haskell => Miranda => Clean => C++

    Kommt auch C++ drin vor.
    😕


Anmelden zum Antworten