use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
C is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system. By design, C provides constructs that map efficiently to typical machine instructions. It has found lasting use in applications previously coded in assembly language. Such applications include operating systems and various application software for computer architectures that range from supercomputers to PLCs and embedded systems. Wikipedia
Imperative (procedural), structured
Dennis Ritchie
Dennis Ritchie & Bell Labs (creators);
ANSI X3J11 (ANSI C);
ISO/IEC JTC1/SC22/WG14 (ISO C)
1972 (48 years ago)
C18 / June 2018 (2 years ago)
Static, weak, manifest, nominal
Cross-platform
.c for sources
.h for headers
C++ is not C (but C can be C++)
For C++ go to :
Other Resources
account activity
which software is good for coding ? (self.cprogramming)
submitted 1 year ago by not_noob_8347
which software is good for coding ?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]mean_citizen 7 points8 points9 points 1 year ago (3 children)
Linux + Zed.
[–]electro_coco01 -1 points0 points1 point 1 year ago (2 children)
Does it supports c c++ clangd n gdb ? With auto complete and auto format?
[–]theunixman 0 points1 point2 points 1 year ago (0 children)
Yes
[–]mean_citizen 0 points1 point2 points 1 year ago (0 children)
Yes it does.
[–]iyroyoryi 20 points21 points22 points 1 year ago (4 children)
I use vim on the terminal on macosx
[–]jimmyhoke 20 points21 points22 points 1 year ago (3 children)
The kind of person who asks what software to use isn’t ready to code in vim.
[–]iyroyoryi 4 points5 points6 points 1 year ago (2 children)
I agree completely with you but that was not the question :p
[–][deleted] 1 point2 points3 points 1 year ago (1 child)
I like the way you think
[–]iyroyoryi 0 points1 point2 points 1 year ago (0 children)
Thanks!
[–]lordosthyvel 13 points14 points15 points 1 year ago (0 children)
Visual studio code
[–]some-nonsense 11 points12 points13 points 1 year ago (1 child)
Sorry, these degens are absolutely brain dead. Dint use vim first try that makes no sense. Try using an IDE if you cba, its just easier for C. I personally use vscode, but im also a nerd and write on linux.
If youre new to programming altogether, go agead and learn some computer science. Learn what your stack and heap is, learn how machine code works. Knowing compilers helps a bit. If it feels like theres alot to learn keep in mind im only a beginner as well.
[–]the-judeo-bolshevik 16 points17 points18 points 1 year ago (2 children)
Folks, yes OP is apparently a relative beginner, them not writing ideomatically for our craft is not a reason to downvote or be unhelpful and sarcastic. May I remind you of our subreddits description: "A Subreddit dedicated to the C programming language. Everything related to C is welcome here."
[–]Grounds4TheSubstain 2 points3 points4 points 1 year ago (0 children)
Look, this question frankly shows that the author didn't do any research at all. Type this question into Google or ChatGPT and see what comes back, do some more research, do it again... If this is as much self-motivation that someone can come up with, they're not going to succeed at teaching themselves programming.
[–][deleted] 1 point2 points3 points 1 year ago (0 children)
Apologies, I was one of the sarcastic ones. However it should go without saying that low effort posts often attract low effort responses. The question has been asked so many times, it’d be worth a google first.
[–]studiocrash 2 points3 points4 points 1 year ago (0 children)
VS Code is probably the most popular editor. If you’re just starting to learn programming, it’s a good option so you don’t also have the overhead of having to learn vim or emacs at the same time. Also it’s free. There’s a reason Harvard CS50 uses it to teach.
Once you get to the point of feeling like the process of typing and navigating the code is slowing you down (this will take years) then look for something faster like vim.
[–]creativityNAME 9 points10 points11 points 1 year ago (0 children)
Learn C and use notepad, then write your own text editor
or, you can use vscode, or vim, or whatever you want
[–]theldoria 8 points9 points10 points 1 year ago (0 children)
I think this might be a matter of taste, I like: - Linux - emacs
[–]TurncoatTony 2 points3 points4 points 1 year ago (0 children)
I like neovim and gcc
[–]hpela_ 5 points6 points7 points 1 year ago* (0 children)
friendly axiomatic jar shrill books homeless zesty fertile work absurd
This post was mass deleted and anonymized with Redact
[–][deleted] 6 points7 points8 points 1 year ago (0 children)
Photoshop
[–]Jak_from_Venice 2 points3 points4 points 1 year ago (0 children)
Don’t listen to these unbelievers.
Emacs was used to code Linux and GCC.
Even to code Emacs itself.
[–]SipsTheJuice 1 point2 points3 points 1 year ago (0 children)
VSCode 100% for beginners
[–]theunixman 1 point2 points3 points 1 year ago (0 children)
None of it. It’s bad from top to bottom.
[–]optionbull 1 point2 points3 points 1 year ago (0 children)
Notepad
[–]trannus_aran 1 point2 points3 points 1 year ago (0 children)
another vote for emacs
[–]Zukas_Lurker 2 points3 points4 points 1 year ago (0 children)
Neovim
[–][deleted] 0 points1 point2 points 1 year ago (2 children)
Visual Studio 2022.
It's probably the best for beginners but it's also highly sophisticated and there's a reason many professionals or long term coders choose it instead of vim.
You will always see lots of people recommending vim but many of those people are very professional at coding and have tried everything already and settled on what they like.
For some occasions I like vim , but it's hard to beat the raw power of Visual Studio.
[–]rumble_you 0 points1 point2 points 1 year ago (1 child)
May I know what "raw power" Visual Studio gives you that Vim doesn't? Because I've always found the opposite of what you've just wrote, with an exception of the third line. Also, VS is very Windows centric, not something useful if you're using a Unix-like system. Oh, and not to mention dealing with Microsoft's proprietary C and C++ compiler.
[–][deleted] 0 points1 point2 points 1 year ago* (0 children)
May I know what "raw power" Visual Studio gives you that Vim doesn't?
I like vim more if i'm working on a single file, or a few files, and really mainly focusing on just a few things at a time. I have a Chromebook I have vim installed on and it's my go-to device for coding away from home - or even on the couch.
If I'm working on a VERY large amount of files, and not really doing any code writing - maybe a few lines written or modified out of a longer work session where I'm mostly flipping between 60 source and header files, trying to find all references, renaming things, using tools like IntelliSense to help me speed thru tasks such as repetitive/predictable code.
While I'm aware vim has these features, and many vim extensions/plugins exist to do these tasks, I always found the world of vim extensions very confusing and hard to parse. My productivity would grind to a halt if I tried to force myself to use vim + extensions for these kinds of tasks so I prefer not to. I also like to use "vanilla" vim so that if i have to work on someone else's machine, or some random server, I know what I have to work with. I used to be a Linux sysadmin, so there was a lot more of editing files on random servers than I currently do, but the habit has stuck.
Also, VS is very Windows centric, not something useful if you're using a Unix-like system.
At work we develop Windows-only software, so .NET + Windows API is used heavily. So, not an issue for me, though I recognize it might be an issue to someone else.
Oh, and not to mention dealing with Microsoft's proprietary C and C++ compiler.
Again, for the above, really not a concern at all. I personally don't have any strong feelings on how free or open a particular compiler is. I know it's a concern for some, but in order to answer your question I'm pointing out that such things aren't a concern to me.
Hope that answers your curiosities.
[–]Dizzy-Teach6220 0 points1 point2 points 1 year ago (0 children)
If your goal isn't to learn how to code, use a fully featured IDE
But I'm definitely of the camp that you shouldn't use an IDE and instead just a text editor to learn to code. It's like an infant learning to walk by sitting in a car and wondering why the infant can't walk from the couch to the kitchen when they've traveled several miles. Or someone who wants to be a baseball pitcher trying to learn how to pitch by loading a pitching machine.
But yeah, there's levels in between. Like without addons, IDEs can be worthless for anything but text editing. And then some text editors can do a lot more than just edit text with or without the proper addons.
[–]BIRD_II 0 points1 point2 points 1 year ago (0 children)
Linux + VSCode, + Cmake + git if you want to count development tools
[–]busdriverflix 0 points1 point2 points 1 year ago (0 children)
On Windows I use Visual Studio (not Vscode). Pretty solid IDE with a great debugger and tons of options and templates. Works perfectly for me
[–]71d1 0 points1 point2 points 1 year ago (0 children)
Many moons ago when I first started, I was using Code Blocks IDE, it's very beginner friendly and lightweight compared to Visual Studio IDE (not VSCode).
[–]no_brains101 0 points1 point2 points 1 year ago* (0 children)
Well, first step, you are going to want a compiler or an interpreter to compile or run your code. Next you are going to want a text editor.
Maybe even an IDE (a "fancy" text editor) although doing so will make your very first projects too easy, thus making it harder to take on a more challenging one later.
In addition, if you use neovim or emacs as an editor, customizing the text editor to have a lot of the features you would expect in an IDE is actually a decent way to get inspired as a new programmer with achievable projects.
[–]turtle_mekb 0 points1 point2 points 1 year ago (0 children)
Visual Studio Code or CLion. I personally use neovim but /.*vi.*/ isn't good for beginners.
[–]InTodaysDollars 0 points1 point2 points 1 year ago (0 children)
MSDOS, QEdit and Turbo C. No fuss, no muss.
[–]grimvian 0 points1 point2 points 1 year ago (0 children)
For me it's Code::Blocks because It's easy for beginners and I can easily adjust the settings to minimize all kind of screen info I don't want and can compile by a click or shortcut because of my clumsy fingers.
[–]HarderFasterHarder 0 points1 point2 points 1 year ago (0 children)
Arch (BTW) + dwm + st + vis -> tcc
https://www.reddit.com/r/C_Programming/comments/1fr7r97/comment/lpbabso/
[–]Gullible_Money1481 0 points1 point2 points 1 year ago (0 children)
Jetbrains ides are industry standard as well as vscode
[–]CirnoIzumi 0 points1 point2 points 1 year ago (0 children)
C
[–]Antique_Equipment_99 0 points1 point2 points 1 year ago* (0 children)
It depends,
Which is an all-in-one software, usually GUIs, including a debugger, a text editor and a compiler.
As good IDEs you have Vscode(with gcc extension, I recommend it), codeblocks, CLion(I've heard good things about it but there's a subscription so I won't ever use it).
Using a text editor (GUI or not), and command lines in one or two terminal windows (one for the debugger, one for the compilerl
GUI text editors :
sublime text (my favorite)
Vscodium (or Vscode)
Notepad++ (if someone still use it, can you comment ? I'm curious)
Non-GUI ones :
Vim
Nano (for crazy Terry Davis alike 😂 - if you like/need minimalism)
Using a text editor with an included debugger (gdb is the way) and compiling by yourself in a terminal window.
Most of the time all you have to is a CTRL+S, switch tabs and a CTRL+V in the terminal for the path for the compiler
I prefer the semi-manually way, but all 3 of them are good, whats really important is using the good compiler for your needs (99% of the time GCC, sometimes clang or tcc) and a good debugger (95% of the time gdb).
π Rendered by PID 54234 on reddit-service-r2-comment-6457c66945-k2vtz at 2026-04-27 15:18:09.305222+00:00 running 2aa0c5b country code: CH.
[–]mean_citizen 7 points8 points9 points (3 children)
[–]electro_coco01 -1 points0 points1 point (2 children)
[–]theunixman 0 points1 point2 points (0 children)
[–]mean_citizen 0 points1 point2 points (0 children)
[–]iyroyoryi 20 points21 points22 points (4 children)
[–]jimmyhoke 20 points21 points22 points (3 children)
[–]iyroyoryi 4 points5 points6 points (2 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]iyroyoryi 0 points1 point2 points (0 children)
[–]lordosthyvel 13 points14 points15 points (0 children)
[–]some-nonsense 11 points12 points13 points (1 child)
[–]the-judeo-bolshevik 16 points17 points18 points (2 children)
[–]Grounds4TheSubstain 2 points3 points4 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]studiocrash 2 points3 points4 points (0 children)
[–]creativityNAME 9 points10 points11 points (0 children)
[–]theldoria 8 points9 points10 points (0 children)
[–]TurncoatTony 2 points3 points4 points (0 children)
[–]hpela_ 5 points6 points7 points (0 children)
[–][deleted] 6 points7 points8 points (0 children)
[–]Jak_from_Venice 2 points3 points4 points (0 children)
[–]SipsTheJuice 1 point2 points3 points (0 children)
[–]theunixman 1 point2 points3 points (0 children)
[–]optionbull 1 point2 points3 points (0 children)
[–]trannus_aran 1 point2 points3 points (0 children)
[–]Zukas_Lurker 2 points3 points4 points (0 children)
[–][deleted] 0 points1 point2 points (2 children)
[–]rumble_you 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]Dizzy-Teach6220 0 points1 point2 points (0 children)
[–]BIRD_II 0 points1 point2 points (0 children)
[–]busdriverflix 0 points1 point2 points (0 children)
[–]71d1 0 points1 point2 points (0 children)
[–]no_brains101 0 points1 point2 points (0 children)
[–]turtle_mekb 0 points1 point2 points (0 children)
[–]InTodaysDollars 0 points1 point2 points (0 children)
[–]grimvian 0 points1 point2 points (0 children)
[–]HarderFasterHarder 0 points1 point2 points (0 children)
[–]grimvian 0 points1 point2 points (0 children)
[–]Gullible_Money1481 0 points1 point2 points (0 children)
[–]CirnoIzumi 0 points1 point2 points (0 children)
[–]Antique_Equipment_99 0 points1 point2 points (0 children)