Well, it is also not completely true.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
Because it was not meant to be. It was merely a rant, or joke.
Most parts of the modern OSes is made in C and C++
Most part comes from C, that contains Assembly in __asm or similar. C++ is just used to create most APIs, because you can provide a simple abstraction there. You can provide underlying implementation of the system and services, then you leave it in the hands of programmers.
Of course drivers need to be fast, but what a driver is merely a program in the forest of services running. Tree (program) can be a class, a forest is abstraction, and... You cannot do that easily in C — that is why we have demons in Linux and you can write in in any definition, there is nothing to implement, nothing to inherit and nothing to worry about.
Move a bit ahead, enter the realm of C++, Qt for instance, you need to write classes as inherited ones and then you can compile that across. Qt is used for driver development.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
But the interpreter the VB Net code will be running on will be written in C or C++ because to run on actual hardware you have to run the instruction set that hardware exposes. You can only do that in a compiled language.
Because not everyone is programming desktop GUI apps, and not everyone hates OOP.
C++ provides an object-oriented programming model for C environments. C is Assembly language with a better syntax. So, it means you can do more of hardware programming easily, registers are available etc. C++ was created by Bjarne to include "classes", because he had experience in Simula, which was object-oriented.
C was not, so C++ was created to support that, C++ was called, "C with Classes". If you need hardware control and are only an OOP geek, then you use C++, otherwise you use C.
Despite my answer, this question is childish and immature. If you need to know if a language is needed to be learnt of if you should use it, know its history! That will answer all of your questions. Just a friendly reminder, when I started to learn how to program in 2011, I heard C++ was fading away, Java is future, I also heard Windows Forms will die soon, and WPF is future. None of that happens and these news are caused by some idiots in computer science who have no idea what they are saying.
The creator of C++, Bjarne Stroustrup, has acknowledged that Simula 67 was the greatest influence on him to develop C++, to bring the kind of productivity enhancements offered by Simula to the raw computational speed offered by lower level languages like BCPL.
Because C is the corner stone language in computing. It is the language of OSs, space ships, embedded, etc. C++ extends that power scales it, and is a true engineers language.
C# (Java) and other interpreted languages have their uses, principally where you want to limit the power of the language for security reasons, or to work at highly extrapolated levels a long way from the hardware.
As noted by others for drivers and embedded systems. It is a mature language that works well with hardware with less interpretation.
One reason many people left C++ was they hate pointers, but as those other languages mature, they too employ pointers, so in the end we are now seeing a revival of C++.
Some people love pointers.
Last Visit: 31-Dec-99 18:00 Last Update: 21-Sep-23 6:59