Warum ist die Implementierung von C++11 in Visual Studio 2012 so lächerlich?
-
-
Vermutlich weil sie viele andere Dinge tun mussten...
http://blogs.msdn.com/b/vcblog/archive/2012/08/14/10339695.aspx
-
Das Argument ist mit >90k Mitarbeitern invalid.
-
Natürlich, denn wie wir alle wissen, skaliert Entwicklungszeit ja linear mit der Anzahl der Mitarbeiter...
-
Das Core C++ Team ist sehr klein... das würdest Du vermutlich gar nicht glauben...
-
Jochen Kalmbach schrieb:
Das Core C++ Team ist sehr klein... das würdest Du vermutlich gar nicht glauben...
Außerdem sucht es nach Verstärkung....
-
Interessiert das wirklich so viele Entwickler? C++11 ist doch sowieso ein ziemlicher Flopp.
-
this->that schrieb:
C++11 ist doch sowieso ein ziemlicher Flopp.
oO!? Selbst wenn C++11 nur aus rvalue References, Lambdas und auto bestehen würde, allein durch diese drei Features fühlt sich C++11 imo wie eine komplett neue Sprache an...
-
Naja, threads mag ich auch nicht missen.
-
und variadic templates :>
-
Alleine override wäre mir schon eine neue Version wert gewesen.
-
dot schrieb:
Natürlich, denn wie wir alle wissen, skaliert Entwicklungszeit ja linear mit der Anzahl der Mitarbeiter...
Das nicht, andere Compiler-Hersteller können aber offenbar schneller reagieren, da stellt sich dann natürlich schon die Frage warum ein gigantischer Softwarekonzern hier hinterherhängt bzw. ob ihm dieses Projekt wichtig genug ist.
MfG SideWinder
-
dot schrieb:
Selbst wenn C++11 nur aus rvalue References, Lambdas und auto bestehen würde, [...]
knivil schrieb:
Naja, threads mag ich auch nicht missen.
DrakoXP schrieb:
und variadic templates :>
Xin schrieb:
Alleine override wäre mir schon eine neue Version wert gewesen.
OT-Flashback:
Reg: [...] And what have they ever given us in return?! Xerxes: The aqueduct? Reg: What? Xerxes: The aqueduct. Reg: Oh. Yeah, yeah. They did give us that. Uh, that's true. Yeah. Commando #3: And the sanitation. Loretta: Oh, yeah, the sanitation, Reg. Remember what the city used to be like? Reg: Yeah. All right. I'll grant you the aqueduct and the sanitation are two things that the Romans have done. Matthias: And the roads. Reg: Well, yeah. Obviously the roads. I mean, the roads go without saying, don't they? But apart from the sanitation, the aqueduct, and the roads-- Commando: Irrigation. Xerxes: Medicine. Commandos: Huh? Heh? Huh... Commando #2: Education. Commandos: Ohh... Reg: Yeah, yeah. All right. Fair enough. Commando #1: And the wine. Commandos: Oh, yes. Yeah... Francis: Yeah. Yeah, that's something we'd really miss, Reg, if the Romans left. Huh. Commando: Public baths. Loretta: And it's safe to walk in the streets at night now, Reg. Francis: Yeah, they certainly know how to keep order. Let's face it. They're the only ones who could in a place like this. Commandos: Hehh, heh. Heh heh heh heh heh heh heh. Reg: All right, but apart from the sanitation, the medicine, education, wine, public order, irrigation, roads, a fresh water system, and public health, what have the Romans ever done for us? Xerxes: Brought peace. Reg: Oh. Peace? Shut up!
-
dot schrieb:
this->that schrieb:
C++11 ist doch sowieso ein ziemlicher Flopp.
oO!? Selbst wenn C++11 nur aus rvalue References, Lambdas und auto bestehen würde, allein durch diese drei Features fühlt sich C++11 imo wie eine komplett neue Sprache an...
Jetzt übertreib mal nicht. Ich find das hauptsächlich für Spielereien daheim interessant, aber einen richtigen Mehrwert bietet es kaum. rvalues -> erstmal nur viel mehr Schreibaufwand für Move Konstruktoren. Wenn ich so an meinen Code oder überhaupt unseren Code in der Firma denke, fallen mir höchstens paar einzelne Klassen (von rund 15 000), die davon auch wirklich profitieren würden. Und ob grad bei den Klassen die Performance (im Promillebereich wahrscheinlich) überhaupt irgendeine Rolle spielt, ist eine ganz andere Frage.
Lambdas sind nett, aber nicht alltäglich und ohne konnte man bisher auch ganz gut leben. Bei vielen Bibliotheken würden Lambda Ausdrücke einfach nicht passen. Und so viele da auch nicht sofort darauf umsteigen, bei uns wird es sicher noch Jahre dauern, auch weil wir ältere CAD Systeme unterstützen müssen und nicht sofort den neuesten Compiler nehmen können.
auto ist auch ganz nett. Aber es ist jetzt auch kein Killerfeature, so viele skurille Template Konstrukte haben wir in unserem Code überhaupt nicht, dass es sich lohnen würde.
Variadic Templates find ich da schon interessanter. Aber deswegen würd ich das jetzt nicht als "neue Sprache" bezeichnen. Ich würde sagen, in der Praxis ändert sich durch C++11 sehr wenig. Produktiver Real Life Code besteht nur zu einem kleinen Teil aus irgendwelchen Template Libraries (wie schon der Name sagt, das sind Libraries. Und wenn die Libraries mehr Code ausmachen als der eigentliche Code, macht man wohl was falsch). Bei uns wird sich erstmal sicher gar nichts ändern, und später werden vielleicht nach und nach paar von den neuen Features verwendet, aber das wird dann wohl höchstens 1% des Codes betreffen, und sicher nichts lebenswichtiges.
-
Mechanics schrieb:
Ich find das hauptsächlich für Spielereien daheim interessant, aber einen richtigen Mehrwert bietet es kaum. rvalues -> erstmal nur viel mehr Schreibaufwand für Move Konstruktoren. Wenn ich so an meinen Code oder überhaupt unseren Code in der Firma denke, fallen mir höchstens paar einzelne Klassen (von rund 15 000), die davon auch wirklich profitieren würden. Und ob grad bei den Klassen die Performance (im Promillebereich wahrscheinlich) überhaupt irgendeine Rolle spielt, ist eine ganz andere Frage.
Performance ist nur ein Aspekt von rvalue References. Vor allem erlauben rvalue References, Dinge auszudrücken, die du zuvor gar nicht ausdrücken konntest (siehe z.B. auto_ptr). rvalue References sind imo gerade für die Praxis eines der wichtigsten, wenn nicht sogar das wichtigste Feature von C++11. rvalue References machen RAII erst so richtig sinnvoll und ändern die Art und Weise wie man C++ codet teilweise fundamental; wenn du darin nur Spielereien siehst, dann kann ich nur zu dem Schluss kommen, dass du daheim noch nicht genug damit gespielt hast...

Mechanics schrieb:
Lambdas sind nett, aber nicht alltäglich und ohne konnte man bisher auch ganz gut leben. Bei vielen Bibliotheken würden Lambda Ausdrücke einfach nicht passen. Und so viele da auch nicht sofort darauf umsteigen, bei uns wird es sicher noch Jahre dauern, auch weil wir ältere CAD Systeme unterstützen müssen und nicht sofort den neuesten Compiler nehmen können.
Lambdas machen die STL imo um mindestens eine Größenordnung mächtiger und führen ebenfalls teilweise zu einem völlig neuen Programmierstil, da der ganze früher notwendige Boilerplate Code einen oft davon abgehalten hat, wirklich mit Funktoren zu arbeiten...
Mechanics schrieb:
Variadic Templates find ich da schon interessanter.
Bevor ich begonnen hab, C++11 tatsächlich zu verwenden, dachte ich das auch. Ja ich hielt variadic templates sogar für das mit großem Abstand wichtigste aller neuen Features. Aber mittlerweile seh ich das komplett anders. Im Moment jedenfalls halte ich rvalue References für das fundamentale neue Feature und ich könnte nichtmehr ohne leben. Da ich mich mangels Compilersupport mit variadic templates bisher großteils nur auf theoretischer Ebene beschäftigen konnte, kann es aber natürlich sein dass sich meine Meinung noch ändert...
-
Du hast Recht, genaugenommen habe ich damit überhaupt noch nicht rumgespielt. Überhaupt keine Zeit mehr für sowas.
Mit den rvalue references hast du mich nicht überzeugt. auto_ptr braucht man nicht, es gibt unique_ptr. Was du sagst ist zwar prinzipiell richtig, aber ich seh darin trotzdem keinen entscheidenden Vorteil. Es geht dabei nicht um die "Business Logik", sondern um das technische drumherum, und das machst aus meiner Sicht nur einen winzigen Teil des Codes aus. Bei unseren ganzen "Arbeitsklassen", die was machen, fällt mir jetzt wirklich keine Verwendung für sowas ein. Nur bei unseren "Framework" Klassen vielleicht, wir haben ja mittlerweile viele eigene Bibliotheken mit allen möglichen Konstrukten. Aber mir würde jetzt spontan auch da kein entscheidender Vorteil einfallen, oder wo man das überhaupt braucht. Das Beispiel mit dem auto_ptr ist vielleicht wirklich noch das beste Beispiel für sowas, aber ich finde sowas ist extrem selten.
-
Mechanics schrieb:
auto_ptr braucht man nicht, es gibt unique_ptr.
Eben, sowas wie unique_ptr wird durch rvalue references überhaupt erst möglich. In C++03 kannst du unique_ptr gar nicht umsetzen...
rvalue References ändern natürlich nichts daran, dass du Business Logic schreiben musst. Aber rvalue References ändern die Art und Weise, wie du deine Business Logic schreibst, potentiell fundamental...
-
Mechanics schrieb:
auto_ptr braucht man nicht, es gibt unique_ptr.
Und du hast dich gerade selbst davon überzeugt, dass C++11 wie eine neue Sprache ist. 
C++ macht ohne RValue-Referenzen eigentlich nicht mal wirklich Sinn, so weit würde ich gehen. (Okay, das sage ich auch über Module und Concepts, aber die kommen ja auch noch. Hoffentlich schnell.)
-
Swordfish schrieb:
Reg: [...] And what have they ever given us in return?! Xerxes: The aqueduct? Reg: What? Xerxes: The aqueduct. Reg: Oh. Yeah, yeah. They did give us that. Uh, that's true. Yeah. Commando #3: And the sanitation. Loretta: Oh, yeah, the sanitation, Reg. Remember what the city used to be like? Reg: Yeah. All right. I'll grant you the aqueduct and the sanitation are two things that the Romans have done. Matthias: And the roads. Reg: Well, yeah. Obviously the roads. I mean, the roads go without saying, don't they? But apart from the sanitation, the aqueduct, and the roads-- Commando: Irrigation. Xerxes: Medicine. Commandos: Huh? Heh? Huh... Commando #2: Education. Commandos: Ohh... Reg: Yeah, yeah. All right. Fair enough. Commando #1: And the wine. Commandos: Oh, yes. Yeah... Francis: Yeah. Yeah, that's something we'd really miss, Reg, if the Romans left. Huh. Commando: Public baths. Loretta: And it's safe to walk in the streets at night now, Reg. Francis: Yeah, they certainly know how to keep order. Let's face it. They're the only ones who could in a place like this. Commandos: Hehh, heh. Heh heh heh heh heh heh heh. Reg: All right, but apart from the sanitation, the medicine, education, wine, public order, irrigation, roads, a fresh water system, and public health, what have the Romans ever done for us? Xerxes: Brought peace. Reg: Oh. Peace? Shut up!
Ich liebe diesen Film!
