C++ help on how to learn and find a job?

Hi everyone , i would like to ask what are the technologies and skills required to become a software engineer with C++ ? What are the jobs that you can do? Like how is the language used companies like Tesla , Google etc

C languages (and Java, not Javascript) are generally faster and have more ability to control lower level processes like memory allocation and deallocation. OSs like Win, Unix (which is what Mac is now based on), and Linux are built on C. C also powers a lot of IOT devices because it can be used for bitwise operators (as does Java).

To understand the differences you need to understand the languages and how computers work. If you want to learn C, K&R is good, but be prepared for a lot of difficulty, especially if it’s your first language. (Note: C is not C++, but they have many similarities.) If you want to learn about how computers work, Nand2Tetris and GIT’s MS Operating System Course are both good.


https://www.nand2tetris.org/ (also free on Udacity I believe, maybe Udemy)
https://www.udacity.com/course/introduction-to-operating-systems--ud923

I’m going to disagree that K&R is good nowadays. K&R is ANSI C, which is antiquated. You really want source material that describes C99 or later. K&R was the correct book to buy in the 80s and 90s.

I also don’t know that bitwise operators is a unique feature of the C family. Lots of languages have bitwise operators. C is a relatively lightweight language (C++ much less so) with a high degree of direct control over the hardware (C++ has this too). The small footprint and high control is why C (and also C++) is used for embedded systems or IOT devices.

1 Like

Thank you I wasn’t aware that K&R was outdated. Do you have recommendations for learning modern C? Is it worth it to learn plain C or better to focus on C++?

If you are doing object oriented programming, C++ is probably what you want. If you are doing embedded systems, C is probably what you want.

For books, I like these lists