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



  • 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/



  • Artchi schrieb:

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

    Ich hab IntelliJ und habe deshalb auch den C++ Part getestet (aber letztes Jahr). Ist Ok. Aber ein Visual Studio mit Visual Assist spielt ein paar Ligen darüber.

    Aber prinzipiell ist IntelliJ schon ziemlich nett. Sicher besser als die meisten anderen freien IDEs.

    Nur gibt es eigentlich keinen Grund von Visual Studio mit Visual Assist je wegzuwechseln (sofern man unter Windows entwickelt).

    PS:
    @Gregor:
    Da ich VS immer nur mit Visual Assist verwende weiß ich leider nicht was alles VS vanilla Features sind und welche nicht, aber live hints beim Tippen kann mein Setup natürlich.

    Die High End IDEs nehmen sich denke ich nicht viel. Java und C# IDEs sind halt im Lowend Bereich unendlich viel besser und auch billiger. VS + VA kosten schon ein nettes Stück Geld.



  • VS + Visual Assist + ReSharper for C++



  • VS + Visual Assist + ReSharper for C++

    bei mir geht die Eingabelatenz massiv rauf wenn ich die oben genannten aktiviere - deswegen immer inaktiv - nutze in nur wenn ich wirklich was aufräumen will, sonst kommt es einfach zu häufig zu kleinen, kleinen Wartepausen wo irgendwer seine Browsinginfo updaten will



  • Wenn man mit VisualC++ und Qt arbeitet, kann man dann auch die Projekte einfach unter OSX und Linux kompilieren, z.B. mit qmake?



  • @Schrauber
    Müsste gehen.
    Wobei es auch gehen sollte direkt mit Visual Studio für Linux zu compilieren.
    https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/

    K.a. ob der Qt Precompiler da mitspielt, aber von VS aus müsste es wie gesagt gehen.



  • hustbaer schrieb:

    @Schrauber
    Müsste gehen.
    Wobei es auch gehen sollte direkt mit Visual Studio für Linux zu compilieren.
    https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/

    K.a. ob der Qt Precompiler da mitspielt, aber von VS aus müsste es wie gesagt gehen.

    Oh, das ist genial, wusste ich garnicht, muss mich direkt mal bedanken. 👍



  • Upps. Ich sehe gerade dass VS dabei gar nicht selbst baut, sondern das per Netz auf die Linux Testmaschine rüberschaufelt und dann dort bauen lässt.
    Hmja.
    Aber könnte trotzdem brauchbar sein.



  • hustbaer schrieb:

    Upps. Ich sehe gerade dass VS dabei gar nicht selbst baut, sondern das per Netz auf die Linux Testmaschine rüberschaufelt und dann dort bauen lässt.
    Hmja.
    Aber könnte trotzdem brauchbar sein.

    Das sehe ich gerade als Vorteil. Sonst könnte man es ja nicht vernünftig debuggen und testen.



  • Was das Einbinden von Libs angeht ist es sicher ein Vorteil.
    Weil's halt viel einfacher ist die per Package Manager auf dem Zielsystem zu installieren als alles für nen Cross-Compiler passend einzurichten.


Anmelden zum Antworten