Ist C++ am Aussterben?



  • Artchi schrieb:

    Make. Das ist wirklich überall verfügbar, sogar auf toten Plattformen wie dem Amiga OS.

    Amiga OS ist nicht tot.



  • Naja, ich kenne amiga-news.de und bin da fast täglich drauf. Und ich habe selber einen A1200 mit 030-Turbokarte und 16 MB RAM und HDD.

    Nein, das was da noch passiert kann man nicht leben nennen. Mein Acorn Archimedes und RiscPC sind auch tot, auch wenn ich unter Windows noch VirtualRPC benutze.

    Aber ich will dir nicht die Illusion nehmen... ja, die Amiga-Welt blüht! 😃



  • Ich bin in der Amiga Szene nicht aktiv und beobachte sie auch nicht wirklich. Hab' zwar nen 3000er rumstehen aber den hatte ich seit Jahren nicht an.
    Hab nur kürzlich das gelesen: http://www.osnews.com/comments/29948

    Artchi schrieb:

    Aber ich will dir nicht die Illusion nehmen... ja, die Amiga-Welt blüht! 😃

    Naja blühen kann man nicht sagen, aber nachdem sogar noch neue Hardware entwickelt wird... 😉
    So nen Standalone Vampir werd ich mir dann auch ziemlich sicher gönnen wenn sie fertig sind.



  • Artchi schrieb:

    Nein, das ist nicht gut! Das hat schon das 1-Automobil-System Trabant bewiesen, das ein Modell ohne Konkurrenz keinen Fortschritt bringt.

    das kann man nicht so gut vergleichen.

    Ein Vergleich wäre, wenn es zahlreiche Varianten dieses Auto-Typs gegeben hätte, und wenn ich, um nach Jena zu fahren, den Typ A und das Benzin der Sorte B hätte tanken müssen, wenn ich dagegen nach Rostock hätte fahren wollen, erst ein Auto des Typs B hätte kaufen oder ausleihen müssen, um dann Benzin der Sorte C zu tanken.

    Ein einheitliches Build-System entspräche dann einem Auto, mit dem ich egalwohin fahren kann, und das als Treibstoff Benzin egal welcher Marke verträgt. Meine Entscheidung, was besser ist, wäre dann klar.

    Artchi schrieb:

    Bisher ist es ja so, das man sagen kann, dass das Make eigentlich überall funktioniert.

    ich hätte nichts dagegen, POSIX make als Default zu nehmen (obwohl ich möglicherweise einige GNU-Erweiterungen vermissen würde), vorausgesetzt, es gäbe kompatible Versionen auf gängigen Plattformen. Die Existenz von autoconf und automake läßt mich aber ahnen, daß das nicht so einfach ist.

    Artchi schrieb:

    Übrigens ist Smalltalk unter anderem wegen seiner nicht vorhandenen Wahlfreiheit gestorben (war sicher nicht der einzige Grund, aber dieser gehört dazu). Denn Smalltalk hat ALLES standardisiert und vorgegeben, die VM, das Dateisystem, die IDE, die GUI, der Desktop, der Compiler, der Debugger und natürlich Build-Tool ist in einem definierten System.

    ich wundere mich etwas, daß du in diesem Zusammenhang Smalltalk erwähnst.

    Denn der einzige Smalltalk-Standard, von dem ich weiß, ist ANSI Smalltalk (1998?), und dort ist, soweit ich mich erinnere, weder GUI, noch Desktop, IDE oder VM standardisiert, sondern ein Basis-System mit Syntax und einer Reihe grundlegender Klassen (Container, Datei-E/A). Erinnere ich mich falsch oder gibt es da was Neues in den letzten Jahren?

    Im Vergleich dazu Java: Java hat definierte APIs für GUIs (JFC) und viele weitere Zwecke, und Java hat sich auf breiter Front durchgesetzt.



  • Ich beschäftige viel mit der Spieleentwicklung und den frei verfügaren Engines wie Unity3D, Unreal Engine 4 oder CryEngine.

    Was die Entwicklung solcher Engines angeht wird auf C++ gesetzt. Nur für die Spielelogik gibt es interpretierte Scriptsprachen innerhalb der Engine.

    Und solche Programme sind nicht gerade ein Beispiel für Altenpflege. Es sind hoch moderne Anwendungen mit Überwiegend sehr jungem Code. Die UE4 erschien 2014 und ist quasi eine Neuentwicklung und setzt nicht mehr auf die alte UDK.

    Ehrlich gesagt habe ich noch nie von einer leistungsfähigen Engine gehört die nicht mit C++ entwickelt ist. Ich bin mir sicher auch die nicht frei zugänglichen Engines wie die extrem gute Frostbite Engine von EA oder Anvil von Ubisoft auf C++ basieren.

    Eines muss man bedenken wenn man irgendeine Programmiersprache für Tot erklären möchte. Es gibt heute schlichtweg mehr Programmiersprachen als früher. Und ich glaube früher hat man C und C++ für fast alles benutzt. Heute gibt es mehr oder weniger spezialisierte Sprachen die in einigen Bereichen Vorteile gegenüber C++ haben, sei es auch vielleicht die einfachere Erlernbarkeit. Oder wenn nicht jeder Funken Performance gefragt ist.

    Dann gibt es den Embedded Bereich wird vollständig durch C und C++ dominiert, vielleicht deutlich mehr von C als C++. Es gibt in den letzten Jahren zwar einige Entwicklungsboards für Anfänger wo man mit Python oder JavaScript (Nodejs) programmieren kann, aber so was setzt bisher kein Unternehmen ein.
    Ein embedded Produkt hat nicht so viele Ressourcen wie ein PC und die verwendete Programmiersprache sollte kein unnötiges Overhead erzeugen, da man dann zu teureren Chips greifen muss und das macht das Endprodukt teurer und weniger Konkurenzfähig.
    Deswegen werden C und C++ den Markt wohl weiterhin dominieren.

    Und man sollte bedenken dass es bei der Vielzahl vieler neuer Sprachen auch viele Trends gibt. Trends die manchmal nur ein paar Jahre halten.
    Ganz schlimm ist es in der Webentwicklung, dort gibt es praktisch jährlich ein neuen Trend dem viele Entwickler folgen. Neue Sprachen und vor allem neue Frameworks.

    Vieles von dem was heute zu C++ als Alternative geboten wird wie Rust muss sich noch bewähren und zeigen ob es auch in 10 Jahren noch jemanden interessiert.



  • Ach ja, und dieses Forum zeigt auch den Trend. Vor 10 oder 15 Jahren war hier die Hölle los... heute ist schon verhältnismäßig tote Hose.

    Das Design sieht leider auch ein bisschen wie von 2010 aus :p
    Mir ist es zwar nicht wichtig und es geht hier um Informationen und nicht um Design. Aber ein schönes Forum wirkt einladender, vor allem für jüngere Leute.



  • Achja und nicht vergessen das Foren generell an Popularität eingebüßt haben.
    Vor 10 oder 15 Jahren gab es Seiten wie stackoverflow und reddit nicht oder sie waren nicht so populär wie heute.
    Vor allem stackoverflow ist echt allgegenwärtig, sobald ich irgendeine Fragestellung aus der Programmierung in Google eingebe wird man mit stackoverflow Inhalten sofort bedient und meistens auch geholfen.

    Und Smaltalk findet fast nur noch auf Facebook und Twitter statt.



  • Code1899 schrieb:

    Aber ein schönes Forum wirkt einladender, vor allem für jüngere Leute.

    Nichts gegen junge Leute, waren wir ja alle mal. Aber was heute hüh ist, ist morgen hott. Das einzig Garantierte ist eine kurze Lebensdauer. Langfristig wirken imo eher Zeitlosigkeit und Kontinuität.



  • Wegen der ganzen Aussagen, dass hier im Forum so wenig los wäre... Ich finde, hier ist immer noch etwas mehr los als im Mycsharp Forum, und C# ist ja seit Jahren ziemlich angesagt. Sagt also nicht wirklich was aus.



  • Artchi schrieb:

    Ob aber gerade Rust der C++-Nachfolger wird, bezweifel ich! Ich sehe den Trend eher das C++ nur noch für die Implementierung von Engines und VMs benutzt wird.

    Warum? Das kann man in Rust mit gleicher Performance, höherem Komfort und höherer Sicherheit ebenfalls implementieren.



  • Rust schrieb:

    Artchi schrieb:

    Ob aber gerade Rust der C++-Nachfolger wird, bezweifel ich! Ich sehe den Trend eher das C++ nur noch für die Implementierung von Engines und VMs benutzt wird.

    Warum? Das kann man in Rust mit gleicher Performance, höherem Komfort und höherer Sicherheit ebenfalls implementieren.

    Wie kommt es eigentlich dass ausgerechnet die meist verwendeten Sprachen so viel Kritik ernten?
    C, C++, Java, PHP oder JavaScript. Oft angefeindet aber doch dominierende Sprachen.

    Neben C und C++ ist PHP auch ein gutes Beispiel. Was hat man über PHP nicht alles geschimpft. Und doch findet man kaum eine Webanwendung ohne PHP.

    Lasst mich raten, eigentlich sind diese am meisten verwendeten Sprachen nicht besser als die neuen Alternativen, nur weil es sie länger gibt und viele sie beherrschen und es so viel Code davon gibt dominieren sie zumindest vorerst noch den Markt.
    Aber langfristig werden sich natürlich die besseren Alternativen durchsetzen. Durch eine Art selektive Evolution in der IT.

    Zum Teil dürfte dass sogar stimmen. Aber zweifelhaft ob dass in den Dimensionen eintreten wird wie sich das manche vorstellen. Zum Teil dürfte diese Haltung daher resultieren dass jemand sich bewusst vom Mainstream abgrenzen will.
    Subkulturen in der IT sozusagen, anders sein und cooler sein wollen. Mit neuen Sprachen die zum Teil wirklich Verbesserungen anbieten aber auch welche die keine nennenswerten echten Vorteile bieten und eher subjektive Einbildung ist im Sinne der Subkultur.



  • BlubberC++ schrieb:

    Wie kommt es eigentlich dass ausgerechnet die meist verwendeten Sprachen so viel Kritik ernten?

    je mehr Menschen eine Sprache benutzen, umso mehr Meinungen gibt es und umso mehr sind da, die auch die Nachteile kennen.

    Oder grob vereinfacht gesagt: Eine Sprache, die niemand kennt, wird auch kaum kritisiert.

    Außerdem sind praxisnahe Sprachen oft nicht Paradigmata-rein, sondern im Dienst der Praktikabilität oft Multi-Paradigmata-Sprachen, wobei es bei der Realisierung der Paradigmata Kompromisse gibt; wahrscheinlich geben muss.



  • BlubberC++ schrieb:

    Warum? Das kann man in Rust mit gleicher Performance, höherem Komfort und höherer Sicherheit ebenfalls implementieren.

    angeblich kann man alles mit allen sprachen implementieren.
    aber ich habe mich bisher z.b. immer sehr stark auf c konzentriert, mich an die eigenheiten dieser sprache gewöhnt und werde mit anderen sprachen wahrscheinlich niemals so gut programmieren können wie mit c, bzw. nur mit unnötigem aufwand, weil ich sonst ja erst einmal 10 jahre erfahrung mit anderen sprachen sammeln müsste und da ich hoffentlich bald "der chef" bin und "das sagen" habe, werden sich auch weiterhin leute mit c abärgern müssen. 😃

    Wie kommt es eigentlich dass ausgerechnet die meist verwendeten Sprachen so viel Kritik ernten?
    C, C++, Java, PHP oder JavaScript. Oft angefeindet aber doch dominierende Sprachen.

    Neben C und C++ ist PHP auch ein gutes Beispiel. Was hat man über PHP nicht alles geschimpft. Und doch findet man kaum eine Webanwendung ohne PHP.

    viele leute suchen sich auch einfach den falschen beruf aus. also ich finde es z.b. unglaublich toll mit arrays, offsets und funtionspointern herumzuspielen, andere werden das vielleicht nicht so toll finden und daher entsprechend schimpfen, wenn sie so etwas machen müssen.

    Lasst mich raten, eigentlich sind diese am meisten verwendeten Sprachen nicht besser als die neuen Alternativen, nur weil es sie länger gibt und viele sie beherrschen und es so viel Code davon gibt dominieren sie zumindest vorerst noch den Markt.
    Aber langfristig werden sich natürlich die besseren Alternativen durchsetzen. Durch eine Art selektive Evolution in der IT.

    eigentlich ist es egal, welche sprache du verwendest. wenn du spaß daran hast, kannst du soweit ich weiß auch mit lisp geräte über den parallelport ansteuern.
    aber was heißt bessere alternativen? unter c nimmst du halt funktionszeiger, unter basic goto und unter java oder c++ die lambda-funktionen. das ergebnis ist aber faktisch das gleiche und damit sind diese angeblichen verbesserungen gar nicht wirklich verbesserungen, sondern einfach nur andere vorgehensweisen.

    Subkulturen in der IT sozusagen, anders sein und cooler sein wollen. Mit neuen Sprachen die zum Teil wirklich Verbesserungen anbieten aber auch welche die keine nennenswerten echten Vorteile bieten und eher subjektive Einbildung ist im Sinne der Subkultur.

    ja genau das ist das. guck dir mal die profile der meisten it-spezialisten an: sie können dann angeblich 20 verschiedene programmiersprachen, aber wahrscheinlich nicht eine einzige annähernd vernünftig.



  • zufallswert schrieb:

    Oder grob vereinfacht gesagt: Eine Sprache, die niemand kennt, wird auch kaum kritisiert.

    Sehe ich auch so. Ich kenne und mag C++, aber es ist bei weitem nicht perfekt und ich muss das nicht super finden. Deswegen darf man auch ab und zu mal drüber schimpfen. Aber das heißt jetzt nicht, dass irgendeine Sprache xy so viel toller wäre und ich die unbedingt haben will.



  • Die Videos von der diesjährigen CppCon stimmen mich aber sehr glücklich: Bjarne Stroustrup pusht (neben Concepts) auch etwas die Motivation hinter einem Package-System für C++. Wenn dann auch noch Module und Reflection/Injection/advanced constexpr kommen, verschwindet sogar der Bedarf an hässlichem Metacode und TMP + man könnte das Compilerverhalten steuern (wann z.B. welche Konstruktoren default-erzeugt werden etc), siehe den Talk von Herb Sutter.



  • Jodocus schrieb:

    Reflection

    Doofe Frage aber: Wozu braucht man Reflections? C++ ist die einzige Hochsprache, die ich kenne, und ich bin aus dem Wiki-Artikel nicht schlau geworden. Ferner glaube ich ziemlich genau zu wissen, welche Features ich in C++ vermisse (z.B. Multimethods) und Reflections waren afaict nie dabei.



  • Auch wenn Touristen heir nicht gern gesehen sind wollte ich mal fragen welche Sprachen ihr bzgl zukunftaorientierung exkl java c# für marktdominierend haltet



  • @Fytch

    Wozu braucht man Reflections?

    bei C++ soll Compile-Time Reflection kommen - z.B. für Compile-Time-Codegenerierung damit du keinen Boilerplate Code schreiben musst - der aber im gegensatz zu C# nicht zur Laufzeit und Überfett, oder siehe am besten C++ Metaklasses (https://www.youtube.com/watch?v=4AfRAVcThyA)

    Falls du mit Kompiltime/Templates/Codegenerierung/Boilerplate usw. nichts anfangen kannst warte noch ein paar größere Projekte/Jahre dann wird dir das automatisch klar - wenn du z.B. als Architekt oder Library/Framework-Entwickler arbeitest (nicht so ein 10Zeiler - er 1Mio+) sind das dann relevante Techniken die man gerne verwenden moechte

    @project2501

    welche Sprachen ihr bzgl zukunftaorientierung exkl java c# für marktdominierend haltet

    im Mainstream ganz klar C++ und in 5-8 Jahren Rust - C/C++ macht wohl den größten Codeanteil auf der Welt aus und Rust wird eine Migration auf gleichem Niveau (Resoucenbedarf,Platformen,usw.) erlauben - unter den Scripter werden Python und Javascript dominieren

    ja C++ kann unschön aussehen - aber es kommt kaum etwas in den Bereichen klein/schlank UND ausdrucksstark an die Sprache rann, alle anderen Sprachen sind immer nur in einem der Bereiche sehr gut können aber z.B. Resourcen-Verbrauchs-Defizite mit nichts kompensieren

    .Net/C# ist die Hölle des Unser-Design-Ist-Scheisse-aber-wir-können-ja-alles-nachträglich-mit-Runtime-Codegenerierung-fixen - ich schaue hier nicht auf euch "GERNERICS"... und NEIN ein JIT-Kompiler kann auch nicht aus hunderten von gesammelten ifs und else wieder tollen/schnellen Code zaubern... das wird und kann sich niemals auf niederen Platformen durchsetzen - selbst Microsoft hat das erkannt



  • Was vor allem stark an Aufwind verloren hat ist das Paradigma der objektorientierten Programmierung. Die neuen Programmiersprachen setzen verstärkt auf ein funktionales Paradigma oder übernehmen nur Teile der Objektorientierung.



  • Gast01 schrieb:

    Was vor allem stark an Aufwind verloren hat ist das Paradigma der objektorientierten Programmierung. Die neuen Programmiersprachen setzen verstärkt auf ein funktionales Paradigma oder übernehmen nur Teile der Objektorientierung.

    Welche neuen Sprachen unterstützen denn bitte kein OO?
    Und "OO verpflichtend für alles" ist denke ich schon seit einigen Jahrzehnten vorbei.

    Dass OO "an Aufwind verloren" hat (was ich nicht bestreite), liegt mMn. eher daran dass bei etwas, was ein nicht wegzudenkender de-Facto Standard ist, halt naturgemäss nicht viel Spielraum nach oben ist.

    ----

    Bzw. was sollen "Teile der Objektorientierung" sein? Also speziell auf neue Sprachen und was diese übernehmen/unterstützen bezogen.


Anmelden zum Antworten