← Back to context

Comment by gambiting

3 months ago

Sadly, as a developer there is no beating Visual Studio. Microsoft still makes the best developer IDE that unfortunately only runs on their worst OS. But as a C++ developer there is just no substitute(imho). Not to mention some development toolchains only work on windows(for playstation/xbox/switch) so if you work in games there is very little choice.

I left Visual Studio for Rider long before I gave up Windows, IMO it's far superior to VS for everything other than GUI Apps or Blazor hot reloading (which is basically broken in both).

JetBrains seem to have the best IDE for every language I've tried: Rider / IntelliJ / Android Studio / PyCharm / PhpStorm / RubyMine. Never tried CLion though, but given they all share the same base I'd thought it would be of a equally high standard?

  • >but given they all share the same base I'd thought it would be of a equally high standard?

    Such a naive assumption

    Parsing cpp fast and reliably may be significant differentiator between languages

    • > Such a naive assumption

      My bad. I naively assumed the successful developer-focued tools company with 25 years experience in parsing programming languages and building IDEs with advanced AST/refactoring tooling, that I've been happily using for 8 years had a great C/C++ story based on my experience of having used 7 of their other IDEs (built from the same platform base), were all best-in-class.

      Maybe that's why I ended my thought with a question mark? i.e. So C/C++ developers with experience in both can clarify what makes VS so much better than CLion. Or if they haven't tried CLion that it would be a good alternative on Linux to try given all JetBrains other IDEs are of high quality.

      1 reply →

Visual Studio is nice for C++ if you target Windows and CLR languages but for the rest it’s pretty abysmal. I personally generally prefer IntelliJ and used to find CLion nicer for C++ but that was a long time ago.

Anyway, Windows has become a pain for normal user but remains fine if you are a company user. The management tools will strip away most if not all the annoyance people are complaining about here. I think Microsoft knows where the money comes from.

  • You know, I think that's the key - I'm on Windows Enterprise and it just works. I start my PC, I code for 8 hours a day, I switch it off - it just works.

If your target platform is MS Windows only or only supported by MS Windows like with your examples, by all means, use Visual Studio. If Visual Studio is dictating your choice of platform, I'd consider the tradeoffs.

I use Emacs. It does need some fine tuning, tree-sitter installation, etc. but after that, I cannot understand colleges using VS. I have seen no feature in VS not available in Emacs.

Some colleges have switched from years VS to Emacs and after a week won’t look back.

  • > I have seen no feature in VS not available in Emacs.

    Guys, please. I am all for FOSS, but such delusions can only be harmful, for they prevent from actually improving stuff.

    Did you sir ever use debugger in your life?

    • Almost every day. I use gdb both for JTAG targets in embedded systems, as in a programs running in my host.

      Emacs has a front end for gdb. Some colleges use other front ends.

      What I’m preventing to improve, in your opinion?

      5 replies →

    • Most of my colleagues never use a debugger even though they use vscode. I (the weird emacs user) actually had to show them how to use one, but they still don't.

      5 replies →

Just wait for it, from what I know Sony uses clang for it toolchain, don't know about the others so if enough studios start to switch they will start to offer the tools.

Side note: I have been using msvc in wine for almost 5 years now, so if that works I don't know why the Sony/Nintendo/Xbox toolchain wouldn't.

Have you tried the intellij IDEs? I thought that they were pretty similar in terms of experience, although I have used them for java/dotnet primarily.

I've found Visual Studio fairly helpful wirh debugging, but for general code editing it is unusably slow.

I generally use Sublime Text (+ various plugins) for code editing and leave Visual Studio for dwbugging the code or editing GUIs.

I guess downvotes come from people that believe vim + grep + printf debugging is peak development environment. Quite amazing that they even go for something such advanced as vim, instead of sticking with ed, for I believe there exists some Linux user claiming that ed doesn't lack anything that VS has.

  • No you’re just completely ignorant. You can trivially set breakpoints, use conditional breakpoints, watch variables, step over, through, and into in exactly the same way. Hell, even raw-dogging lldb directly on the CLI is incredibly user friendly, fast, and has a ton features you wish were more exposed by common IDEs. Don’t feel like debugging right now? Take a heap snapshot and do it later! Don’t even need to launch the process.

    Visual Studio is ridiculously overrated, and this is coming from someone that works at Microsoft and forced to use it every day. What really kills me are the insanely complicated and unmodifiable shortcut keys for common tasks. Killing the process is like some finger breaking ctrl+alt+function key nonsense? Seriously wtf? Oh to debug multiple binaries simultaneously in the same solution requires launching multiple instances of the entire IDE? Why??

    • Can you share what the experience is like debugging with gdb directly?

      I'm new enough that my first debugger experience was Visual Studio, and I currently use IntelliJ IDEs which provide a similar experience. That experience consisting of: setting breakpoints in the gutter of the text editor, visually stepping through my source files line by line when a breakpoint is hit, with a special-purpose pane in the IDE visible, showing the call stack and the state of all local variables (and able to poke at that state any point higher up in the stack by clicking around the debug pane), able to execute small snippets of code manually to make evaluations/calculations based on the current program state.

      I'm not so naive to believe that effective debugging tools didn't exist before GUIs became commonplace, but I have a hard time seeing how anything TUI-based can be anywhere near as information-dense and let you poke around at the running program like I do with my GUI-based IDEs.

      (Pasting this comment under a few others because I genuinely want to hear how this works in the real world!)

      1 reply →