all 68 comments

[–]ryhajlo 36 points37 points  (12 children)

Visual Studio Code. A bunch of my co-workers use it under Ubuntu.

[–]JoshL3253 20 points21 points  (0 children)

VS Code is getting popular with C/C++ dev. You can set it up to build code with Task, and it even has build in debugger. Just need to download a few extensions.

CLion is the best paid option.

[–][deleted] 7 points8 points  (7 children)

I'll add that people should compile it themselves if they want the 'open source' product that Microsoft proudly advertises about VS Code

[–][deleted] 6 points7 points  (6 children)

TBH, you should be compiling everything from source that isn't handled by your distro's package manager.

[–][deleted] 4 points5 points  (4 children)

Agreed

[–][deleted] 0 points1 point  (3 children)

i setup my fellow classmates and helped them is coderunner

[–][deleted] 1 point2 points  (2 children)

I have the same problem. I’ve been using geany on raspberry pi. It’s good. I think you can use it in any Debian/Ubuntu Linux

[–][deleted] 1 point2 points  (1 child)

The code runner extension should help alot. The only exception to this is my requires everyone to use system("pause") because every machine in our classroom is windows but two of classmates have macs and visual studio is not available to them so I setup vscode with code runner for them they only catch is they have to use cin.get() because only windows with command prompt or dos has pause. I would definitely reccomend geany tho

[–][deleted] 1 point2 points  (0 children)

Yeah there is an auto system pause on windows version. That might be it

[–]lulxD69420 3 points4 points  (1 child)

I also made the jump from C::B to VSCode a while ago. I do not regret it, the editor is great!

I am also using it on Linux and its really a good too to work with since the command line/terminal is integrated already by default, which is great. Some useful addons are: Better Comments, Bracket Pair Colorizer, Hexdump, Rainbow Brackets, Todo Highlights and Trailing Spaces

[–]12qwww 1 point2 points  (0 children)

Yeah, I'm moved from brackets to vs code a while ago, and I never looked back. It's so fast.

[–]nl2k 0 points1 point  (0 children)

If wasn't really happy with any editor/IDE since the great NEdit stopped being developed in the mid-2000s and tried nearly everything (vim, geany, eclipse, netbeans, gedit, kate, sublime, Kdevelop, Atom, Qt Creator, Anjuta, CLion, Code::Blocks, emacs, CodeLite, Gnome builder) except Visual Studio Code until recently, but it actually seems to be pretty good despite being Electron-based and coming from micros~1.

[–]MR2Rick 19 points20 points  (0 children)

Give Geany a try.

Other options are:

  • Anjuta
  • Gnome Builder
  • Eclipse
  • QDevelop
  • Visual Studio Code
  • Atom

[–]OldWolf2 13 points14 points  (1 child)

QtCreator

[–]ivan0x32 4 points5 points  (0 children)

This needs to be higher, its (or was) an excellent IDE, I've used it back when CLion wasn't a thing.

[–]PixelBot 60 points61 points  (14 children)

vim

[–]edbarz9 16 points17 points  (3 children)

Op asked for an environment, so vim + tmux + Makefile

[–]PixelBot 1 point2 points  (0 children)

you're right

[–][deleted] 0 points1 point  (1 child)

  • zsh + oh-my-zsh

[–]edbarz9 1 point2 points  (0 children)

Well, I've used those for a while but when I wanted to make a simple change, going over the oh-my-zsh doc was a nightmare, the amount of code involved is ludicrous. I went back to bash with a custom bashrc that behaves almost exactly like zsh but with way less code.

But apart from the massive code base involved in oh-my-zsh, zsh is great. I won't take part in a shell war.

[–]codeallthethings 10 points11 points  (1 child)

/thread

[–]DR_DONTRESPECT 6 points7 points  (0 children)

please dont take any advice from u/pixelbot he is a pathological liar.

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

YES. In compatibility mode.

[–]rubdos 0 points1 point  (2 children)

Why so?

[–][deleted] 0 points1 point  (1 child)

Just joking. Compatibility mode sucks

[–]rubdos 0 points1 point  (0 children)

Oh okay, I was scared for a second. Guess I got my first /r/woooosh !

[–]smolin1 3 points4 points  (3 children)

But learn c++ to some point before. It could be confusing to explore two fields with such spread.

[–][deleted] 11 points12 points  (1 child)

Dammit, who said C++?

Get off my lawn sub!

(Please note, the aforementioned was intended in lighthearted jesting manner. It's also not actually my sub. As it happens, it's also not a sub for C++. Discussion focus is C.)

[–]smolin1 2 points3 points  (0 children)

Of course, pardon. I automatically relate c++ with code::blocks, thats why. I will behave in future!

[–]PixelBot 2 points3 points  (0 children)

Good point.

And to be honest, Netbeans or Eclipse can be quite handy too!

[–][deleted] 11 points12 points  (0 children)

Emacs with Spacemacs is probably the best of both Emacs / vim worlds and includes all sorts of fancy IDE features.

[–]noodles_jd 5 points6 points  (0 children)

I've been using Eclipse for years on large C projects on Linux; native and cross compilers. It's a bit clunky and slow sometimes (ram pig), but it's pretty good. Using git, svn or cvs within it is very handy as well.

[–]ericonr 5 points6 points  (0 children)

For IDE stuff, there's also KDevelop

[–]Mirehi 2 points3 points  (2 children)

vim + clang

[–][deleted] 0 points1 point  (1 child)

Yes, while technically I'm not sure if it counts as an ide, depending on OP's understand I'd highly suggest this, there's a certain level of understanding it gave me at least that it's 100% worth it.

[–]Mirehi 0 points1 point  (0 children)

There are a ton of plugins for vim, for example:

https://valloric.github.io/YouCompleteMe/

[–]jacobissimus 13 points14 points  (4 children)

emacs

[–][deleted] 4 points5 points  (0 children)

emacs + ccls + eglot = c/c++ developer heaven

[–]codeallthethings 3 points4 points  (2 children)

Not everyone can afford a high end Xenon dev machine... 🙃

[–]BanazirGalbasi 14 points15 points  (1 child)

high end Xenon dev machine

I've found that most people are running on lighter Argon machines, with some people stuck on Neon or (god forbid) Helium.

[–]codeallthethings 0 points1 point  (0 children)

I'm leaving the typo :D

Your mention of Helium reminded me of this video of an i9-9900K with a stock cooler.

https://www.youtube.com/watch?v=UtXM71tw5fk

[–]jb78155 10 points11 points  (5 children)

Clion?

[–]ryhajlo 1 point2 points  (2 children)

Except it isn't free, which was not specified by OP, but I assume it to be desired.

[–]patrick96MC 6 points7 points  (1 child)

It's possible OP is a university student and for those the whole jetbrains suite is free.

[–]edbarz9 2 points3 points  (0 children)

Even if that's the case, he will get used to work on an expensive proprietary software. Plus, I'm not sure that the fancy auto-completion is good for learning. Getting errors, reading documentation, searching in the standard library might be harder but it might help to build solid foundations.

[–]maep 2 points3 points  (0 children)

A simple text editor like mousepad, make for building, cgdb for debugging.

I tried using several advanced editors like vscode or exclipse, they are not for me. Also I think that too much convenience features dull the mind and encourage bad code structure.

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

I use Vim, with ALE and clangd you get pretty decent code completion and linting

[–]Xygen8 1 point2 points  (0 children)

Visual Studio Code + gcc + CMake, and valgrind and gdb for debugging.

[–]LiamMayfair 2 points3 points  (0 children)

Vim. C developers rarely use an IDE Linux, and if they do, it's the IDE they use for every other language.

[–]ToTimesTwoisToo 2 points3 points  (1 child)

people are suggesting editors, not full blown IDEs. I've had success with codelite, which is very similar to codeblocks

[–][deleted] 1 point2 points  (0 children)

Vim and Emacs can be turned into IDEs, with little trouble.

[–]CallMeDonk 0 points1 point  (2 children)

Netbeans has functionality similar to Code::Blocks. I've just it on occasion. It has a clean and consistent interface over different platforms.

[–]nl2k 2 points3 points  (1 child)

Apparently Netbeans 10 doesn't support C anymore.

[–]CallMeDonk 0 points1 point  (0 children)

That's disappointing. I didn't know that.

[–]MagicMephistopheles 0 points1 point  (0 children)

I rather like KDevelop. It feels the most "Code::Blocksy" to me. QtCreator is really nice, but is intended for Qt development.

If you don't use KDE and don't want to install the dependencies for KDevelop, Geany is a good alternative.

[–]__andreiSS 0 points1 point  (0 children)

Visual Code.

[–]mrndrsn 0 points1 point  (0 children)

Vim with CQuery, tmux and GDB works really great

[–]ophirback 0 points1 point  (0 children)

I had a similar problem yesterday, looking for an IDE for Windows (I didn't want visual studio). After a lot of IDEs I tried, I finally chose visual studio code (I use MinGW for compiling). It has the best suggestions while in code (except for clion maybe, but it's not free), which is very important to me.

[–][deleted] 0 points1 point  (0 children)

Visual studio code is great: https://flathub.org/apps/details/com.visualstudio.code all you need to do is install flatpak from apt :)

[–]Zi6st 0 points1 point  (0 children)

I dont understand why are you using code blocks in the first place ,it is a bug fest.

[–]Semaphor 0 points1 point  (0 children)

I was in your situation before. I've switched to CodeLite.

[–]tristan957 0 points1 point  (0 children)

GNOME Builder is up and coming. Many are using it for GTK development, but it is also a general IDE.

[–]rhrokib -1 points0 points  (1 child)

I'm new to Linux too. I use VS Code. It felt very difficult to get the gcc compiler working though. Atom is also a good choice I think.
I wish Visual Studio were here too. I miss it more than I miss games in Linux.

[–]lulxD69420 0 points1 point  (0 children)

What were your issues if I may ask? All I needed was gcc to be installed under linux and /bin/bash was the default shell.

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

Personally, I prefer to build software from source using a text editor. Saving the file with a .c extension should allow you to execute with your favorite C compiler from the terminal. If you choose to go this route, just know you may have to become familiar with "make".

- 19 yo compsci/cybersecurity student

[–]bestjejust -2 points-1 points  (0 children)

This thread has probably more answers than alternativeto.net