Wie nennt ihr den alten Standard vor C++11?



  • Hallo,

    da ja jetzt der neue Standard C++11 draußen ist, meint man ja automatisch wenn man C++ meint immer den neusten Standard, in der heutigen Zeit also C++11. Nun sind einige noch mit alten Projekten und alten Compilern unterwegs die diesen Standard nicht unterstützen. Wie nennt ihr denn jetzt die Standards vergangener Tage, nur C++ wäre meiner Meinung ja falsch, weil das ist ja jetzt C++11?



  • C++03



  • Grasshopper schrieb:

    da ja jetzt der neue Standard C++11 draußen ist, meint man ja automatisch wenn man C++ meint immer den neusten Standard, in der heutigen Zeit also C++11.

    Nö, wie kommst du darauf? Es ist doch eher umgekehrt. Wenn man von C++11 Features spricht, erwähnt man das extra, weil die nun mal noch ziemlich neu sind.

    Grasshopper schrieb:

    Nun sind einige noch mit alten Projekten und alten Compilern unterwegs die diesen Standard nicht unterstützen.

    Einige? Die meisten.



  • Ja klar sind Features neu, aber sie sind einfach der aktuelle C++ Standard, ob sie nun jeder schon kennt oder nicht ist doch irrelevant in meinen Augen.

    Es müsste hier daher eher C++(auch C++0x) heißen, oder?
    C++ = C++11



  • Also Stephan T Lavavej nennt ihn C++98/03, ich auch 😃



  • Ich empfinde die Frage schon als naheliegend, da in leetzter Zeit vermehrt einfache hir gestellte Fragen rein mit C++11 mitteln gelöst werden. Das ist oftmals ziemlich deplaziert, da in den misten Fällend er Fragesteller gar kein C++11 zur Verfügung hat.

    In dem Sinne wäre ich schon für eine Konvention, dass man irgendwie anschreibt, dass man gerade nur C++03 meint, einfach um den üblichen Verdächtigen den Wind aus den Segeln zu nehmen.



  • Das finde ich auch. Ich bin da ein gutes Beispiel, ich bin noch an den Anfängen von C++ und werde natürlich bestimmt auch Features des aktuellen Standards nutzen, warum auch nicht? Jeder kann sich kostenlos Visual Studio runterladen und da ist der aktuelle C++ Standard natürlich mit an Bord. Ich denke mit dem GCC sieht es genauso aus.

    Also warum soll ich als Anfänger nur altes Zeugs vom letzten Standard lernen, der was weiß ich wie viele Jahre alt ist? Haben das einige auch mit der neuen deutschen Rechtschreibung so gemacht?



  • Bei dir ist das halt so. Viele haben die Wahl gar nicht. Ich kann mir nicht aussuchen, welchen Compiler ich auf der Arbeit verwende. So einfach ist das. Und da das vielen so geht, kam der Vorschlag von Otze (den du irgendwie falsch verstanden hast, glaube ich 🙂 ).



  • Ok, ist ja nicht mein Forum. Dann ist eben für euch C++ != C++11, weil es so bei den meisten auf Arbeit so ist. 🙄



  • Ich denke mal, da unterscheidet man nicht pauschal. C++ heißt eben nicht C++11 sondern allgemein Standard-C++. Damit sollten Dinge, die einfach pauschal über C++ gesagt werden, sowohl im alten als auch im neuen gültig sein. Wenn man hier Code postet, der C++11-Features enthält, sollte man das natürlich explizit dranschreiben (wenn der Fragesteller ein Neuling ist) und bei Bedarf auch eine C++03-Lösung anbieten. Natürlich gibts hier einige Hobbyprogrammierer, die sich gleich VS2012 auf ihren Spiele-PC "gesaugt" haben und nicht verstehen können, warum einige Leute noch mit Uralt-Versionen wie VS2008 arbeiten, aber die Mehrheit kennt dann doch die rauhe Wirklichkeit und bedauert die Leute, die auf der Arbeit noch VC6 einsetzen müssen (denen ist nämlich wirklich kaum noch zu helfen ;)).

    Grasshopper schrieb:

    Ja klar sind Features neu, aber sie sind einfach der aktuelle C++ Standard, ob sie nun jeder schon kennt oder nicht ist doch irrelevant in meinen Augen.

    Nein ist es nicht. Sie stehen auf einem Papier (oder PDF), das den Namen "Standard" trägt. Sie sind aber de facto so lange noch kein Standard, wie die Mehrheit der Compiler im professionellen Einsatz sie nicht unterstützt. Klar, wir sind da in einer ständig wechselnden Übergangszone, deshalb sollte man auch streng genommen immer dazu schreiben, welche Version man meint - einfach nur "C++" sollte dann heißen "gilt für beide Versionen".

    Die ganzen Unterscheidungen gelten aber als Richtlinien hauptsächlich, wenn man sich mit Leuten unterhält, die sich noch nicht so gut auskennen. Hin und wieder gibts ja auch Situationen, wo sich die "alten Hasen" hier gegenseitig Code an die Köppe werfen, und da die an einem auto , variadic templates und Lambdas eh gleich sehen dass es sich um C++11 handelt, verzichtet man dann gern auf die explizite Angabe der Version - teils zum Leidwesen der Unerfahrenen.

    Grasshopper schrieb:

    C++ != C++11, weil es so bei den meisten auf Arbeit so ist. 🙄

    Ja - weils in der realen Welt all derer so ist, die noch woanders als zu Hause und im Uni-Elfenbeinturm mit C++ zu tun haben 😉



  • Also ist der C++ Standard nicht das was in dem PDF festgelegt wurde, sondern die Menge die alle "Standards" gemein haben?

    Welche Mehrheit der Compiler, die im professionellen Bereich genutzt werden, unterstützen denn kein C++11?

    Ich kann dies nur aus der Sicht des Hobbyprogrammierer mit SpielePC sagen, denn für mich sind C++-Programmieren nun auch diese und nicht nur welche die sich beruflich so etwas antun müssen/wollen^^

    Ich lebe auch in einer realen Welt.


  • Mod

    Der ISO-Dokument beschreibt nicht eine sondern die Programmiersprache C++.
    Konsequenterweise ist die Sprache, die im 1998 bzw. 2003 verabschiedeten Dokument beschrieben wurde, de jure kein Standard-C++ (mehr).

    Was praktisch gemeint ist, wenn hier im Forum von C++ die Rede ist, muss sich hingegen aus dem Kontext ergeben (wobei allerdings die Frage, was gegenwärtig am meisten genutzt wird, keinen normativen Wert hat).

    pumuckl schrieb:

    Nein ist es nicht. Sie stehen auf einem Papier (oder PDF), das den Namen "Standard" trägt. Sie sind aber de facto so lange noch kein Standard, wie die Mehrheit der Compiler im professionellen Einsatz sie nicht unterstützt.

    Die Antwort impliziert, dass es auch noch eine (abweichende) de jure-Seite gibt. Damit ist das unbedingte Nein aber nicht angebracht.



  • Grasshopper schrieb:

    Also ist der C++ Standard nicht das was in dem PDF festgelegt wurde, sondern die Menge die alle "Standards" gemein haben?

    Nein, es gibt keinen "C++-Standard". Du musst immer angeben, welchen du meinst.

    Welche Mehrheit der Compiler, die im professionellen Bereich genutzt werden, unterstützen denn kein C++11?

    VS06/VS08, alle GCC mit Version unter ~4.5, usw. usw.
    Ich bin sicher, 95% der heutigen Firmen arbeiten mit einem solcher Compiler.

    Ich kann dies nur aus der Sicht des Hobbyprogrammierer mit SpielePC sagen, denn für mich sind C++-Programmieren nun auch diese und nicht nur welche die sich beruflich so etwas antun müssen/wollen^^

    Jo, Pech :D! Denn die meisten hier sind beruflich tätig (mich ausgeschlossen).
    Dann musst du dich wohl daran gewöhnen 🙂



  • Ok, dann kann man also nie schreiben C++. Oder wenn man es macht, dann meint man nur die Schnittmenge zwischen allen "Standards". Wieder was gelernt, das war ja auch Sinn dieses Threads.

    Ich dachte immer es gibt mehr Hobbyprogrammierer als die die es beruflich machen, auch hier wieder was gelernt.



  • Grasshopper schrieb:

    Welche Mehrheit der Compiler, die im professionellen Bereich genutzt werden, unterstützen denn kein C++11?

    Da nun mehrfach der (dein) Spiele-PC erwähnt wurde, mal ein passendes Beispiel: hast du schon mal ein Spiel installiert, bei dem was neueres als das Redistributable vom VS2005 oder VS2008 installiert wurde? Ich jedenfalls nicht. Im professionellen Bereich wechselt man nicht unbedingt jedes Jahr den Compiler. So eine Migration bringt u.U. mehr Schwierigkeiten mit, als du dir vielleicht vorstellst. Ich persönlich arbeite mit VS2010. Vor ca. 4 Jahren war es noch das VS6 (1998).



  • Sone schrieb:

    Jo, Pech :D! Denn die meisten hier sind beruflich tätig (mich ausgeschlossen).

    Na ob das wirklich die meisten sind, würde ich mal bezweifeln. Es gibt schon eine Menge Hobby-Programmierer hier. Von den Langzeitmitgliedern dürften aber doch recht viele professionell programmieren. Wäre interessant zu wissen, wie in etwa die Aufteilung ist. Ich starte mal eine Umfrage.



  • _matze schrieb:

    Sone schrieb:

    Jo, Pech :D! Denn die meisten hier sind beruflich tätig (mich ausgeschlossen).

    Na ob das wirklich die meisten sind, würde ich mal bezweifeln. Es gibt schon eine Menge Hobby-Programmierer hier. Von den Langzeitmitgliedern dürften aber doch recht viele professionell programmieren. Wäre interessant zu wissen, wie in etwa die Aufteilung ist. Ich starte mal eine Umfrage.

    👍 Ich wette, mehr als die Hälfte sind beruflich tätig 😃



  • Ich habs verstanden, danke. Man bin ich froh nicht mit altem Zeugs oder Code programmieren zu müssen, ich beneide euch nicht 😃

    Aber vielleicht gibt es ja auch welche die den alten Code/Compiler/IDEs mögen, so wie bei Autos es ja einige gibt die Oldtimer mögen?

    Ähm zu den professionell muss ich noch was sagen, nur weil man etwas beruflich oder sehr lange macht, ist man nicht automatisch ein Profi. Ich habe mal ein Buch darüber gelesen, wie man so die Stufen bis zum Experten einteilt. Da ging ganz klar hervor:

    Viel Zeit mit etwas verbringen + es beruflich machen, ist nicht automatisch eine Menge von "Ich bin Profi".

    Kleines Beispiel: Ein Angestellter kloppt 20 Jahren Daten in Excel ein, er ist nicht automatisch ein Profi in Excel.





  • Grasshopper schrieb:

    Aber vielleicht gibt es ja auch welche die den alten Code/Compiler/IDEs mögen

    ÄHHHEEEEMMMM
    Nein.


Anmelden zum Antworten