There is no need to learn C before learning C++.

They are different languages. It is a common misconception that C++ is in some way dependent on C and not a fully specified language on its own.

Just because C++ shares a lot of the same syntax and a lot of the same semantics, does not mean you need to learn C first.

If you learn C++ you will eventually learn most of C with some differences between the languages that you will learn over time. In fact its a very hard thing to write proper C++ because intermediate C++ programmers tend to write C/C++.That is true whether or not you started with C or started with C++.

If you know C first, then that is good plus to learning C++. You will start with knowing a chunk of the language. If you do not know C first then there is no point focusing on a different language. There are plenty of good books and tutorials available that start you from knowing nothing and will cover anything you would learn from C which applies to C++ as well.

Please see further reasoning in this answer.

Answer from Brian R. Bondy on Stack Overflow
🌐
Zero to Devops
zero2devops.com › blog › is-it-worth-learning-some-c
Is It Worth Learning C? — Zero to Devops
November 8, 2025 - To get the big reveal out of the ... programming is a great idea! However if someone is looking to take the first step on their path to learn coding I would not recommend they start with C....
Discussions

You (probably) don't need to learn C
The problem with those takes is that it always come from the people that already know it and had a lot of baggage that distorts it’s view that no one else should learn · Due to several reasons I always worked with high level languages and last year I started to learn C and C++ and how beautiful ... More on news.ycombinator.com
🌐 news.ycombinator.com
126
47
January 31, 2024
Do I need to learn C language?
Hey FCC campers, Well the C language is the father of programming, am wondering if i need to learn C even if am not gonna use it ! If yes why ? If not why ? More on forum.freecodecamp.org
🌐 forum.freecodecamp.org
0
0
December 9, 2020
programming languages - I don't know C. And why should I learn it? - Software Engineering Stack Exchange
Shouldn't we learn what interests us? Should we not utilize our finite time moving forward? Why do some programmers disagree with this? I believe that striving for excellence in what you do is the fundamental deterministic trait between good programmers and bad ones. Does anyone have any real world examples of how something written in a high level language—say Java, Pascal, PHP, or JavaScript—truly benefited from a prior knowledge of C... More on softwareengineering.stackexchange.com
🌐 softwareengineering.stackexchange.com
October 26, 2010
Should I learn C before trying to learn C++? (Already have some Python knowledge)

It all boils down to what you are willing to create using them,

at the end of the day, they are all tools, no one better than the other at all times, it depends on you to choose the right tool for the right job.

Python is an outstanding language for a beginner, providing libraries from front end development like Django to back end development.

C is and will always be the best language, since I started out with it but now I have come to realize that it has it's shortcomings too. C is better suited for low level programming and kernel development where speed is the key.

If you are willing to use C++ in the future, then start out with it, and not with C, even though they might sound same, they are completely different in the way they perform things,

C++ is a good overall language but it too has it's caveats.

Lastly, remember to learn to be a better programmer who can think in any situation and get the solution, the syntax is just there to express those solutions.

More on reddit.com
🌐 r/learnprogramming
12
4
February 24, 2018
Top answer
1 of 14
145

There is no need to learn C before learning C++.

They are different languages. It is a common misconception that C++ is in some way dependent on C and not a fully specified language on its own.

Just because C++ shares a lot of the same syntax and a lot of the same semantics, does not mean you need to learn C first.

If you learn C++ you will eventually learn most of C with some differences between the languages that you will learn over time. In fact its a very hard thing to write proper C++ because intermediate C++ programmers tend to write C/C++.That is true whether or not you started with C or started with C++.

If you know C first, then that is good plus to learning C++. You will start with knowing a chunk of the language. If you do not know C first then there is no point focusing on a different language. There are plenty of good books and tutorials available that start you from knowing nothing and will cover anything you would learn from C which applies to C++ as well.

Please see further reasoning in this answer.

2 of 14
90

I love this question - it's like asking "what should I learn first, snowboarding or skiing"? I think it depends if you want to snowboard or to ski. If you want to do both, you have to learn both.

In both sports, you slide down a hill on snow using devices that are sufficiently similar to provoke this question. However, they are also sufficiently different so that learning one does not help you much with the other. Same thing with C and C++. While they appear to be languages sufficiently similar in syntax, the mind set that you need for writing OO code vs procedural code is sufficiently different so that you pretty much have to start from the beginning, whatever language you learn second.

🌐
Udacity
udacity.com › blog › 2021 › 05 › should-i-learn-c-or-cpp.html
Should I Learn C or C++? | Udacity
September 27, 2022 - This makes the coding structure much more organized and easier to follow. Compared to C++, C is the simpler and ultimately faster programming language. C is procedural and does not support classes and objects, meaning it has less functionality ...
🌐
Quora
quora.com › Between-C-and-C-which-one-is-better-to-learn-first-and-why-so
Between C and C++, which one is better to learn first and why so? - Quora
Answer (1 of 2): First off, don’t learn C first if your intention is to learn C++. If you learn C they will teach you about pointers and C style arrays and null terminated char arrays as strings and how an array usually decays to a pointer to it’s first element and how pointers to arrays ...
🌐
Hacker News
news.ycombinator.com › item
You (probably) don't need to learn C | Hacker News
January 31, 2024 - The problem with those takes is that it always come from the people that already know it and had a lot of baggage that distorts it’s view that no one else should learn · Due to several reasons I always worked with high level languages and last year I started to learn C and C++ and how beautiful ...
🌐
Medium
imaaduddinn.medium.com › c-vs-c-which-one-should-you-learn-3a0bbcddbe7b
C vs C++ | Which One Should You Learn? | by Imaad Uddin | Medium
May 1, 2024 - If you want to learn high-level programming, object-oriented programming, and build complex software systems, C++ is the best choice. If you are a beginner, you should start with C and then move on to C++. Learning C first will provide you with ...
Find elsewhere
🌐
Ned Batchelder
nedbatchelder.com › blog › 202401 › you_probably_dont_need_to_learn_c
You (probably) don’t need to learn C | Ned Batchelder
January 24, 2024 - I’m all for learning C if it will be useful for the job at hand, but you can write lots of great software without knowing C. A few people repeated the idea that C teaches you how code “really” executes. But C is an abstract model of a computer, and modern CPUs do all kinds of things that C doesn’t show you or explain.
🌐
freeCodeCamp
forum.freecodecamp.org › career advice
Do I need to learn C language? - Career Advice - The freeCodeCamp Forum
December 9, 2020 - Hey FCC campers, Well the C language is the father of programming, am wondering if i need to learn C even if am not gonna use it ! If yes why ? If not why ?
🌐
Quora
quora.com › Which-one-should-I-learn-first-C-or-C++
Which one should I learn first: C or C++? - Quora
C is very close to the machine, and learning C is the basics of understanding how the machine actually works. If you do not learn C, likely you do not really know how the cpu works and will never be a good programmer.
🌐
Sololearn
sololearn.com › en › Discuss › 2112612 › i-want-to-learn-c-should-i-learn-c-before-for-this
I want to learn C++, should i learn C before, for this? | Sololearn: Learn to code for FREE!
December 26, 2019 - C++ is differs a lot from C but the syntax is very alike so if you can learn at least 50 or 60% of C's syntax you already are good to go also C is mostly used for software that needs to be very close to the hardware and C++ for more general ...
Top answer
1 of 15
110

The advantage to knowing C is that you have a very good idea of how a computer works. Not just how your programming model works, but how memory's laid out, and suchlike.

The only level below C is the assembly spoken by a particular CPU.

(I'd add that knowing C also lets you appreciate how much less work you have to do in a higher level language. And hopefully an appreciation of the cost involved in working in that higher level language.)

2 of 15
70

I don't think any of the answers here are really what the OP was looking for, so I'm going to throw in my own opinion.

Look, I'm an unapologetic C snob. My attitude is that if you don't know C, then to some extent you don't really know what you're doing as a programmer. So, I think I'm the sort of "biased" person you're talking about here.

However, in practice, whether or not you really know what you're doing as a programmer doesn't necessarily prevent you from developing really awesome, useful software using high-level tools. I mean, the creator of Stack Overflow, Jeff Atwood, apparently doesn't even know C, and yet I would say Stack Overflow is a pretty damn good web application.

Whether or not you decide to learn C (or C++, or assembly) depends on what type of programmer you want to be. If you just want to develop cool web apps or business apps, that's fine - no real need to learn C. But if you want to really excel at what you do - if you want to work on really cool projects that push the state of the art, then you really need to take yourself seriously enough as a programmer to really understand how computers work. Since C is essentially the OS lingua franca, as well as the language that powers just about everything else (from the Linux kernel to most Java VMs, to the Python and Ruby interpreters, SQL databases, web servers, and just about every device driver), an intimate understanding of the language goes a long way.

Not to mention that knowing C (or C++) opens up a huge opportunity for contributing to large open-source projects that impact millions (or hundreds of millions) of people. Want to work on improving the Python interpreter, or the Chromium web browser? Well, you need to know C for the first and C++ for the latter.

That's why comparing C to dead natural languages like Latin or outdated technologies like the horse and carriage is completely wrong. A large portion of our 21st century software infrastructure is powered by C code, which is why C remains as relevant today as ever.

So, whether or not you should learn C really depends on what you want out of your career as a programmer.

🌐
Quora
cstdspace.quora.com › Is-it-important-to-master-C-before-learning-C
Is it important to master C before learning C++? - C Programmers - Quora
Answer (1 of 9): No in my opinion it can be also a problem. C is a very powerfull language. You can do a lot of things . But many of them aren’t the “C++ correct way to do the same thing”. Simple example. C11 has generic programming through macro ( _generic) .
🌐
Sololearn
sololearn.com › en › Discuss › 2911151 › which-programming-language-should-i-learn-first-between-c-c-and-c
Which programming language should I learn first between C,C# and C++?? | Sololearn: Learn to code for FREE!
October 25, 2021 - I think you first learn C then you go with either C++ or C# if you want to do cp then go for c++ and c++ is very fast language as compare to c and c# and C++ has huge library so you have not to write lone code if you implement some data structure and algorithm and ds and algorithm is also a plus factor for learn c++ otherwise it's your call.
🌐
LinkedIn
linkedin.com › pulse › why-you-should-learn-c-your-first-language-saroj-kumar-sharma
Why You Should Learn C As Your First Language
March 26, 2023 - C, on the other hand, offers a simpler and more efficient way to interact with hardware. For those interested in building electronic products or using microcontrollers to automate tasks, learning C programming language is a valuable skill to have.
🌐
Reddit
reddit.com › r/learnprogramming › should i learn c before trying to learn c++? (already have some python knowledge)
r/learnprogramming on Reddit: Should I learn C before trying to learn C++? (Already have some Python knowledge)
February 24, 2018 -

The title tells all. I'm comfortable enough in Python to complete working scripts even though I'm still learning something new every day, and I understand, for example, what "hashable" and "subscribable" mean. So would it be a good idea to learn C before tackling learning C++?

🌐
Quora
quora.com › Should-I-learn-C-and-leave-C-or-learn-C-first-before-going-on-to-C
Should I learn C++ and leave C or learn C first before going on to C++? - Quora
Learning these complicated concepts ... the cart before the horse. Hence one should first learn all the language elements very thoroughly using C language before migrating to C++, C# or Java....
🌐
SSi People
ssipeople.com › 7-reasons-you-need-to-learn-c-before-c
7 Reasons You Need to Learn C Before C++
May 14, 2020 - Here are seven reasons why you should learn C before learning C++: C++ is typically regarded as a “superset” of C (in other words, it incorporates and builds on the basic concepts of C). C uses a more foundational and easily-graspable grammar. C contains fewer keywords than C++. C only supports procedural programming, while C++ supports both procedural programming and object-oriented programming.
🌐
Pluralsight
pluralsight.com › tech insights & how-to guides › software development
Why Every Programmer Should Learn C | Pluralsight
When you work in languages like Java, C# and even Python, you immediately start moving away from learning the fundamentals of a programming language and you start learning associated libraries and frameworks. But with C you get a few library calls, you stay focused on the semantics of the language longer, and C often forces you to think harder and deeper about what’s happening under the hood. C is a middle level language. When people talk about it you’ll hear phrases like “coding to the metal,” or “coding close to the wire.” C is the language of compilers, interpreters, editors, operating systems and embedded programming.
🌐
Hacker News
news.ycombinator.com › item
Ask HN: Should I learn C/C++ or Rust as my first systems programming language? | Hacker News
October 30, 2020 - To me, it seems Rust is so much better than C/C++ in many ways: lots of Python-like abstractions, rigid compile time safety checks... A modern language designed from scratch without a hodge podge of welded on features · Rust could also turn into something big, by the looks of it, in the next ...