The reasons you should start learning programming with C/C++

Chris Kellum
2 min readJun 10, 2021

There are a lot of resources for those beginning their journey in to the wilderness of software. Most will recommend a language that is really forgiving and easy to read and understand, like python. The issue is that while python is an easy and fun language to learn it also is too easy for those that want to grow past python. While C++ to many is difficult and not very developer friendly, and that is why it is great for beginners to learn in. My argument is basically that if you set the struggle hard in the beginning then the “easy” stuff becomes really easy.

C++ has strict typing, unlike python and JavaScript two common beginner languages. This is really important that beginners must respect types, it forces the thoughts about how their program will behave.

C++ has a limited library and while to developer wanting to great things may find it cumbersome to have to build an entire structure from scratch when something new needs to be done, for a beginner it is an opportunity to learn and get better experience coding. Indeed it is a waste of time to build repetitive code in a professional sense, in the educational space it is necessary.

C++ also only catches compile time and critical failures, which may seem weird that this is in the reason for learning C++, but it means that a program with funky or unexpected behavior needs to be debugged. To a beginner that doesn’t know where to look they are going to be forced to go through each line think about what it is doing and adjust to correct the behavior. Which is tedious and not for the uncommitted, but for the learner it allows a time where they are forced to really understand what is written. Once they find went wrong they can have the great since of not only having a working program, but having gained a deeper understanding of their code.

I think the main reason I feel that C++ is a great place to learn the basics is because it forces us to be verbose and specific rather than allowing vague and concise. This verbosity in action is really the best way I learn and I know that it is easier and prettier to read python but it pays off to learn C++ first.

Below is an example of C++, JavaScript, Java, and Python printing all the elements in a two dimensional collection.

Python

Java

JavaScript

C++

--

--

Chris Kellum

I am a newly released Software Engineer, Experienced in mobile and web development. When not at a computer, I am probably enjoying playing one of my Ukuleles.