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



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



  • Sehr interessant, Microsoft scheint langsam nun Linux zum Teil ihres Ökosystems zu machen. Wenn nicht mal irgendwann Linux zum neuen Windowskernel wird und Windows dann "nur" eine kostenpflichtige Desktopumgebung wird.



  • Schrauber schrieb:

    Wie steht ihr zum Qt-Creator?

    Interessiert mich nicht. Wir arbeiten zwar auch mit Qt (und privat benutz ich das auch so ein bisschen), aber ich glaub grad beim Debuggen kann keine IDE mit VS mithalten, und das ist für mich sehr wichtig.



  • Genau.
    Wobei ... mir fehlt ehrlich gesagt der Vergleich. Ich weiss nur dass der VS Debugger verflixt gut ist. 🙂



  • Ok, tja zum VS Debugger kann ich nichts sagen und in Qt-Creator setzen ich bis jetzt nur Breakpoints ein und schau mir halt die Inhalte der Objekte an ob die passen. Ich habe mal gelesen, dass gerade der Qt-Creator sehr gut Qt-spezifisches Zeugs debuggen kann. Ob das stimmt weiß ich nicht.



  • hustbaer schrieb:

    Genau.
    Wobei ... mir fehlt ehrlich gesagt der Vergleich. Ich weiss nur dass der VS Debugger verflixt gut ist. 🙂

    Was kann der denn so besonders gut?



  • Einfach funktionieren?

    Ne, ehrlich, ist irgendwie ne komische Frage wenn ich schon schreibe dass mir der Vergleich fehlt. (Womit ich sagen wollen: ich kann nicht beurteilen ob er besser ist als andere Debugger, ich kann nur sagen dass er von meinem Standpunkt aus betrachtet einfach sehr gut ist.)

    Woher soll ich dann wissen welche der vielen praktischen Funktionen bei anderen Debuggern nicht vorhanden bzw. schlechter gelöst sind?



  • Was kann der denn so besonders gut?

    er ist sehr schnell - beim gdb habe ich immer Verzögerungen an allen Ecken und Enden (bis ein Breakpoint greift usw.)

    ich hoffe aber trotzdem auf die lldb-Entwicklung und den positiven Einfluss eines weiteren Debuggers auf dem Spielfeld der Größe erlangen kann



  • Ich habe jetzt auch nicht wirklich einen Vergleich. Ich habe früher etwas mit gdb und verschiedenen Frontends gearbeitet und fand die überhaupt nicht gut. Und ich habe sehr oft gelesen, dass VS den besten Debugger hätte. Allerdings kann ic jetzt auch nicht sagen, wie fundiert diese Aussagen sind.
    Der VS Debugger ist an sich tatsächlich einfach "sehr gut". Er ist schnell, komfortabel, mächtig. Ich kann problemlos mehrere Threads und Prozesse gleichzeitig debuggen, auch remote auf anderen Computern (und muss nicht mal die IP eingeben, der Remote Debugger wird über Broadcasts gefunden). Man kann die Darstellung von Objekten konfigurieren (mit natvis sogar viel bequemer als früher), man kann eigene Visualizer programmieren, man kann Werte live ändern, man kann über die COM Schnittstelle in den Debug Prozess eingreifen, man kann Breakpoints auf API Funktonen setzen, Conditions usw... Und das ist alles schnell und funktioniert einfach.
    Dagegen ist der Qt Creator auch nur ein Frontend für den gdb bzw. cdb. Ich kann mir jetzt einfach nicht vorstellen, dass er tatsächlich qualitativ mithalten kann, und ich habe auch nie etwas dergleichen gelesen oder gehört.



  • Nein, solche Funktionen habe ich beim Qt-Creator noch nicht entdeckt. Da scheint VS doch weit die Nase vorn zu haben.

    Ich bezweifle aber stark, dass ich solche Funktionalitäten bei meinen kleinen Einmannprojekten brauchen werde. Viel wichtiger ist mir, dass es egal ist, ob ich nun unter Linux, Windows oder OSX arbeite. Ich habe mir zwei VM mit Linux und OSX angelegt und dort auch Qt installiert und kann sofort dort neu Kompilieren und es läuft. Das hat mich schon beeindruckt.

    Wäre wirklich mal schön wenn jemand sich mit dem Qt-Creator und Visual Studio richtig gut auskennen würde. Der kann dann besser vergleichen.



  • Mechanics schrieb:

    Man kann die Darstellung von Objekten konfigurieren (mit natvis sogar viel bequemer als früher), man kann eigene Visualizer programmieren, man kann Werte live ändern...

    Im Vergleich zu diversen IDE-Frontends für den GDB fällt mir beim VS Debugger
    auch immer wieder auf wie angenehm übersichtlich die Objekte dargestellt werden.
    Bei einer std::map habe ich dort z.b. die Element-Paare direkt als erstes sauber in
    einer Liste und kann mir bei Bedarf im "Raw View" die darunter liegende Datenstruktur
    genauer ansehen. Möglich, dass ich sie falsch benutzt habe, aber bei anderen Debuggern
    muss ich mich da meistens durch die interne Datenstruktur der Implementierung hangeln,
    um an die Werte zu kommen.

    Auch noch positiv: Sind Debug-Informationen und der irgendwoher separat heruntergeladene
    Quellcode vorhanden, ist es sehr unproblematisch sich mal eben schnell mit dem Debugger in
    ein laufendes Programm einzuhängen und dieses direkt im Quellcode zu debuggen, ohne dass
    man dafür ein vollständiges und kompilierbares Projekt benötigt.
    Das hatte ich letztens mal mit einem heruntergelanden Programm, bei dem ich nur mal eben
    wissen wollte, wie ich einen Bug umschiffen kann, ohne diesen beheben zu müssen,
    geschweige denn erstmal das Programm mit all seinen Abhängigkeiten zum kompilieren zu bringen.

    Wahrscheinlich geht das alles auch mit alternativen IDEs und Compilern, aber erfahrungsgemäss ist das
    dort wesentlich pfriemleliger zu konfigurieren, bis es alles mal läuft. Mit VS bin ich meistens deutlich produktiver.

    Finnegan



  • Ich kann den VC++-Debugger nur mit dem der Java-Debugger vergleichen. Und da ist der teilweise sogar fast besser! 👍

    Z.B. das Enum-Werte auch ihre Bezeichner darstellen.

    Oder das ich schon seit VC++6.0 (1998?) Edit & Continue benutzen kann (also im laufenden Programm Code ändern und die Stelle neu ausführen, während das Programm seinen Zustand behält), hatte mich damals umgehauen. Und als die Java-Kollegen (als ich von C++ zu Java gewechselt bin) mit stolz von ihrem Edit & Continue in der Java IDE erzählten, habe ich nur müde gelächelt. 😃

    Und der Debugger hat sich mächtig weiter entwickelt.


Anmelden zum Antworten