DEV Community

Aditya Mishra
Aditya Mishra

Posted on

C programming in 2022?

Let's get to the point is C programming language worth learning in 2022?

Simple answer: YES
Reason?

If you are getting into programming it's a good idea to start with c because this language will teach how the bare metal (computer) works.

From memory to cpu instructions, it's pretty simple language compared to c++ and c is worth learning as it would never hurt to keep this old language still alive.

After learning c you should try rust or c++

Top comments (11)

Collapse
 
apoc101 profile image
Gabriel

I think that if you're not planning to do Operating System builds, C can be fun to learn to make some fast programs that aren't too CPU intensive, but otherwise if you're new you should probably start with Python, which I consider to be a simplified version of C, even if it's slower.

People don't really need to know how to interact with memory, since usually newer languages do it automatically.

And C++ is just more supported with .NET, while C doesn't really have that much. And C is just a pain to learn IMO.

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

this language will teach how the bare metal (computer) works.

There is a misconception that C is inherently a bare metal language, but that's not entirely true. Many features of the C language and your OS already provide many abstractions that make it much more pleasant to work with.

Being able to go low-level when needed is definitely one of the advantages of C, but it's not necessary nor something you will likely be doing when you're just learning C.

Collapse
 
pgirikishore profile image
P Giri Kishore

It’s 2022 and I use C at work.

Collapse
 
guillep2k profile image
Guillermo Prandi

I've used it until just recently and I would still do if I need to. I work with small microcontrollers, however, so it's almost a given. I sometimes even need to go even lower (assembler).

Collapse
 
devlopr profile image
Aditya Mishra

Oh Boi, it must be fun directly programming MCs

Collapse
 
devlopr profile image
Aditya Mishra

🔥🔥 Now that's something awesome

Collapse
 
devlopr profile image
Aditya Mishra

Yea but Go and Rust don't directly allow to interact with memory and other stuff which C does, and rust works completely differently in memory management but yea go and rust are definitely awesome languages, i am personally learning Rust

Collapse
 
eljayadobe profile image
Eljay-Adobe

I'm a polyglot when it comes to programming languages.

I think developers are well served to learn lots of languages, because they have different perspectives, strengths, and shortcomings.

Keep in mind that programming languages are tools, and some are more suitable or less suitable for a given problem domain. Having more tools in one's toolbox is not a bad thing.

Robert "Uncle Bob" Martin is also a polygot of programming languages. He's been pretty vocal about Clojure as being the best language to learn. (I don't disagree with him, I just take "best" with a grain of salt.)

One criterion I consider for programming languages is: if I learn this language, can I get a job using it?

That doesn't stop me from learning a "dead-end" language, just tempers how much effort I put into it. I like to learn one new language every year. Sometimes it's an incremental change, like from C++14 to C++17. Othertimes it's a novel (to me) programming language like F# or Elm.

C? Definitely a skill that one can use for gainful employment. Ditto with Rust and C++.

The job-worthy programming languages are pretty well reflected in the monthly TIOBE index. C is #2 right now.

My favorite programming languages: D, Python, F#, and Elm.

The programming languages I use that pays the bills: C++14, Objective-C, Objective-C++, and C.

I don't have Clojure on my list. Yet. I plan for it to be the language I learn next year, in 2023. It's very Lisp-like. I've learned Lisp back in the 1980s. I'm aware of the blub paradox. I did not appreciate Lisp's strengths back in the 1980s, maybe I'm in a better position to appreciate Clojure's strengths today. The SICP book is available as PDF for free by the authors.

Collapse
 
guillep2k profile image
Guillermo Prandi

The more advanced memory handling of Go defeats the purpose of studying it to learn about the bare metal. It's lower level than .NET or JavaScript, but still...

Collapse
 
cess11 profile image
PNS11

Why would C be a better option than Forth? Do you seriously consider C compilers easier to understand than Forth compilers?

Collapse
 
pauljlucas profile image
Paul J. Lucas

While C may seem close to the "bare metal," it hasn't been in a long time.