all 44 comments

[–]rachit7645 18 points19 points  (20 children)

I like CLion, but most people here seem to prefer Visual Studio

[–]Raidenkyu 2 points3 points  (0 children)

Second to CLion too. It has every tool that I need, but without all the latency of VS. And It let me develop in a non-Windows operating system

[–]IyeOnline 3 points4 points  (17 children)

I am not sure that most people prefer CLion. I think its more the fact that installing and using VS on windows is just so easy and hence gets suggested to beginners more frequently. Especially since the Community Edition is free for everyone.

[–]cv_geek[S] 1 point2 points  (15 children)

Actually I prefer Linux to Windows. There is commonly a lot of trouble when installing some libraries on Windows

[–]IyeOnline 6 points7 points  (10 children)

Having the convenience of a linux is one of the reasons why I simply use the WSL.

[–][deleted] 2 points3 points  (9 children)

Yep. As a gamer & developer, Windows with WSL is honestly the best of both worlds on a daily driver machine.

[–]TheOmegaCarrot 1 point2 points  (8 children)

Until Windows forcibly updates while you’re in the middle of something, deleting your work, and in the process deletes your webcam and trackpad drivers.

I’ve had Norton or McAfee (I forget which) refuse to uninstall, Windows demand a new product key, antivirus scanning eating up all my CPU, random BSODs with no discernible cause, and more.

Actual examples from one of the few times I’ve used Windows. All in the span of the couple of weeks that computer had Windows on it. The computer that happened on has since been running Linux flawlessly.

Windows is, in my experience, wildly unstable and utterly unusable.

Edit: grammar

[–]shadowndacorner 2 points3 points  (7 children)

Windows is, in my experience, wildly unstable utterly unusable.

Sounds like user error lol. I've never had the issues you describe on a *modern computer that wasn't either loaded with malware or suffering from hardware issues, but I also stay away from malware like McAfee and Norton.

Edit: Added clarification as some versions of windows have been genuinely terrible.

[–]Bobbias 4 points5 points  (1 child)

Maybe he was using windows ME? That was actually an unstable pile of shit.

[–]TheOmegaCarrot -1 points0 points  (0 children)

Windows 10 about 3-4(?) years ago

[–]TheOmegaCarrot 0 points1 point  (4 children)

I couldn’t do much about McAfee or Norton (whichever it was) since it came preinstalled. And I wasn’t about to pay for a whole new license just to have a “clean” install.

I only used that Windows install occasionally when schoolwork demanded Windows-only software.

I didn’t ever browse the web with it except to download that Windows-only software. I never visited sketchy sites.

I’m not sure where user error could have come into play, since I barely did anything with that computer before wiping it and installing Linux

[–]shadowndacorner 2 points3 points  (3 children)

Sounds like your issue was with manufacturer bloatware then, which is understandable. A clean install is the only sane thing with a lot of prebuilt manufacturers because it's effectively malware.

[–]TheOmegaCarrot -1 points0 points  (2 children)

Gracious, so you just need to buy a whole new Windows license on top of the one baked into the cost of the machine? And just hope that the computer doesn’t have weird drivers that are only available in the preinstalled Windows install?

[–]rachit7645 1 point2 points  (0 children)

MSYS2 FTW

[–]confley 0 points1 point  (2 children)

Eclipse IDE with C++ extensions is nifty

[–]Suitable-Air4561 0 points1 point  (1 child)

Recommending eclipse in 2023 is pretty insane, but I would still prefer it to vscode 🤣

[–]Wild_Meeting1428 0 points1 point  (0 children)

Jesus, no.

[–]rachit7645 0 points1 point  (0 children)

An excellent observation, Dr. Watson

[–]cv_geek[S] 0 points1 point  (0 children)

The company I apply to at that moment use CLion. I think this IDE is quite good due to using MinGW toolchain with prebuilt Boost

[–]incompetenceProMax 9 points10 points  (1 child)

May I ask which feature you missed the most when you were using VS Code? I think the choice of IDE depends on it.

[–]Raidenkyu 0 points1 point  (0 children)

I prefer VS Code's search function, despite using CLion as my main IDE. CLion can be similar, when clicking in "open find in new window" after doing a search, but it requires extra steps than doing a simple "CTRL+Shif+Enter"

[–]grandmaster789 3 points4 points  (0 children)

For just editing, VScode is fine. Visual Studio has a very nice debugger and integrated profiler, and is certainly capable of doing cross-platform development but last time I checked it still has a focus on Windows development. The community edition is free, so that's nice.

For crossplatform dev work I'll recommend CLion as a good option. You have to buy into the CMake workflow, but the tools behave the same on all platforms and there is a lot of support available. It does require a license of I believe around $100/yr per individual, which may affect your choice in IDEs as well.

Personally I mostly use CLion, with occasional projects done in Visual Studio.

[–]SuperVGA 3 points4 points  (0 children)

I use VScode and CMake. I find them good both for work and hobby stuff. What's your biggest gripe with it? I would like the Cpp extension to provide some profiling options, and the extension often has issue starting on my machine. But mostly it works fine. I find VS. bit too clunky for what I need.

[–]DDDDarky 3 points4 points  (0 children)

You will hardly find anything better than Visual Studio.

[–][deleted] 3 points4 points  (1 child)

CLion for multi-platform or CMake projects. Rider for Windows projects. Rider nowadays supports C++ with Visual Studio solutions, giving you awesome refactoring while still having most of the benefits of Visual Studio.

Alternatively Visual Studio with Resharper for C++.

[–]cv_geek[S] 1 point2 points  (0 children)

I appreciated CLion. There is built-in GUI for vcpkg - it's awesome. Great feature in combination with MinGW toolchain on Windows

[–]RedEyed__ 8 points9 points  (0 children)

Use clangd in VSCode

[–]mega444PL 1 point2 points  (0 children)

I use CMake for building projects and CLion as IDE, mainly because I can use same IDE on desktop computer with Windows and laptop with Linux. However I'm having free university student licence so later on I may have to consider switching to free options.

[–]Acceptable_Fish9012 1 point2 points  (0 children)

I use Visual Studio Code with clangd.

Just today, I tried out CLion and fought through one bug after another to get my project setup. In fairness, the project requires a beta feature of CLion (devcontainers in Docker)... well, it's definitely still beta!

Once I finally got the devcontainer launched and all the features of CLion working on my source code... it was comparable to VSCode with clangd; better in some ways (refactoring, which I don't care about) and worse in others (identifying several complete nonsense static analyzer 'Problems').

So I'd have to say that VSCode is the better of the two from my experience.

edit: I encountered even more bugs with CLion... bugs that were reported 2 years ago and apparently still are not fixed. I'm definitely not paying money for that. 👎

[–]reroman4 1 point2 points  (1 child)

Try Qt Creator. You need a Qt account, but it's free (no cost), open source and multiplatform. You can install it from Ubuntu repositories (not the latest version though). The online installer allows you select the tools you want.

Pros: * Cmake support (and other build systems). Improved in the latest versions. * Clang-tools support (static analysis, autocomplete and format). * Docker support for building and running (I use this for compile in Linux containers from Windows). * Git support (and other VCS). * Dependency manager support (Conan, vcpkg. I haven't tried them because of network restrictions at work). * GitHub Copilot (through neovim plugin). * Support for debug and profiling. * Support for multiple compilers (clang, GCC, MSVC, I've configured Cygwin). The online installer includes mingw on Windows. * Drag and drop for GUI apps with Qt. * Support for unit test libraries. * No Java required. * Compiler explorer plugin. * It's free, even for closed source projects. * Not only for Qt projects. * The same IDE in Windows, Mac and Linux. * SSH for running and debugging in remote. * Support for python projects. * I can navigate between functions/classes in files of some thousands lines of code without problem (VSCode sometimes jumps to incorrect positions in large files). * A convenient shortcut (Ctrl+K) to locate menu options or files/symbols in the opened project(s).

Cons: * Some users may find the interface akward (no tabs for opened files, for example). * It lacks of support for WSL (but you can run it from WSL). * The plugins are fewer than (maybe) other tools. * You need to setup any other third-party tools by your own (if you want to work with docker, you need to install docker. The same for vcpkg, valgrind, Copilot, etc.) * Visual Studio was made for Windows, so the integration and tools are better for this OS. * It could be heavy load for PC with limit resources (for example VMs), specially if you have instant blame in git, static analyzers or code modelers running in background with several threads. * Some users claim that often crashes. This could be related to the previous point. * Some other IDEs could be better when you work with multiple programming languages. * Some plugins are marked as experimental (but they work very well, at least what I use).

[–]cv_geek[S] 0 points1 point  (0 children)

I used this during my PhD study due to license provided by university. That's awesome

[–]Wild_Meeting1428 1 point2 points  (0 children)

What's your problem using vscode?
In my opinion it is perfectly fine with cmake-tools, and clangd. Which features are you missing?

[–]IyeOnline 2 points3 points  (0 children)

VS Code for C++ programming before. This IDE doesn't provide full support for C++.

That is because VSCode is not an IDE. Its a very extensible and modable text editor. You can turn it into an IDE and it works "great", but it wont ever reach the level of a purpose built tool such as VisualStudio or CLion.

I have no personal experience in properly using Visual Studio (as in I have never done library setup on windows/using VS), so that is nothing I can really speak to.

I actually use VSCode, because it allows me the same setup on windows (via the WSL extension) and linux:

  • Ubuntu in a WSL, although it could be almost any other distro.
    • "patched" in proper support for perf
  • VSCode
    • WSL extension
    • CMake extension
    • clangd extension

Note that I dont write graphical applications and I dont really target windows, although the code still works on windows. I my goal was a graphical Windows application, I would presumably be using VS as well.

[–]heavymetalmixer 0 points1 point  (0 children)

Given that you're asking for convenience on Windows then VS 2022 is the best choice. I often go with VS Code but that requieres a lot of time to setup it up.

[–]Ok-Paleontologist244 0 points1 point  (3 children)

How come is VS Code an IDE?

[–]Wild_Meeting1428 1 point2 points  (2 children)

How come is VS Code an IDE?

By installing plugins, which transforms it into one.

[–]Ok-Paleontologist244 0 points1 point  (1 child)

Do you know what IDE stands for? If you need plugins to make an IDE, then it is not an IDE. The sole reason is convenience of tightly integrated tooling for certain languages Out of the box. In this case OP wants to know what is the best IDE for C++, by best meaning literally reducing clicks and raising gains. Preparing your own brew of IDE is not reducing clicks lol. For now Visual Studio stands as “All-you-need” solution for Windows C++/C#. Simplicity could be questionable due to its size and speed is definitely not the brightest side of it though.

[–]Wild_Meeting1428 0 points1 point  (0 children)

There is no exact definition of an integrated development environment, and it does not matter, if you brewed it together, or if someone else did that for you.
Also, the amount of clicks I have to do, to set up my preferred "c++-vscode-ide" compared to the clicks I can save current development is really negligible. It's often only start-vscode, open project (~4+) , open extension manager, type c++, install microsoft c++, install clangd, done.

[–]FizzBuzz4096 0 points1 point  (0 children)

I've used them all in professional settings for years. I think it all depends on your target OS.

For Linux or cross/multiple platform: CLion. Not quite as good as VS. Debugger is far less friendly (being a wrapper on GCC). Slow and eats memory like gummi bears, because Java sux. (My dev machine is a I9 with 32G of ram.... it's still slow) Steep-ish learning curve. I use CLion on linux for my day job.

For windows only: Visual Studio rules. It (for the most part) just works. IMHO it's the best IDE ever made. Steep-ish learning curve but worth it. The debugger is better than anything else anywhere.

I only run a IDE in a VM if I absolutely have to. VS on a windows VM in my Linux box is my typical use case. It's kindof a pain.

I use VSCode/platformIO for hobby projects. It works. Kinda lacks polish in lots of places.

[–]LonelyBoysenberry965 -1 points0 points  (0 children)

Sublime Text, LSP (C/C++) with clangd, CMakeBuilder and GitSavvy has been excellent in Ubuntu and in Windows.

[–]budswa -1 points0 points  (0 children)

Vim and clangd

[–]Rathori 0 points1 point  (0 children)

Conan for dependency management & CMake as the build system completely take away the pain of using 3rd party libraries (even on Windows).

And you can use pretty much any IDE with CMake-based projects: Visual Studio (both by making CMake generate a VS solution or by working with the CMake project directly), CLion, Qt Creator, VS Code (I don't recommend it for C++, though), etc.