DEV Community

Cover image for Why I choose C++

Why I choose C++

Stephan B. R. Langenau on September 29, 2020

Search for an objective Language During my studies I got a broad insight into various programming languages. Including Java, Python, R, ...
Collapse
 
selectiveduplicate profile image
Abu Sakib

Good luck in your journey; I normally use C and thought about learning C++ on the side for SFML and some OS stuff, becomes a lot easier when you know C.

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
kaeptnkrunch profile image
Stephan B. R. Langenau • Edited

Thanks. C is also a good way to start. Normally when you understand C you understand also C++.

Note:
I mean when you understand the basic principles of programming it is easier to learn a new programming language.

Thread Thread
 
mc8 profile image
Max

maybe, maybe not. If you get into modern C++ (from C++11 onwards) the two are almost like two different languages :)

Thread Thread
 
selectiveduplicate profile image
Abu Sakib

C++ does have some unique features, that are totally alien to a C programmer. Templates, classes, containers like vector and map to name a few; not to mention how C++ offers new way to assign variables. But still, they don't come as utter shocks if someone knows C and has done OOP before. The point is there are common grounds and smells familiar; and they are two different languages.

Thread Thread
 
kaeptnkrunch profile image
Stephan B. R. Langenau

Of course that's what I said. They are still different languages. But when you are familiar with C I guess with some practice you understand C++

Thread Thread
 
mc8 profile image
Max

Agreed, what I meant is that if your goal is to learn C++, just start directly with C++ and forget about C (for now). This way you can start with the right practices (for C++) from the beginning.
There's a nice talk (with a very misleading title) from Kate Gregory "Stop teaching C" CppCon 2015 which I found very illuminating when approaching C++ professionally for the Nth time

Thread Thread
 
kaeptnkrunch profile image
Stephan B. R. Langenau

Thanks. I will look after the video. 👌

Thread Thread
 
Sloan, the sloth mascot
Comment deleted
 
selectiveduplicate profile image
Abu Sakib

Would look into the video. And I agree if the goal is to learn C++, then dive right into it. But speaking from an academic perspective, I haven't seen C++ taught first-hand anywhere. Usually it's C (or something other) for introduction to the art, then Java or C++ or whatever. I had to learn C in my university's introductory course.

Collapse
 
kaeptnkrunch profile image
Stephan B. R. Langenau

Thanks. We will see how this happens. But I guess this will need a lot of time. Buts that's what I expected.

Collapse
 
mcartoixa profile image
Mac

I used to code in C++and I loved it once I got to understand it. It is incredibly powerful but also very demanding (part of the appeal I guess). As Bjarne wrote (paraphrasing here): it easy to shoot yourself in the foot with C. It is more difficult with C++ but when you do you will likely blow your whole leg off.
In the end I found too difficult to embrace this language in environments where fellow developers where not that into bettering their knowledge and their craft. If you are, my recommendations from a looong time ago are to read Bjarne Stroustrup's The C++ Programming Language (so much more than a book about C++) and Scott Meyer's Effective C++ series.

Side note: .NET now runs everywhere.

Collapse
 
kaeptnkrunch profile image
Stephan B. R. Langenau

Hey thanks,
I work as an car engineer. So a lot of C/C++, VBA and Python. I choose C++ after reading a book about it and like I mentioned because of the system relevance. But your books are on my reading list now. Thanks

Collapse
 
eelstork profile image
Tea

Now, reading the comment "if you understand C you understand C++" ...
Almost like saying that when you understand physics, you understand quantum mechanics.
C is a tiny signboard on the road to learning C++

Collapse
 
kaeptnkrunch profile image
Stephan B. R. Langenau

Yeah, maybe I expressed myself a little vaguely.

Collapse
 
eelstork profile image
Tea

C++ is a language worth knowing and pretty unique in being at once high level and close to the metal. Having said that, you'll also want to know another, less tedious object language. For systems Rust is also worth looking into as it doesn't carry C++'s burdensome legacies.
Note 1: C# is no longer a Windows-only language. I write C# code daily and rarely touch either VS, VS Code or Windows; runs well on nix and macOS.
Note 2: Python is very much object oriented nowadays.
...have fun!

Collapse
 
jwp profile image
John Peters

Yes even MSFT is on to Rust.

Collapse
 
sathishweb profile image
Sathish Ramani

Happy learning! Check out "Thinking in C++" by "Bruce Eckel" also. I found it useful when I learned C++ and OOP for the first time long back. I felt it introduces object-oriented thinking also with C++ in a step-by-step fashion.

Collapse
 
sejutisharmin profile image
Sejuti Sharmin

C was my first ever programming language and C++ was my second. I self taught myself C but C++ I learned at my university. The lecturer taught me so well that I don't think I am ever forgetting my C++ knowledge. I had no idea that a lot can be done with C++. Thank you for writing this article. It's been very insightful.

Collapse
 
kasunkoswattha profile image
Kasun

C# with .Net Core is platform independent.

Collapse
 
kaeptnkrunch profile image
Stephan B. R. Langenau

Ah good to know. Thanks 😉

Collapse
 
andrewbaisden profile image
Andrew Baisden

What type of projects will you use C++ for?

Collapse
 
kaeptnkrunch profile image
Stephan B. R. Langenau

I work at a large German car manufacturer and I will use it at work.

Collapse
 
ashuk profile image
Ash

c++ with bazel = ❤️, I wish more projects had this combo, sadly bazel is cumbersome to newcomers and senior devs with Cmake experience are usually reluctant of making the move over.

Collapse
 
ravi-prakash-singh profile image
Ravi Prakash Singh
Collapse
 
kaeptnkrunch profile image
Stephan B. R. Langenau

I work with cars. I work at ford as an engineer. So a lot of VBA and C/C++.