C oder C++?



  • Doch, die gibt es.

    Ich habe auchnicht die Existenz angezweifelt, sonder das das eine Cpp-Lib sein soll, mein MS VC++ kennt sie jedenfalls nicht^^



  • Jud4s schrieb:

    <math.h> ist eine Libary

    das ist eine headerdatei 🙂



  • Jud4s schrieb:

    C++, ist ein erweitertes C, also ein C in dem neue Features und Befehle hinzugefügt wurden,

    Das stimmt so nicht ganz. C++ mag zwar weitgehend zu C abwärtskompatibel sein, aber nicht unbedingt vollständig.

    Jud4s schrieb:

    Desweiteren gibt es eine eigene (neue) Bibiliothek, einzig und alleine für die Arbeit mit Strings, ...

    Und das ist quatsch... "einzig und alleine für die Arbeit mit Strings". Die C++ Standardbibliothek ist weit mehr als eine Bibliothek für Strings. Es gibt bestimmte Sachen die nicht von der C++ Bibliothek abgedeckt sind, wo man tatsächlich auf die C-Bibliotheken zurückgreift (z.B. <cmath>), aber ansonsten geht die C++ Standardbibliothek in weiten Bereichen über die C-Bibliotheken hinaus.

    Jud4s schrieb:

    Die Befehle, die ich benutze sind nämlich alle in C-Lehrbüchern zu finden, und ich schreibe z.B. "#include <math.h>" statt "include <cmath>", habe aber gelesen dass ersteres C und das zweite C++ ist...
    Jetzt bin ich irgendwie verwirrt.

    Mehrere Punkte:
    a) Wenn du C++ Programmieren willst, verwende C++ Bücher
    b) Dev-C++ ist veraltet und sollte nicht mehr verwendet werden (Alternativen sind z.B. das kostenlos erhältliche Visual C++ 2008 Express und Code::Blocks).
    c)

    Jud4s schrieb:

    <math.h> ist eine Libary die es nicht explizit für Cpp gibt, deswegen auch noch '.h' .
    Ich bin mir sehr sciher das <cmath> kein Cpp ist.

    Wenn man sich mit C++ nicht auskennt sollte man lieber vorsichtig mit seinen Antworten sein. Die C-Bibliotheken sind unter C++ um ein c vorangestellt und ohne Dateiendung (<cmath>, <cstdio>...). Dies ist gültiger C++ Standard!

    So, nun aber zu den wesentlichen Unterschieden zwischen C und C++:
    a) C++ ist eine Multiparadigmensprache, die prozedurale Programmierung hat es mit C gemein, ist aber darüber hinaus auch für die Objektorientierte Programmierung (class) und die generische Programmierung (template) ausgelegt.
    b) In C++ kann man [weitgehend] C schreiben, umgekehrt aber nicht

    cu André



  • Jud4s schrieb:

    Doch, die gibt es.

    Ich habe auchnicht die Existenz angezweifelt, sonder das das eine Cpp-Lib sein soll, mein MS VC++ kennt sie jedenfalls nicht^^

    Mit was für ein MS VC++ arbeitest du? 6.0 oder noch älter?
    Davon abgesehen hat die Definition des vorgestellten "c" nicht zwangsweise etwas mit der Abbildung der Header auf der Festplatte zu tun (Compilerabhängig, theoretisch könnte sich hinter cmath auch irgendeineganztolledatei.h verbergen. Wichtig ist das es dennoch verstanden wird was mit #include<cmath> gemeint ist).

    cu André



  • Kleiner Tip noch: Dev-C++ ist kein Compiler. Das ist die IDE. Der Compiler der dahintersteckt ist meist MinGW.
    Weiterhin ist Dev-C++ recht veraltet. Steig lieber um zu Code::Blocks oder VisualStudio. Da gibts bessere Aktualisierungen.



  • Naja, ich habe die C-Bücher, weil ich mir keine neuen kaufen möchte, und arbeite sowohl mit den Büchern als auch mit online-Tutorials.

    Stimmt es also, dass ich die C Befehle in C++ benutzen kann, und es darüber hinaus noch "Zusätze" beim C++ gibt?
    Weil im Moment bin ich vor allem daran interessiert, die Grundlagen zu lernen, und dafür scheint mir auch Dev-C++ ein geeigneter Compiler zu sein... auch wenn er veraltet sein mag.

    Danke für eure Tipps!!



  • Turambar schrieb:

    Dev-C++ ein geeigneter Compiler zu sein

    Machine schrieb:

    Kleiner Tip noch: Dev-C++ ist kein Compiler. Das ist die IDE. Der Compiler der dahintersteckt ist meist MinGW.
    Weiterhin ist Dev-C++ recht veraltet. Steig lieber um zu Code::Blocks oder VisualStudio. Da gibts bessere Aktualisierungen.

    Sorry aber wenn man nicht mal die Posts liest die hier geschrieben werden dann sollte man doch keinen Thread öffnen oder? 👎

    In diesen Sinne: Erst lesen dann schreiben! ⚠

    Gruß Pingu-Group



  • Turambar schrieb:

    Naja, ich habe die C-Bücher, weil ich mir keine neuen kaufen möchte, und arbeite sowohl mit den Büchern als auch mit online-Tutorials.

    Stimmt es also, dass ich die C Befehle in C++ benutzen kann, und es darüber hinaus noch "Zusätze" beim C++ gibt?
    Weil im Moment bin ich vor allem daran interessiert, die Grundlagen zu lernen, und dafür scheint mir auch Dev-C++ ein geeigneter Compiler zu sein... auch wenn er veraltet sein mag.

    Danke für eure Tipps!!

    1. Dev-C++ ist nicht nur veraltet, sondern auch ziemlich buggy. Steig auf Code::Blocks oder VC++ Express 2008 um.
    2. Es gibt keine "Befehle", es gibt Funktionen in C.
    3. Ja, du kannst C Funktionen aus C++ heraus aufrufen, nein, C++ besteht nicht nur einfach aus "Zusätzen" zu C. Du kannst in C++ C-like programmieren.

    Kauf dir entweder ein gutes C++ Buch (Forensuche, C++ Primer wird hier oft empfohlen) oder lern C.



  • Turambar schrieb:

    Naja, ich habe die C-Bücher, weil ich mir keine neuen kaufen möchte, und arbeite sowohl mit den Büchern als auch mit online-Tutorials.

    Dann viel Spaß bei C, und (in den Regel) veralteten und unsauberen Tutorials.

    Turambar schrieb:

    Stimmt es also, dass ich die C Befehle in C++ benutzen kann, und es darüber hinaus noch "Zusätze" beim C++ gibt?

    Du kannst C unter C++ schreiben, aber C++ ist an sich eine eigenständige Sprache. Du solltest dann aber bitte fragen zum Code im C- nicht im C++ Forum schreiben.

    Turambar schrieb:

    Weil im Moment bin ich vor allem daran interessiert, die Grundlagen zu lernen,...

    Welche Grundlagen? Die C oder die C++ Grundlagen? Diese unterscheiden sich gewaltig (In C++ quält man sich z.B. in der Regel nicht mit C-Strings herum), aber jeden wie er will. Verkehrt ist C nicht, aber je nach dem was dein Ziel ist würde die Empfehlung vielleicht anders aussehen

    Turambar schrieb:

    ... und dafür scheint mir auch Dev-C++ ein geeigneter Compiler zu sein... auch wenn er veraltet sein mag.

    Willst du wissen was ein veralteter Compiler/IDE ausmachen kann?
    Code den du auf diesen Schreibst wird teilweise unter neuen Compilern anders oder garnicht funktionieren. Zudem wird Code aus aktuellen Büchern nicht unbedingt auf deinen Compiler laufen.

    Wenn du mit einen veralteten Compiler/IDE arbeitest habe ich nur eine bitte: Belästige Andere nicht mit deinen Fragen die nur aufgrund der fehlenden Bereitschaft zum Wechsel stammen.

    cu André



  • Okay, ich werde dann auf Code::Blocks umsteigen.

    Es tut mir ja leid dass ich nicht die Ahnung habe und Schwachsinn schreibe.
    Ich habe in den FAQ gelesen und auch eure Beiträge ernst genommen.

    Dass ich Dev-C++ als Compiler und nicht als IDE bezeichnet habe, war eher ein Versehen- und hinzu kommt, dass es gängig zu sein scheint, IDEs in der Umgangssprache als Compiler zu bezeichnen.

    Ich möchte eine Programmiersprache lernen, einfach weil es mich interessiert- und bin jetzt nicht wirklich schlauer als zuvor.
    Dev-C++ habe ich bloß als "Erstbestes" gewählt, nicht aus irgendeiner Überlegung heraus.
    Bis jetzt bin ich damit zufrieden, weil es ähnlich zu sein scheint wie das NQC (für Lego-Roboter 😃 )mit dem ich schon einmal gearbeitet habe und mir daher den Einstieg erleichtert. Ich wusste nicht dass es eurer Meinung nach grottig ist und dass ich euch mit meinen Fragen dazu "belästige".
    Das gleiche gilt für die Unterschiede zwischen C und C++. Ich bin logischerweise davon ausgegangen, dass ich C++ schreibe weil das Ding "Dev-C++" heißt^^



  • Wenn du wirklich C++ lernen willst, dann verbrenne bitte dein C-Buch. 😃

    Nein, im Ernst, das hindert dich meistens nur. C++ hat viele neue Errungenschaften, die Dinge aus C kolossal erleichtern (z.B. die STL). C++ mit C zu vermischen ist selten von Vorteil und zeugt eher von unsauberem Code und geringer Sprachkenntnis.

    Deshalb rate ich dir auch unbedingt zu einem C++-Buch (du kannst es ja auch ausleihen), denn sehr viele Tutorials im Internet sind einfach nur schlecht. Und wenn du dir die Sprache ernsthaft aneignen willst, solltest du dir das schon einmal überlegen.



  • C++ ist eine modernere Sprache. Du kannst mit ihr technisch gesehen nicht mehr machen als mit C, aber praktisch gesehen eben schon. C++ ist objektorientiert(und anderes, aber das erstmal beiseite) das bedeuted, dass großer Code wesentlich übersichtlicher werden wird. Das bedeuted, dass du Code viel besser wieder verwenden kannst als nur mit Funktionen. Das bedeuted, dass du deinen Code viel besser debuggen kannst. Aber das bedeuted nicht, dass du mehr Möglichkeiten hast.
    Ich sage das, weil ich glaube, dass sich dein Verständniss von Grundlagen von dem allgemeinen Verständniss von Grundlagen hier unterscheidet. Wenn du wirklich programmieren lernen willst empfehle ich dir wenn C oder C++ dann ein C++ Buch. C eignet sich heutzutage vor allem noch für Systemnahe Programmierung und ich bezweifle, dass es das ist was du zu Beginn machen willst.
    C ist zwar fast vollständig in C++ enthalten, aber wenn du C lernst eignest du dir auch einen gewissen Programmierstil an, die Art wie man eben C programmiert. Und die unterscheidet sich doch stark davon wie man C++ programmieren SOLLTE(Schließlich schreibt man den Code für den Menschen und nicht für den Computer, der versteht sowieso nur Maschienencode).



  • Turambar schrieb:

    ...und hinzu kommt, dass es gängig zu sein scheint, IDEs in der Umgangssprache als Compiler zu bezeichnen...

    Was daran liegt das die üblichen IDE zumindestens unter Windows meist an einen bestimmten Compiler hängen. Man sollte nur grundlegend immer einen möglichst aktuellen verwenden.

    Turambar schrieb:

    Ich möchte eine Programmiersprache lernen, einfach weil es mich interessiert- und bin jetzt nicht wirklich schlauer als zuvor.

    Falls du weder das Geld für ein Buch hast, noch probleme mit Englisch: Es gibt kostenlos 2 gute Bücher von Bruce Eckel zum Thema C++. Zu C kann ich dir jetzt nichts nennen, ich beschäftige mich derzeit nur mit C++ sowie C# intensiver.

    Turambar schrieb:

    Das gleiche gilt für die Unterschiede zwischen C und C++. Ich bin logischerweise davon ausgegangen, dass ich C++ schreibe weil das Ding "Dev-C++" heißt^^

    Mhh... Aber du bist davon ausgegangen das man mit einen C Buch C++ programmieren kann? 😉

    Wunder dich nicht hier sind es halt viele leid zu alten Compilern fragen zu beantworten, noch dazu wo es kostenlose Alternativen gibt (Ausnahmen wären jetzt Programmierer die gezwungen sind eine bestimmte Compilerversion zu verwenden).

    cu André


Anmelden zum Antworten