Tired of not knowing why three languages start with the letter C? Why one language has trailing plus signs and the other has a musical pitch? Here is a (not) stupid question, what is the difference between C, C++ and C#?
Let’s do a quick history. The creation of the C programming language is tied to the creation of the Unix operating system kernel. Brian Kernighan and Dennis Ritchie released the first edition of “The C Programming Language” book in 1978. C++ was created as “C with classes” in 1979 by Bjarne Stroustrup. “The C++ Programming Language” book was released by Bjarne in 1985. C# was created by Microsoft for the .NET Framework in 1999-2000. It was originally advertised as a Java derivative.
All three languages are imperative programming languages that support structures, scoping, recursion and static types.
What makes them unique?
C – lowest level, closest to assembly
C++ – almost all the features of C along with an object oriented paradigm
C# – high level language with garbage collection, type checking, bounds checking and compiles into byte code
What are they primarily used for?
C – embedded machines and operating system kernels
C++ – game engines, servers, commercial software and many more
C# – enterprise software, tools and internal software
What are they bad at?
C – software with complex relationships between modules
C++ – portable software
C# – software that requires performance
TL;DR use C++ 😉