Ist C++ durch C11 und C14 wieder populärer geworden?



  • Ist C++ durch C11 und C14 wieder populärer geworden? Ich meine die Indexe über die beliebteste Programmiersprache sind doch Rotz oder? Deswegen meine Frage hier an die Experten, die tagtäglich mit der Sprache C++ zu tun haben.



  • Also ich würde mich schon als C++ Experten bezeichnen. Und ich arbeite auf jeden Fall (fast) jeden Tag damit. Ich hab aber keinen Überblick über die gesamte Industrie - keine Ahnung wie sehr oder wenig beliebt C++ gerade so allgemein ist.

    Ich würde vermuten dass es Berg auf geht. Umsonst werden nicht so viele gute Leute so viel Zeit in Projekte wie Clang und GCC investieren. Und selbst MS gibt mächtig Gas bei der Weiterentwicklung von Visual C++.



  • Schrauber schrieb:

    Ist C++ durch C11 und C14 wieder populärer geworden? Ich meine die Indexe über die beliebteste Programmiersprache sind doch Rotz oder? Deswegen meine Frage hier an die Experten, die tagtäglich mit der Sprache C++ zu tun haben.

    Ja, ist total der Hammer, was C++11 bewirkt hat. C++ war seit 98 eine tote Sprache; zwar saugut, aber tot, NULL Marktanpassung, dann lieber warten auf einen würdigen Nachfolger und zwischendurch rumdümpeln. ALLE anderen Sprachen hatten zum Beispiel ein "foreach item in container". Mit C++11 und dann quasi sofort C++14 isses anders, zumal Ausblicke, daß C++ demnächst auch alle paar Jahre Updates macht. Marktanteil wächst oder nicht, Wachstum beschleunigt, sogar die Beschleunigung beschleunigt zusehends. Alle traditionellen C-Ecken wie embedded systems und COBOL-Domänen werden ausgeleuchtet und Projekte in javaesken Sprachen werden reimplemetiert. Einfach nur krass, was zur Zeit abgeht.
    Dabei geht es nicht darum, ob im konkreten Projekt C++11+ eingesetzt wird, sondern um die Glaubwürdigkeit der Sprache und deren weiterer Evolution.



  • Also mein Gefühl ist aus meinem Erwartungshorizont, das viele Applikationen in den anderen Abteilungen größtenteils auf JAVA setzten. Was allerdings etwas verwundert warum diese Technologieentscheidung teilweise so getroffen wurde.

    In der Autoindustrie ist C/C++ vorrangig. Von einem Bekannten weiß ich das sie reines C für die Steuerungssoftware verwenden, da C besser zertifiziert werden kann als C++ und an JAVA möchte ich an dieser Stelle nicht denken ^^.

    Ich denke das es sehr stark Domänenspezifisch ist. Und es muss ja auch erst noch die Generation kommen die den neuen Standard im Studium kennen lernen und sich am Ende sagen "C++ ist ja genauso 'geil' wie JAVA und bringt mir ein paar weitere Vorteile mit". Ich denke der Wissensstand ist einfach von den bisherigen Entwicklern einfach noch nicht so da - auch bei den bisherigen C++ Entwicklern (ausgenommen hustbaer, SeppJ und andere die wohl viel mit dem neuen Standards bereits zu tun hatten).

    Wir zum Beispiel konnten erst vor ein paar Wochen auf C++11 umsteigen, da es kommerzielle Dritt-Bibliotheken diese noch nicht unterstützt haben.



  • Schrauber schrieb:

    Deswegen meine Frage hier an die Experten, die tagtäglich mit der Sprache C++ zu tun haben.

    Das hat nichts damit zu tun, ob man "Experte" ist oder nicht. Wie hustbaer geschrieben hat, hat kaum jemand einen Überblick über den Markt. Ich arbeite in einer C++ Firma und wir machen fast nur C++ (bzw., wir haben auch andere Abteilungen, aber das ist nebensächlich). Das hat jetzt aber nichts mit C++11 zu tun, die Software wird seit über 20 Jahren entwickelt und ist ziemlich riesig und wurde von Anfang an in C++ geschrieben.
    Ich vermute aber schon, dass es mit C++ wieder aufwärts geht. Ein Indikator ist Mocrosoft. Allein wenn man sich Visual Studio anschaut. Das wurde lange Zeit vernachlässigt und die C# IDE war einfach viel komfortabler als die C++ IDE, ohne ersichtlichen Grund. Man hatte eher den Eindruck, als wollte MS C# pushen und C++ mit Absicht etwas runterdrücken. Mit VS 2015 hat sich bei C++ aber sehr viel getan und die IDE hat aufgeholt.



  • Das wird sicher neu aufblühen, die C++ Standardisten sind ja grad ziemlich krass drauf.



  • Mechanics schrieb:

    Allein wenn man sich Visual Studio anschaut. Das wurde lange Zeit vernachlässigt und die C# IDE war einfach viel komfortabler als die C++ IDE, ohne ersichtlichen Grund. Man hatte eher den Eindruck, als wollte MS C# pushen und C++ mit Absicht etwas runterdrücken. Mit VS 2015 hat sich bei C++ aber sehr viel getan und die IDE hat aufgeholt.

    Das beschreibst Du vollkommen richtig.
    Es ging darum, C++ zu drücken, um die doofen Linuxer nicht dabeizuhaben. Es war eine elende Pest, daß sie mit der besten IDE auf dem Markt, nämlich zugegeben dem Microsoft-Development-Studio, verkackte Anwendungen schreiben, die auf beiden Systemen fast gleich laufen. Dabei laufen grafische Sachen unter Win besser. Grafikkartenhersteller bauen bevorzugt Win-Treiber. Server laufen unter Lin besser, freie Wahl zwischen 10+ Dateisystemen und ebbes, ein angenommener kompetenter Admin kann aus dem verbauten Blech unglaublich viel mehr rausholen, weil er sein Blech an sein Unternehmen genau anpassen kann.
    Aber C# wurde von Java viel zu spät abgekupfert.
    Wir werden erleben, daß MS wieder ein paar Jahre lang viele Entwickler einfängt mit ihrer endgeilen IDE. Und dann wieder einen Versuch macht, die Entwickler von Linux abzuschneiden mit irgendwelchen komischen Sachen, mit Inkompatibilitäten, die jahrelang auf dem Win-Compiler gingen und wenn man Lin-Kunden kriegt, gehts da nicht.
    Aber das geht nicht mehr. ätsch. Entwickler proggern inzwischen gegen das Handbuch.
    MS bringt jetzt ein Linux raus. *helau*. Wir werden für Dual-Platform-Entwicklung ganz bestimmt das lokale Win und das virtuelle lokale MS-Lin benutzen. Und wir werden nicht annehmen, daß MS das MS-Lin mit der Zeit umbiegt. Wieviel Vodka hatten die intus, die versucht haben, uns in fünf Jahren zu verarschen?



  • Wie im anderen Thread: Programmiersprachen sind Werkzeuge. In den meisten Bereichen, die aktuell kein C++ verwenden, wird C++ auch einfach nicht passen.
    Nativ gibt es sowieso keine Alternative zu (C) C++ also ist C++ sowieso am Maximum der Popularität.

    jb schrieb:

    Ich denke das es sehr stark Domänenspezifisch ist. Und es muss ja auch erst noch die Generation kommen die den neuen Standard im Studium kennen lernen und sich am Ende sagen "C++ ist ja genauso 'geil' wie JAVA und bringt mir ein paar weitere Vorteile mit". Ich denke der Wissensstand ist einfach von den bisherigen Entwicklern einfach noch nicht so da - auch bei den bisherigen C++ Entwicklern (ausgenommen hustbaer, SeppJ und andere die wohl viel mit dem neuen Standards bereits zu tun hatten).

    Favoritenskala bei Studenten: C# > Java > ... > C++
    Oh, wie im Studium über C++ geflucht und gehasst wurde.
    Man muss schon spezieller sein, um C++ lieben zu können.



  • Mechanics schrieb:

    Allein wenn man sich Visual Studio anschaut. Das wurde lange Zeit vernachlässigt und die C# IDE war einfach viel komfortabler als die C++ IDE, ohne ersichtlichen Grund.

    Ich bin in den letzten Jahren nicht mit den IDEs von MS in Berührung gekommen, deswegen weiß ich nicht, was die Hauptunterschiede zwischen diesen IDEs ist. Allerdings gibt es einen offensichtlichen Grund, warum IDEs für C# oder auch Java wesentlich komfortabler sind als für C++. Diese Sprachen sind weniger komplex als C++ und dadurch ist es leichter, Entwicklungswerkzeuge mit fortgeschrittenen Funktionalitäten für sie zu entwickeln. Zudem enthalten die Standardbibliotheken dieser Sprachen noch jede Menge Werkzeuge, die dies aktiv unterstützen.



  • Gregor! Ich arbeite seit 15 Jahren mit Eclipse (Java) und hin und wieder mache ich zu Hause noch C++ und das mit Visual C++ als IDE.

    Ich kann dir versichern, das Visual C++ IDE zu 99% mit den Java-IDEs mithalten kann, wenn es um Sprachfeatures geht. Ich meine jetzt nicht, ob z.B. Refactoring-Funktion XY drin ist. Sondern prinziell die Unterstützung der Sprache.

    Warum ist VC++ IDE so weit gekommen? Der Grund ist einfach: MS hat den C++-Compiler so ausgebaut, das er die IDE mit Informationen zum C++ System (also alle Headers, Libraries usw.) versorgen kann.
    Das ist doch auch völlig offensichtlich, das man dafür keinen Extra-Parser braucht. Warum sollte man nicht einfach den Compiler benutzen, der eh alles durchkompilieren und analysieren muss?

    Es macht mittlerweile genauso viel Spaß mit der C++ IDE zu arbeiten, als mit z.B. Eclipse oder Netbeans.



  • Naja Artchi, im Grunde hast du recht. - Aber erinnern wir uns mal zurück. Es gab Visual Studio Versionen mit perfekter C++ Unterstützung, die dann plötzlich mit VS2005 verloren ging und erst jetzt wieder so richtig hinzukommt.

    Das war ja das traurige daran, dass eben die Unterstützung schlechter wurde. Nicht das es garnicht oder schlecht damit zu entwickeln ging.



  • Artchi schrieb:

    Warum ist VC++ IDE so weit gekommen? Der Grund ist einfach: MS hat den C++-Compiler so ausgebaut, das er die IDE mit Informationen zum C++ System (also alle Headers, Libraries usw.) versorgen kann.
    Das ist doch auch völlig offensichtlich, das man dafür keinen Extra-Parser braucht. Warum sollte man nicht einfach den Compiler benutzen, der eh alles durchkompilieren und analysieren muss?

    Da irrst du. Das war früher mal so (genauer: bis einschließlich VS 2008). Seit 2010 benutzt VS für Intellisense und sonstige IDE-Features einen Parser, der auf dem EDG-Frontend basiert und nichts mit dem Compiler gemein hat.



  • inflames2k schrieb:

    Aber erinnern wir uns mal zurück. Es gab Visual Studio Versionen mit perfekter C++ Unterstützung, die dann plötzlich mit VS2005 verloren ging und erst jetzt wieder so richtig hinzukommt.

    Das war ja das traurige daran, dass eben die Unterstützung schlechter wurde. Nicht das es garnicht oder schlecht damit zu entwickeln ging.

    DAFUQ?
    Mit VS2005 schlechter wurde?
    Was war bei VS98 bzw. 2003 so toll bezüglich C++ Support?

    VS2005, 2008, 2010 haben kaum was für C++ verbessert, aber Verschlechterung konnte ich da keine feststellen.



  • Hem, dann lag ich die ganze Zeit daneben.

    Aber entscheidend ist, was raus kommt! 😃 Und da liege ich nicht falsch: die letzen VC++-Versionen sind wirklich sehr gut und das beste bisher. Ich kann als täglicher Eclipse-Java-Programmierer jedenfalls nicht klagen, wenn ich an die VC++6-Zeiten zurück denke. 😉



  • Ethon_ schrieb:

    Wie im anderen Thread: Programmiersprachen sind Werkzeuge. In den meisten Bereichen, die aktuell kein C++ verwenden, wird C++ auch einfach nicht passen.

    Kann ich so nicht unbedingt unterschreiben. Bei vielen Serveranwendungen, die in Java geschrieben sind, könnte man mit C++ teilweise wahrscheinlich mindestens den doppelten Durchsatz erreichen pro Server. Es ist einfach diese Einstellung, "Performance ist völlig egal, wir stellen einfach doppelt so viele Server hin". Es ist oft weder wirtschaftlich, noch sinnvoll. Und wir hätten damit schon Probleme. Unsere Application Server sind in C++ geschrieben und laufen immer am Anschlag, und auch die großen Kunden wollen meist nicht mehrere Server hinstellen.

    Gregor schrieb:

    Allerdings gibt es einen offensichtlichen Grund, warum IDEs für C# oder auch Java wesentlich komfortabler sind als für C++. Diese Sprachen sind weniger komplex als C++ und dadurch ist es leichter, Entwicklungswerkzeuge mit fortgeschrittenen Funktionalitäten für sie zu entwickeln.

    Ja, das ist offensichtlich. Aber es gab auch viel einfachere Sachen. VS 2005 konnte bei C# die passende Klammer mitmarkieren, C++ konnte das bis VS 2013 oder 2015 nicht. Ist das jetzt so wahnsinnig kompliziert in C++? Bei sowas bin ich mir fast sicher, dass es Politik war.



  • Mechanics schrieb:

    VS 2005 konnte bei C# die passende Klammer mitmarkieren, C++ konnte das bis VS 2013 oder 2015 nicht. Ist das jetzt so wahnsinnig kompliziert in C++? Bei sowas bin ich mir fast sicher, dass es Politik war.

    Also korrekte und vollständige Klammer-Markiererei die z.B. auch Makros und Includes berücksichtigt wäre schon einiges an Aufwand. Wobei man natürlich berechtigt einwerfen könnte dass es völlig OK wäre den PP beim Klammern-Markieren einfach zu ignorieren.



  • Wow, hier sind ja doch so einige Antworten zusammengekommen.

    Ich bin nicht groß mit VisualC++ vertraut und nutze den Qt-Creator einmal auf meinem Hostsystem mit Win10 und dann zum Testen in zwei VMs mit Ubuntu und OSX El Capitan drauf.

    Ich mag Qt und C++, das ist irgendwie ein schon geschlossenes System, was sehr viel mitbringt und eine gute Hilfe hat. Erinnert mich ein wenig an Java.

    Wie steht ihr zum Qt-Creator?



  • Artchi schrieb:

    Ich kann dir versichern, das Visual C++ IDE zu 99% mit den Java-IDEs mithalten kann, wenn es um Sprachfeatures geht.

    Oh, das hört sich gut an. Impliziert das solche Sachen wie "Live Parsing", also die Markierung von absehbaren Problemen des Kompilierens während des Tippens, inklusive dem Vorschlag möglicher Korrekturen?



  • Das mit den Korrektur-Vorschlägen kann ich dir ehrlich gesagt im Moment nicht sagen.

    Aber das er beim Tippen bereits Compile-Errors feststellt und markiert, ist auf jeden Fall so. Man muss also nicht noch extra die Datei kompilieren um Errors zu sehen. Das geht tatsächlich on-the-fly.

    Was sonst noch drin ist:
    https://msdn.microsoft.com/en-us/library/hh409293.aspx#BK_IDE



  • Kennt jemand CLion?
    https://www.jetbrains.com/clion/


Anmelden zum Antworten