C++09 - wann kommt's raus?



  • Leprechaun schrieb:

    Tachyon schrieb:

    Leprechaun schrieb:

    Sdantart schrieb:

    Man munkelt Anfang Dezember, damit die Compilerhersteller beim Weihnachtsgeschäft richtig absahnen können!

    Hoffentlich. Ich weiß noch nicht, was ich meinem kleinen Bruder schenken soll.

    Wie wärs mit einem Ego-Shooter?

    Nein, Danke! Wir hatten doch erst einen Amokläufer. 😡

    Weil da auch die Ego-Shooter dran schuld sind.. da muss schon mehr schief gehen damit einer so durchknallt.
    rya.



  • Ohhhh...das artet doch gleich wieder aus hier 🙂 Da reicht ein Wort und man schweift wieder vom Thema ab 😉



  • Firefighter schrieb:

    Ohhhh...das artet doch gleich wieder aus hier 🙂 Da reicht ein Wort und man schweift wieder vom Thema ab

    Ich war jedenfalls nicht der Troll, der damit angefangen hat.



  • Um auf das Thema zurück zu kommen. Laut Aussage eines Mitgliedes aus dem Standardisierungsprozess, wird es definitiv kein C++09

    Howard Hinnat; comp.lang.c++ schrieb:

    0x0a or even 0x0b. 09 is no longer possible. N2800 represents CD1
    (first committee draft). This should be viewed as "feature complete",
    but definitely not bug free.

    cu André



  • Naja, der damalige Running Gag, dass das x in C++0x ein Hexwert sein könnte, ist also purer Ernst geworden.

    OK, jetzt haben wir so lange gewartet, die ein oder zwei jahre halten wir auch noch aus. Ich hoffe nur, es wird dem Komitee in Zukunft eine Lehre sein, und sie werden mehr TRs in kürzerer Zeit rausbringen!



  • Bulli schrieb:

    OK, jetzt haben wir so lange gewartet, die ein oder zwei jahre halten wir auch noch aus.

    Wirklich? Und ist C++0x wirklich die erhoffte Verbesserung? Ich hoffe zwar wirklich auf einige der Punkte. Aber was ich vermisse sind Änderungen, die meiner Meinung für ein langfristiges Überleben - auch außerhalb von Nischen - der Sprache C++ nötig sind.

    Bulli schrieb:

    Ich hoffe nur, es wird dem Komitee in Zukunft eine Lehre sein, und sie werden mehr TRs in kürzerer Zeit rausbringen!

    Ich hoffe das sie auch mal zu einem gewissen Bruch oder zu einer größeren Änderung bereit sind (Entschlackung der Sprache, Binärkompatibilität in Schnittstellen...).

    Mit jedem Jahr reduziert sich zumindest bei mir die Wahrscheinlichkeit in Zukunft noch mit C++ zu tun zu haben.

    cu André



  • Dann nutze es nicht mehr, eine Sprache muss doch nicht immer umgebogen werden um dem Zeitgeist zu folgen. In vielen Punkten gefällt mir C++ doch durchaus und die Änderungen bauen genau das weiter aus was C++ ausmacht.

    Ist ja nicht so, dass es keine Alternativen gäbe?

    Natürlich hast du nicht immer die Wahl, aber wenn man die nicht hat, ist die Situation sowieso wieder mal eine ganz andere..



  • Wer rechnet denn damit, C++0x in absehbarer Zeit (vorausgesetzt es wird bald verabschiedet), wirklich produktiv einzusetzen?
    Ich meine keine privaten Spielprojekte sondern den professionellen Einsatz. Das kann doch noch Jahrzehnte dauern! In der Java-Welt wird ja teilweise noch mit JDK 1.4 rumgefrickelt, obwohl Java 6 schon längt verfügbar ist und Java 7 vor der Tür steht. Wie soll das erst bei C++ aussehen?



  • tfa schrieb:

    Wer rechnet denn damit, C++0x in absehbarer Zeit (vorausgesetzt es wird bald verabschiedet), wirklich produktiv einzusetzen?

    *Meld* Sobald der Compiler mit dem wir arbeiten gewisse Features mitbringt werden diese auch eingesetzt (Bei uns ist weder Portabilität noch eine Umstellung der Umgebung als solche geplant).

    tfa schrieb:

    Ich meine keine privaten Spielprojekte sondern den professionellen Einsatz. Das kann doch noch Jahrzehnte dauern! In der Java-Welt wird ja teilweise noch mit JDK 1.4 rumgefrickelt, obwohl Java 6 schon längt verfügbar ist und Java 7 vor der Tür steht. Wie soll das erst bei C++ aussehen?

    Realistisch? Scheitert in der Regel immer an den Urgesteinen, für die selbst der C++98 Standard noch ein Buch mit sieben Siegeln ist (Und die trotz eines anderen Verhaltens des Kompilers auch noch mit new allozierten Speicher gegen NULL prüfen...). Das man in der Regel nicht von heute auf morgen laufende Projekte umstellt, okay. Aber man sollte nicht den Fehler machen (wie in meiner letzten Firmen miterlebt) und meinen das man Entwicklungsumgebungen selbst ca. 10 Jahre nach Supporteinstellung weiter verwendet...

    cu André



  • Und die trotz eines anderen Verhaltens des Kompilers auch noch mit new allozierten Speicher gegen NULL prüfen...).

    Blöde frage, wieso ist das schlecht? Es ist doch nicht garantiert, dass ich den Speicher den ich anfrage auch bekomme... oder hab ich ne Neuerung verpasst?
    rya.



  • tfa schrieb:

    In der Java-Welt wird ja teilweise noch mit JDK 1.4 rumgefrickelt, obwohl Java 6 schon längt verfügbar ist und Java 7 vor der Tür steht. Wie soll das erst bei C++ aussehen?

    Das kenn ich - vor wenigen Wochen kam die Mail dass wir endlich auch Java 1.5 verwenden dürfen.

    Allerdings sehe ich da einen gewissen Unterschied: Bei Java muss der Anwender/Kunde eine entsprechende JRE haben, bei C++ muss nur der Entwickler einen entsprechenden Compiler haben. Insofern ist Zurückhaltung bei der Verwendung der neuesten Java-Features durchaus verständlich in Hinblick auf Kunden, die vielleicht nicht immer sofort auf das aktuellste System umsteigen.



  • @scorcher24 | off
    Das normale new wirft eine exception wenn der Speicher nicht reicht. Es gibt eine nothrow Variante die das nicht macht und bei der du wieder testen kannst.



  • New gibt nie Null zurück, sondern wirft eine Exception. Willst du, dass new Null bei einem Fehler zurückgibt, musst du new(std::nothrow) verwenden.

    EDIT: Ach, wurde ja schon gepostet...



  • Don06 schrieb:

    New gibt nie Null zurück, sondern wirft eine Exception. Willst du, dass new Null bei einem Fehler zurückgibt, musst du new(std::nothrow) verwenden.

    EDIT: Ach, wurde ja schon gepostet...

    Da bin ich überrascht, ich hab mehrere Bücher zu C++ von ca. 2000 und in denen
    steht das garantiert nicht drin ( denn ich hab Sie gelesen 😃 ).
    Danke auf jeden Fall.
    rya.



  • pumuckl schrieb:

    Allerdings sehe ich da einen gewissen Unterschied: Bei Java muss der Anwender/Kunde eine entsprechende JRE haben, bei C++ muss nur der Entwickler einen entsprechenden Compiler haben. Insofern ist Zurückhaltung bei der Verwendung der neuesten Java-Features durchaus verständlich in Hinblick auf Kunden, die vielleicht nicht immer sofort auf das aktuellste System umsteigen.

    Die passende JRE wird genau wie die Software auch beim Kunden mit installiert. Da gibt es keinen Unterschied.



  • Um nocheinmal zum Erscheinungstermin zurückzukommen...
    Ich hoffe, das der neue Standard bald herauskommt, auch wenn ich es nicht glaube...
    Einige Änderungen passen mir zwar nicht, aber man muss sie ja nicht verwenden und andere finde ich ganz nützlich.
    Ich hoffe aber, das in Zukunft die Standards etwas schneller kommen und auch gelegentlich mal größere Veränderungen mitbringen...



  • scorcher24 | off schrieb:

    Da bin ich überrascht, ich hab mehrere Bücher zu C++ von ca. 2000 und in denen
    steht das garantiert nicht drin ( denn ich hab Sie gelesen 😃 ).

    2000 war der Standard 2 Jahre drausen, daher finde ich das noch verschmerzbar. Nur es gibt noch Bücher mit einem Erscheinungsdatum > 2005 die dies und vieles andere noch immer nicht berücksichtigen.

    Ich behaupte einfach mal unverschämt wie ich bin: weit mehr als 50% aller aktuell erhältlichen C++ Bücher (besonders im deutschen Bereich) sind nur für eines sinnvoll... das klingeln der Verlagskassen (und eine Bereicherung der runden Papierablage...).

    cu André



  • C++0x kommt vielleicht bald raus (ich hoffe es...); aber zuerst brauchen wir mal noch einen Compiler, der weit verbreitet ist (Sprich: MSVC++. Ja, es ist fies, aber ohne Microsoft wird es wieder viele Jahre dauern, bis der neue Standard sich durchsetzen kann. Das letzte Mal durfte sich die C++-Welt mit allerhand Vergewaltigungen der Sprache auseinandersetzen, was auch bis heute noch andauert 😮), und es auch unterstützt. Und soweit ich es beurteilen kann, ist die Implementierung eines C++-Compilers oder selbst nur einiger Features derselben unglaublich aufwändig. VC 2010 unterstützt einige Features von C++0x bereits (rvalue references, lambda expressions, das neue auto ...), die wirklich komplizierten Dinge wurden noch nicht angerührt. Mit effektiv einsetzbaren und eingesetzten Compilern rechne ich frühestens so gegen Ende 2012. Bis dahin ist ein eventueller Standard C++0x nur ein sehr interessantes Papierchen 🤡

    MfG



  • /rant/ schrieb:

    Ja, es ist fies, aber ohne Microsoft wird es wieder viele Jahre dauern, bis der neue Standard sich durchsetzen kann.

    Der GCC kann schon einiges: http://gcc.gnu.org/projects/cxx0x.html



  • Leprechaun schrieb:

    /rant/ schrieb:

    Ja, es ist fies, aber ohne Microsoft wird es wieder viele Jahre dauern, bis der neue Standard sich durchsetzen kann.

    Der GCC kann schon einiges: http://gcc.gnu.org/projects/cxx0x.html

    Ja, und ich hoffe sehr, dass Microsoft sich ein Beispiel daran nimmt (momentan sieht es nicht schlecht aus), weil deren Compiler nunmal der am weitesten verbreitete ist. Wenn sie anstelle des neuen Standards wieder ihren eigenen Käse einbauen, dann wird es noch viel schwerer, den Überblick zu bewahren, als es heute schon ist 😃

    BTW, wo finde ich eigentlich mal einen Link, wo ich den Compiler für Windooze 64-bit saugen und direkt installieren und benutzen kann? Für jedes mögliche, noch so exotische System werden brauchbare GCCs so offensichtlich bereitgestellt, aber für Windows nicht 😕


Anmelden zum Antworten