C++ Syntax. Warum ist es immer so unterschiedlich?



  • Für mein Physik Studium lerne ich jetzt C++ und habe jetzt ein Riesenproblem.
    Nehmen wir als einfaches Beispiel "Hello World". Im Buch, oder im Internet, findet man immer denStandard Code

    Jetzt habe ich versucht es mit Turbo C++ zu kompilieren. Doch es war falsch. Ich musste "return 0" durch "return EXIT_SUCCESS" ersetzen.

    Ich dachte, dass QT wenigstens den "Standard Code" erkennt. Da ist es aber noch schlimmer http://qt-project.org/uploads/image_upload/hello_world.png. (Ist es überhaupt noch C++ ? 🙄)
    Ich bin einfach nur frustriert.

    1. Welche Entwicklungsumgebung haben die (Bücher-,Tutorial-)Autoren verwendet? Das würde mir einiges erleichtern.

    2. Muss ich später wirklich alle C++ Versionen für unterschiedliche Entwicklungsumgebungen können? Wenn schon einfache Sachen wie Hello World so anders aussehen, dann dürften komplizierte Programme kaum wiedererkennbar sein?! (Vorausgesetzt ich lerne QT und hab beruflich mit anderen Compilern zu tun...)



  • Hier noch mal QT Hello World Link
    http://qt-project.org/resources/getting_started



  • Liegt vielleicht daran, dass Turbo C++ mehr als Jahrzehnt nicht mehr geupdated wurde...



  • diskuz schrieb:

    Für mein Physik Studium lerne ich jetzt C++ und habe jetzt ein Riesenproblem.
    Nehmen wir als einfaches Beispiel "Hello World". Im Buch, oder im Internet, findet man immer denStandard Code

    Jetzt habe ich versucht es mit Turbo C++ zu kompilieren. Doch es war falsch. Ich musste "return 0" durch "return EXIT_SUCCESS" ersetzen.

    Ich kann mir nicht vorstellen, dass Du eine einfache Konstante durch ein Symbol ersetzen musstest.


  • Mod

    Morle schrieb:

    Ich kann mir nicht vorstellen, dass Du eine einfache Konstante durch ein Symbol ersetzen musstest.

    Ich vermute, weil er unterschiedliche Tutorials gefunden hat. Das bedeutet nicht, dass der jeweils andere Code nicht funktioniert hätte. Es gibt viele Arten, ein und das gleiche Programm zu schreiben.

    @TE: Du wirfst hier verschiedene Begriffe zusammen, die nicht das gleiche sind, auch wenn sie dem Anfänger zunächst nicht so erscheinen:
    -Die Sprache "C++": Das ist eine abstrake Sammlung von Regeln und Definitionen, nach denen man ein Computerprogramm schreiben kann und wie dieses Programm zu übersetzen ist. Es ist so etwas wie "Deutsch" oder "Englisch". Man kann prinzipiell den Sprachstandard nachlesen, als Anfänger wirst du aber vermutlich kein Wort davon verstehen:
    http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf

    -Der Compiler: Dies ist ein Computerprogramm, welches einen in C++ geschriebenen Text in ein für den Computer ausführbares Programm übersetzt. Gängige Compiler sind zum Beispiel "GCC" und "cl". Du nutzt anscheinend den (uralten) "tcc".

    -IDE (Integrierte Entwicklungsumgebung): Dies ist eine Art Editor, darauf spezialisiert, dass man damit Programme schreibt. Prinzipiell könnte man das mit jedem Texteditor (und das ist auch durchaus verbreitet, ich mache das zum Beispiel so). Die IDE fasst bloß viele der Dinge, die man während des Programmierens oft machen will (zum Beispiel das Programm übersetzen) schick zusammen, so dass alles wie aus einem Guss aussieht. Daher wird die IDE oft mit dem Compiler, manchmal sogar mit der Sprache selbst verwechselt. IDEs kommen oft als Gesamtpaket mit Editor, Compiler, Debugger, Bibliotheken und vielem mehr. Bekannte IDEs sind "Visual C++", "Code::Blocks" und "Eclipse". "Turbo C++" ist ebenfalls eine IDE, die ich aber schon seit Jahrzehnten nicht mehr in freier Wildbahn gesehen habe.

    -Framwork: Dies ist eine sehr umfangreiche Sammlung von Bibliotheken, spezialisiert auf die Entwicklung bestimmter Anwendungen. Solch ein Framework setzt normalerweise auf einer Sprache auf, aber ist so umfangreich, dass bloß noch die Grundelemente der Sprache benutzt werden, für alles andere wird Funktionalität des Frameworks benutzt. Solch ein Framework hat daher meistens nichts mehr mit der eigentlichen Sprache gemeinsam, außer dir grundlegende Grammatik. Alle "Vokabeln" sind anders. Es ist daher wie eine ganz neue Sprache. "Qt" ist solch ein Framework, spezialisiert für die Entwicklung von Anwendungen mit grafischer Benutzungsoberfläche.
    Manche IDEs kommen auch mit einem tief integrierten Framework, zum Beispiel eben der Qt-Developer, so dass man denkt, dieses Framework wäre ein Teil der Sprache. Das passiert auch gerne beim C++-Builder (dem Nachfolger von Turbo-C++) und bei manchen Teilen von Visual-C++, da für den Anfänger nicht deutlich ist, wo die "normale" Sprache aufhört und das Framework anfängt.



  • Und falls du nachgucken willst ob etwas zur normalen Sprache gehört: http://en.cppreference.com/w/



  • @SeppJ

    Sehr hilfreich 🙂 Vielen Dank für die Erklärung.


Log in to reply