Ich habe gehört, C++ stirbt aus, weil die Sprache den Trend hin zu prall gefüllten STDLIBS verpasst hat...
-
Stimmt das?
Zumindest macht das ja Sinn, da man praktisch nichts in C++ machen kann ohne auf externe Bibliotheken zugreifen zu müssen. Nichts von all dem was man so im Alltag in der Anwendungssoftware findet, kann man mit C++ ohne externe libs erledigen.
Keine Grafikausgabe, keine GUI, kein Sound, kein Netzwerkkram und nichts von all den sonstigen nützlichen Sachen, die in den prall gefüllten stdlibs drin sind von anderen Sprachen. Als Beispiel wäre da z.B. Java oder ruby oder python. Die Liste kann man sicherlich verlängern.
Dauernd hört man von C++lern das Argument, dass C++ die am besten aufgeräumte stdlib hat von allen Sprachen. Dauernd hört man von C++lern, dass Sprachen wie Java viel zu viel Müll mit sich bringen. Doch was bringt mir eine (recht überschaubare) aufgeräumte stdlib, wenn man damit nichts anfangen kann. Die STL schön und gut, aber das was sich in C++ als STL schimpft ist in anderen Sprachen ein selbstverständlicher Teil der Sprache. Aus dem Blickwinkel hat C++ ja nicht einmal eine stdlib da unter den Aspekten der modernen Programmierung die Ziele die, die Standard Template Library verfolgt, selbstverständlich als Sprachfeature angeboten sein müssten. Soetwas als "library" zu bezeichnen grenzt fast schon an spartansiche Verhältnisse.
Aber seien wir mal ehrlich: Klar kann man darüber diskutieren, was alles in eine stdlib gehört und was nicht. Jedoch sollte es doch jedem von uns bewusst sein, dass selbst wenn die stdlib überflüssige Sachen enthält, dass diese Sachen absolut keinen Schaden anrichten. Es zwingt euch ja keiner alles zu nutzen, was die stdlib hergibt (obwohl manch ein C++ler meint alles ausreizen zu müssen was die STL hergibt. :p Auch wenn man das Problem einfacher hätte lösen können).
Mir ist bewusst, dass man auf Portabilität achten möchte, aber wäre es nicht einfach sinnvoller Plattformen, die stark begrenzt sind, eben von bestimmten Bereichen der stdlib auszugrenzen? Ich meine: Kein Schwein würde auf die Idee kommen GUI Programmierung auf einem Microcontroller zu betreiben, welcher nicht einmal eine grafische Ausgabe hat.
Sehen wir es doch mal so: Der Minimalismus der stdlib kann nicht darüber hinwegtäuschen, dass die externen libs, die man gerne auf dem PC verwendet nicht zwangsläufig auf der technisch begrenzten Zielplattform laufen werden. Also auf meinem Taschenrechner hab ich noch kein QT Framework entdeckt.
Aus diesem Grunde würde keine Beeinträchtigung der Portabilität von C++ stattfinden. Und hey: Wen allein die Tatsache stört, dass die stdlib HTML parser und sonstigen Kram mitbringt, der hat keine wirklichen Probleme.
Hardcore Dogmatiker sind keine Weltverbesserer. Hardcore Dogmatiker sind instant-Nörgler.
-
Ja, C++ stinkt im Grunde. Für jeden Mist brauchste eine Lib (die meisten mies ist), alle GUI Libs sind hässlich, dann das ganze Header Gedöns usw usw.
Aber die Performance is wirklich gut.
-
Eigentlich ist es in allen anderen Sprachen das selbe.
Nur das der Standard etwas mehr komfort vielleicht bietet.Aber in PHP hast du die Wahl zwischen verschiedenen MVC/ORM Frameworks (phpCake, symphony, propel, ZendFramework, PEAR, etc.) und dann noch irgendwelchen CMS (Typo3, Joomla, Typolight, uvm.)
Musste dich auch erstmal einarbeiten drin.Java ist es ähnlich, alleine GUIs, und dann gibts da noch x Sachen die du auch wissen solltest (Apache, Ant, etc.), zumindest wenn du gut genug sein willst, um z.b. auch als Freelancer was zu finden.
C# ist nicht so extrem, aber auch da gibts 1.0 - 3.5.
C++ ist halt eine freie Sprache, und wie man eine Lib linkt, einbindet und benutzt ist für jeden Entwickler wohl das Basiswissen, was auch in vielen anderen Sprachen gebraucht wird.
phlox
-
Wann hat C++ eigentlich das letzte Lebenszeichen von sich gegeben? Ist C++ immernoch auf dem Stand von vor 10 Jahren?
Wenn es nach mir ginge, dann würde man C++ und die meisten anderen Programmiersprachen verbieten. Kann man keine Programmiersprache erfinden die besser für zukünftige Prozessoren geeignet ist?
-
Grohool schrieb:
Kann man keine Programmiersprache erfinden die besser für zukünftige Prozessoren geeignet ist?
Erzähl mal mehr. Inwiefern sind die Sprachen ungeeignet? Was müßte man ändern, damit eine Sprache toll für moderne Prozessoren geeignet ist?
-
Die Sprachen sind ungeeignet, weil der code, der daraus generiert wird, Prozessoren die am liebsten 100 Dinge gleichzeitig tun nicht auslastet. Das erreicht man dann nur durch explizite benutzung von threads, die allerdings in C++ gar nicht vorhanden sind.
-
Grohool schrieb:
Die Sprachen sind ungeeignet, weil der code, der daraus generiert wird, Prozessoren die am liebsten 100 Dinge gleichzeitig tun nicht auslastet. Das erreicht man dann nur durch explizite benutzung von threads, die allerdings in C++ gar nicht vorhanden sind.
ein #pragma und aus einer for-schleife wird eine Thread kaskade. Reicht dir das? Mehr wirst du in nicht-funktionalen Sprachen niemals kriegen können. In dem Sinne ist C++ schon highend, was threading angeht. Dein Argument, dass das nicht nativ ist, entkräfte ich dadurch, dass solche Architekturen so speziell sind, dass die meisten Programme keinen Nutzen davon haben.
-
Wann wird es eigentlich möglich sein, header (mit Klassen) gegenseitig zu inkludieren, ohne (Linker?)Fehler zu bekommen?
Irgendwas war da ja immer, kann ich mich erinnern. Wenn Klasse A Klasse B braucht, darf es nicht mehr umgekehrt sein.
Außer mit Forward-Deklarationen, welche aber ja nur bei Zeigern(&Referenzen?) was bringen.
Sorry, bin ziemlich eingerostet in C++.
-
Also letztens in der Bild stand, dass trolle noch vor c++ aussterben werden. was haltet ihr davon?
-
C++ ist ein Relikt aus den 80ern, ähnlich wie x86. Aufgrund des relativ hohen Verbreitungsgrades wird es C++ noch eine Weile geben, aber die Sprache spielt ja heute schon eine untergeordnete Rolle, so daß man davon ausgehen kann, daß sie in wenigen Jahren hauptsächlich noch in Legacy Projekten ihr dasein fristen wird, wie heute im Prinzip auch schon.
-
Grohool schrieb:
Die Sprachen sind ungeeignet, weil der code, der daraus generiert wird, Prozessoren die am liebsten 100 Dinge gleichzeitig tun nicht auslastet. Das erreicht man dann nur durch explizite benutzung von threads, die allerdings in C++ gar nicht vorhanden sind.
Sprache und Bibliothek sind zwei verschiedene Dinge. C++ hat Threads ueber Bibliotheken. Auch dein Schrei nach einer neuen Sprache kann beantwortet werden: Probier mal Haskell.
-
C++Historiker schrieb:
C++ ist ein Relikt aus den 80ern, ähnlich wie x86. Aufgrund des relativ hohen Verbreitungsgrades wird es C++ noch eine Weile geben, aber die Sprache spielt ja heute schon eine untergeordnete Rolle,...
Ähnlich wie C (Verbreitung etwa bei 15%). C++ hat noch eine Verbreitung von etwa 10%. Damit liegt C und C++ nur hinter Java (ca. 20%)...
Interessant was heute unbedeutend heißt... Und warum C und C++ die ja beides alte Relikte sind noch zusammen über ein Drittel des Marktes ausmachen.
-
Nein, C ist ein anderes Spiel. Diese Sprache hat ja nach wie vor ihren festen Einsatzbereich im Lowlevelsektor, anders als C++.
-
asc schrieb:
Ähnlich wie C (Verbreitung etwa bei 15%).
wie kommste darauf?
-
asc schrieb:
Ähnlich wie C (Verbreitung etwa bei 15%). C++ hat noch eine Verbreitung von etwa 10%
Hast Du Dir die Zahlen grad ausgedacht oder warum bekommen wir keine Quelle?
asc schrieb:
Interessant was heute unbedeutend heißt... Und warum C und C++ die ja beides alte Relikte sind noch zusammen über ein Drittel des Marktes ausmachen.
Aha, 15+10=25 > 33. Macht Sinn
!
-
-
Java ist die beste Sprache von der Welt!
-
Artchi schrieb:
Java ist die beste Sprache von der Welt!
es heisst 'auf der Welt', auf
-
Walli schrieb:
Aha, 15+10=25 > 33. Macht Sinn
!
Flüchtigkeitsfehler wobei ich ein Viertel auch schon als großen Anteil ansehe (ca. 27,7%).
-
/fricky schrieb:
Artchi schrieb:
Java ist die beste Sprache von der Welt!
es heisst 'auf der Welt', auf
So ähnlich wie:
"Ich mach dich Messer!"