C vor C++
-
Ich weiß nicht genau in welches Forum das jetzt gehören würde, aber ich dachte dieses müsste das richtige sein.
Ich wollte fragen, ob es sich lohnt vor C++ erst einmal C zu lernen.
Also meine Programmierkenntnisse beschränken sich im Moment auf Python und HTML.
-
Suchfunktion.
Es kommen jetzt sowieso 100 verschiedene Antworten in denen jeder den Weg anpreist, den er gegangen ist.
-
Ich wollte fragen, ob es sich lohnt vor C++ erst einmal C zu lernen.
Auf gar keinen Fall!
-
lern zuerst FORTRAN. das ist absolutes grundwissen!
-
C und C++ sind zwei verschiedene Sprachen. In C++ wirst du nicht mal C-Code kompilieren können, so sehr unterscheiden sich die Sprachen in bestimmten Details. Wenn du also C++ als Ziel hast, lernst du mit C eher Dinge, die dir später nichts nützen werden. Du verplämperst wichtige Zeit deines Lebens mit einer Sprache, die du garnicht lernen willst.
Weiterhin ist C eine prozedurale Sprache, C++ verfolgt eher mehrere Paradigmen, die du in C nicht finden wirst. Wirst Du C lernen, wirst du in C++ C-artig programmieren/denken, was "unsauber" ist und sicherlich nicht Sinn und Zweck der Übung ist. Du solltest also gleich in C++ einsteigen um nicht C-lastige Gedanken mitzunehmen.
Zwei Dinge halte ich für wichtig für einen erfolgreichen Start in C++:
1. Vernünftige und aktuelle C++-Literatur. Aus dem Hansa-Verlag ist eines der besten dt. C++-Einsteigerbücher erschienen. Das neueste C++-Einsteigerbuch aus dem Markt&Technik Verlag ist auch nicht schlecht.
2. Ein ISO-konformer C++ Compiler. Unter Windows kann man den kostenlosen VisualC++ 2005 Express empfehlen.
-
Artchi schrieb:
C und C++ sind zwei verschiedene Sprachen. In C++ wirst du nicht mal C-Code kompilieren können, so sehr unterscheiden sich die Sprachen in bestimmten Details.
Naaaja.. würd ich nun nicht so krass sagen das.
Immerhin ist ein gewisser Stand des C-Standards in C++ eingeflossen... Dass anschließend beide Sprachen für sich existierten und am Leben erhalten wurden, ist nun wieder was anderes.Trotzdem ist es aus meiner Erfahrung schwer, Angewohnheiten des Prozeduralen C abzulegen um C++ voll nutzen zu können. Es hat ewig gedauert bis ich die Streams genutzt hab obwohl sie ja eigentlich viel schöner sind als print, read, write, etc..
-
Botschi schrieb:
Ich wollte fragen, ob es sich lohnt vor C++ erst einmal C zu lernen.
Natürlich lohnt es sich C vor C++ zu lernen. Viele sagen ja, dass C doof sein wegen "komplizierten" Zeichen, aber ich sage als ausgebildeter C-Programmierer, dass das Schwachsinn ist. Die Sprache selbst ist relativ elementar.
Mit C kann man sehr viel anfangen, und bereitet nicht so viele Probleme.
C ist die Quelle für den Anfang der Aufklärungen in C++.
-
Grafikus schrieb:
Botschi schrieb:
Ich wollte fragen, ob es sich lohnt vor C++ erst einmal C zu lernen.
Natürlich lohnt es sich C vor C++ zu lernen. Viele sagen ja, dass C doof sein wegen "komplizierten" Zeichen, aber ich sage als ausgebildeter C-Programmierer, dass das Schwachsinn ist.
Also was hat das mit dem Vergleich C/C++ zu tun?
Immerhin hat C++ die gleichen kryptischen Begrifflichkeiten, sogar noch einiges mehr an Sonderzeichen..Nichts desto trotz bin ich schon der Meinung, dass man nicht gleich mit der Objektorientierung anfangen muss. Lieber erst mal die strukturierte Programmierung verstehen. Auch, wenn der Abstraktionsgrad der Objektorientierung angeblich dem menschlichen Verständnis entlehnt worden ist, bezieht sich dieses doch eher auf Datenobjekte, nicht auf Logiken.
Aaalso: Programmierlogik (Schleifen, If's, Pointer, etc. )würde ich mit strukturiertem C++ lernen. Anschließend hat man imho das Rüstzeug, den objektorientierten Mist an C++ zu lernen..
-
Kommt darauf an was du sein willst. Wenn du so ein High-Level Programmierer werden willst, der in Java oder irgendwelchen fetten libs wie boost code schreibt der funktioniert, aber bei dem er keinen Schimmer hat wie er eigentlich funktioniert, dann lern C++.
Wenn du genau wissen willst was dein guter Code macht und dir vorstellen können willst in welche Maschinenbefehle dein Code übersetzt wird dann lern C. Mit C hat man letzten Endes den besseren Durchblick...C++ und Java etc. ist eher geeignet für High-Level Programmierung wo einen die Details nicht interessieren sondern nur das Resultat.
-
Ganz einfache Antwort:
Wenn Du C++ programmieren willst -> lern C++
Wenn Du C programmieren willst -> lern C
Wenn Du beides programmieren willst -> lern beides@Artchi: Du stellst C hin, als ob es sich nicht mehr lohnt diese Sprache zu lernen. Es gibt immer noch sehr viele Bereiche wo C ganz klar die Nase vorn hat. Besonders auf bestimmten Architekturen(Mainframes) ist C++ einfach nur schlecht, weil es keine brauchbaren Compiler gibt und wahrscheinlich auch nicht geben wird. C++ wie Du es sicherlich meinst(also mit STL) ist zudem absolute Bloatware. Will ich ein Programm auf einem kleinen embedded System schreiben, muss ich um jedes Byte kämpfen. Da kommen dann nur noch C oder Assembler in Frage - oder C++ ohne die STL und das andere Bloat-Zeugs. dann bin ich aber wieder bei rohen char* weil das wrappen unnötigen Code erzeugt. C wird auch heute noch für viele kleine Sachen benutzt.
BTW: C ist sogar aktueller und es kommt wahrscheinlich noch ein weiterer C Standard raus bevor C++0x wahr wird. :p
-
@Artchi: Du stellst C hin, als ob es sich nicht mehr lohnt diese Sprache zu lernen
Nein, mache nicht. Ich habe das ganze darauf bezogen, wenn er als Ziel C++ hat. Wenn jemand fragt: "Ich will C lernen. Soll ich vorher C++ lernen?" Dann würde ich sagen: "C++ ist verschwendete Zeit, lern lieber gleich C."
Also, es hat keine Wertung der Sprache zu tun, sondern nur um Sinn und Unsinn für den Fragesteller.
-
Botschi schrieb:
Ich wollte fragen, ob es sich lohnt vor C++ erst einmal C zu lernen.
Kurze Antwort, nein!
Die Basics sind sich sowieso recht ähnlich. Also kein Grund dafür extra C zu lernen. Und alles was darüber hinaus geht, da nützt dir C herzlich wenig.
-
Natürlich lohnt es sich C vor C++ zu lernen.
C ist die Quelle für den Anfang der Aufklärungen in C++.was bedeutet dass man vor c erstmal assembler lernen sollte
-
Also ich würde vor C++ kein C lernen. Hab es mit C und C# gemerkt. Hat schon ne Zeit gedauert, bis ich mich von der prozendualen/strukturierung auf die Objektorientierung umgestellt habe. Zeitweise habe ich heute immer noch an manchen stellen den C Stil vor meinen Augen.
-
hellihjb schrieb:
Natürlich lohnt es sich C vor C++ zu lernen.
C ist die Quelle für den Anfang der Aufklärungen in C++.was bedeutet dass man vor c erstmal assembler lernen sollte
Schaden würde es nicht.
Im Gegenteil. In dem man versteht was auf der untersten Ebene passiert, kann man effizienter nach fehlern suchen / bestimmte Fehler ausschließen / einschränken.Hat zwar nix mit diesem Thread zu tun aber egal.
-
Danke für eure vielen Beiträge.
Ihr habt mir sehr dabei geholfen eine Entscheidung zu fällen.
OK, eigentlich bin ich noch dabei...
-
Ich möchte gern was zusammenfassen:
Wenn du Grafikprogrammierer werden willst dann lern C zuerst, denn dort sind die Genauigkeiten der Grafik drin. Und wenn du weiter gehen willst in die Spieleprogrammierung dann kannst du C++ lernen.
Aber die Wahl überlasse Ich natürlich dir.
-
Grafikus2 schrieb:
Ich möchte gern was zusammenfassen:
Wenn du Grafikprogrammierer werden willst dann lern C zuerst, denn dort sind die Genauigkeiten der Grafik drin. Und wenn du weiter gehen willst in die Spieleprogrammierung dann kannst du C++ lernen.
Aber die Wahl überlasse Ich natürlich dir.Was sind den die "Genauigkeiten" in C ? Die Konsole ?