Stroustrup Interviews
-
http://www.youtube.com/watch?v=JBjjnqG0BP8&feature=related
Kennt die Videos schon jemand? Sie sind zwar ziemlich kurz und pauschal, die gestellten Fragen, aber trotzdem sind ganz interessante Antworten mit dabei, z.B. ob C obsolet sei (was ich persönlich auch denke, </flamewar>) und was Stroustrup so von der Softwareentwicklung dieser Tage hält.
-
Ich finde die anliegenden Vids zu C++0x Standard viel interessanter, wie
http://www.youtube.com/watch?v=JffvCivHEHU&feature=related
http://en.wikipedia.org/wiki/C%2B%2B0x
Ich habe bis heute aber noch niemanden gefunden der C++11 überhaupt ernsthaft angefasst hat.
-
Prof84 schrieb:
Ich habe bis heute aber noch niemanden gefunden der C++11 überhaupt ernsthaft angefasst hat.
Dann kennst du ziemlich wenig Leute.
-
Komme halt aus der Industrie. Da habe ich bis heute auch null Ausschreibungen dazu gesehen.
-
Das ist doch völlig klar. Viele schreiben ja auch immer noch auf C/C++. Hast Du schonmal ne Ausschreibung auf C++98 gesehen? Ich denke nicht, dass das jemals bis zu den Stellenausschreibungen durchkommt. Es ist ja auch nicht so gedacht, dass C++11 und C++98 parallel als verschiedene sprachen weiterleben. Ersteres soll letzteres ersetzen, und in den allermeisten Bereichen wird das auch funktionieren, weil die Inkompatibilitäten extrem klein gehalten wurden, sodass 99% des vorhandenen C++-Codes für C++98 auch durch einen C++11-Compiler geht.
Die neuen Features werden sich dann wahrscheinlich erst nach und nach durchsetzen, das wird man aber an den Stellenausschreibungen nicht sehen.
-
Prof84 schrieb:
Komme halt aus der Industrie. Da habe ich bis heute auch null Ausschreibngen dazu gesehen.
1. Die "Industrie" hängt nicht selten einige Zeit zurück (Nach meiner eigenen Erfahrung alleine bei Entwicklungsumgebungen um 2-15 Jahre, in den Köpfen teils merklich länger), zumal der Standard ohnehin erst mit der Zeit umgesetzt wird.
2. C++ bleibt C++ ob nun C++98, C++11... Im Gegensatz zu anderen Sprachen wird die Version der Bibliothek/Framework nicht in Stellenausschreibungen benutzt.
Mir reicht es schon wenn Firmen in Stellenannoncen und Bewerbungsgesprächen aktuelle Themengebiete abfragen, aber wenn man dann angestellt ist sieht die Realität anders aus. Beispielsweise wurde in einer Firma jeweils aktuelles UML, gutes C++ Wissen etc. gefordert - bis ich 4 Jahre später der Firma gekündigt hatte war weder UML, noch aktuelles C++ ein Thema, sondern Prä-Standard C++/C-Mischmasch auf einer Entwicklungsumgebung die seit 10 Jahren nicht mehr supportet wurden war.
In anderen Firmen wiederum habe ich anfangs zwar Ähnliches erlebt (wenn auch etwas aktuellere Entwicklungsumgebungen), nur da war die Bereitschaft "Neues" zu verwenden auch gegeben (Sei es nun das ich die C++ Standardbibliothek, Boost und neuere Programmiertechniken etc. in das Projekt eingebracht habe...). Und gegen C++11 spricht auch nichts, sofern die Features von der Entwicklungsumgebung unterstützt, und für uns sinnvoll sind.
-
Abgesehen von paar netten Sachen wie nullptr oder auto Variablen bietet C++11 ja auch wirklich nix weltbewegendes.
-
C++ hätte man der Welt ersparen sollen.
Gibt es eigentlich endlich mittlerweile einen Compiler, der es kann?
-
this->that schrieb:
Abgesehen von paar netten Sachen wie nullptr oder auto Variablen bietet C++11 ja auch wirklich nix weltbewegendes.
Das sieht hier aber wesentlich anders aus.
-
earli schrieb:
C++ hätte man der Welt ersparen sollen.
Du musst dich nicht zu C++ äußern wenn es dir nicht passt.
earli schrieb:
Gibt es eigentlich endlich mittlerweile einen Compiler, der es kann?
Weitgehend wird es von allen aktuellen Compilern unterstützt, C++11 natürlich noch nicht, da gerade erst verabschiedet (Für dein geliebtes C sieht es aber auch nicht unbedingt besser aus, z.B. unterstützt MS bis heute nicht den neusten C-Standard).
-
asc schrieb:
this->that schrieb:
Abgesehen von paar netten Sachen wie nullptr oder auto Variablen bietet C++11 ja auch wirklich nix weltbewegendes.
Das sieht hier aber wesentlich anders aus.
Und was sagt eine Auflistung der neuen Features ueber ihren Nutzen aus?
-
asc schrieb:
earli schrieb:
C++ hätte man der Welt ersparen sollen.
Du musst dich nicht zu C++ äußern wenn es dir nicht passt.
earli schrieb:
Gibt es eigentlich endlich mittlerweile einen Compiler, der es kann?
Weitgehend wird es von allen aktuellen Compilern unterstützt, C++11 natürlich noch nicht, da gerade erst verabschiedet (Für dein geliebtes C sieht es aber auch nicht unbedingt besser aus, z.B. unterstützt MS bis heute nicht den neusten C-Standard).
C++ wird noch von keinem Compiler unterstützt.
C89 wird vom GCC vollständig unterstützt, C99 mindestens von Sun und IBM. MS hat doch gar keinen C-Compiler, sondern nur einen C++-Compiler, der deshalb ein bisschen C automatisch kann.
-
this->that schrieb:
asc schrieb:
Das sieht hier aber wesentlich anders aus.
Und was sagt eine Auflistung der neuen Features ueber ihren Nutzen aus?
Nicht jeder sieht in den gleichen Features den gleichen Nutzen. Ich sehe z.B. auf Anhieb weit mehr Features die uns in der Firma nutzen würden als die zwei von dir erwähnten, und das obwohl wir hier beileibe nur einen eher kleinen Teil der Fähigkeiten von C++ bislang wirklich ausnutzen.
-
C++ wird noch von keinem Compiler unterstützt.
Nenne Beispiele, welche Sachen von C++ nicht unterstuetzt werden.
-
earli schrieb:
C++ wird noch von keinem Compiler unterstützt.
Merkwürdig das ich bislang bei aktuellen Compilern nur sehr selten oder nie über Probleme gestolpert bin.
Bedenke bitte auch, das nicht jeder alle C++ Features benötigt; das dürfte bei C auch nicht anders sein. So sind bestimmte Features fast ausschließlich für Bibliothekenbauer wirklich interessant, und spielen z.B. in der Anwendungsentwicklung keine wirkliche Rolle.
Und es gibt ein paar Features die sich zwar anfangs gut angehört haben, aber kaum umsetzbar waren und daher wieder gestrichen wurden sind (z.B. das export Schlüsselwort im Zusammenhang mit Templates [C++98], was wohl nur vom Comeau komplett unterstützt wird).
Der Standard ist ja nicht auf Basis des bestehenden, sondern als Zielsetzung für die Weiterentwicklung geschaffen wurden.
earli schrieb:
C89 wird vom GCC vollständig unterstützt, C99 mindestens von Sun und IBM.
Merkwürdig, der GCC kann kein C99? Und dabei ist der C99 Standard doch schon mehr als 10 Jahre alt...
-
knivil schrieb:
C++ wird noch von keinem Compiler unterstützt.
Nenne Beispiele, welche Sachen von C++ nicht unterstuetzt werden.
Mit Ausnahme vom Comeau z.B. das im C++11 gestrichene Feature des C++98 bezüglich des export-Schlüsselwortes in Zusammenhang mit Templates.
Wobei es tatsächlich einige C++ Compiler gibt die den Standard nur unzureichend erfüllen, so z.B. der C++ Builder in Hinblick auf Templates (auch wenn dies sich wohl so langsam bessert, wobei ich noch keinen Blick auf XE/XE2 werfen konnte).
-
Also Features, die mich sofort betreffen (weil ich mich regelmäßig drüber ärgere, dass sie noch nicht da sind) sind für mich:
- auto (klar, endlich muß ich die iterator-namen nicht mehr schreiben
- thread support
- initialisierung von z.B. vector aus einem Array (das ist wirklich nervig)
- template typedefs
- eingebautes for each
- nullptr
- >> bei templates erlaubtda da keine besonderen schwierigkeiten dabei sind, nehme ich an, dass die Compilerunterstützung davon recht bald vorhanden sein wird.
für leute die viel template-code schreiben sind mit decltype und der neuen funktionsdeklarations-syntax zwei sehr nützliche features hinzugekommen, mit denen man vermutlich einiges an irgendwelchen trait-klassen wegsparen kann.
ob ich lambda-ausdrücke und r-value references brauchen werde, wird sich noch herausstellen. bis jetzt hab ich sowas in der art nicht gebraucht, aber wer wollte bei dem vorherigen syntax-krampf schon mit lambda-ausdrücken arbeiten... vielleicht macht das ja jetzt spaß.
Insgesamt finde ich die Neuerungen schon ganz nett. Insbesondere finde ich gut, dass viele Dinge angegangen wurden, die >90% der Programmierer die tägliche Arbeit wirklich erleichtern und es kein reines template-hacker-update geworden ist.
-
Lambdas verwende ich gerne als Ersatz für std::bind, ich finde sie besser lesbar und man kann die Reihenfolge der Parameter nicht vertauschen, was oft zu kryptischen Fehlermeldungen führen würde.
-
asc schrieb:
Merkwürdig, der GCC kann kein C99? Und dabei ist der C99 Standard doch schon mehr als 10 Jahre alt...
Wenn man die Fehler in diesem Standard betrachtet, dürfte es schwierig sein, überhaupt eine konformen Compiler dafür zu schreiben. Schließlich muss auch für
42 = 42;
noch ein Programm erzeugt werden.
-
Jester schrieb:
- auto (klar, endlich muß ich die iterator-namen nicht mehr schreiben
- thread support
- initialisierung von z.B. vector aus einem Array (das ist wirklich nervig)
- template typedefs
- eingebautes for each
- nullptr
- >> bei templates erlaubt
Ich freue mich auch sehr über strongly-types enums, variadic templates und die Library-Erweiterungen (wenn zum Teil auch aus TR1/Boost bekannt). Ganze besonders über Hash Tables, Tuples, und die neuen Smartpointer (unique_ptr, shared_ptr)Jester schrieb:
da da keine besonderen schwierigkeiten dabei sind, nehme ich an, dass die Compilerunterstützung davon recht bald vorhanden sein wird.
Der Support ist schon erstaunlich weit. Sicher werden die "letzten 20%" noch ein bisschen brauchen. Aber die (imho) wichtigsten features sind schon implementiert:
http://wiki.apache.org/stdcxx/C++0xCompilerSupport
http://gcc.gnu.org/projects/cxx0x.htmlIch benutze bereits zahlreiche Features aus C++11.
Jester schrieb:
Insgesamt finde ich die Neuerungen schon ganz nett. Insbesondere finde ich gut, dass viele Dinge angegangen wurden, die >90% der Programmierer die tägliche Arbeit wirklich erleichtern und es kein reines template-hacker-update geworden ist.
-
asc schrieb:
earli schrieb:
C89 wird vom GCC vollständig unterstützt, C99 mindestens von Sun und IBM.
Merkwürdig, der GCC kann kein C99? Und dabei ist der C99 Standard doch schon mehr als 10 Jahre alt...
"nicht vollständig unterstützt" impliziert nicht "kann nicht".