ELI5: What are the differences between the C programming languages: C, C++, C#, and Objective C?

ELI5:

You want to build a school.

C is the language you choose if you want to go into the wild, chop wood and mine ore to make the building blocks, then you piece them together. It's a long and difficult process that isn't really worth it these days because of the other options, but you can do almost anything.

C++ allows you to import the building blocks. All that time spent making the most basic things are saved and you can focus on actually building the school and its features.

Objective C is similar with different syntax.

These languages become machine code right away, and the computer does things the code tells it.

C# has most things made for you. Now it's up to you to find them and piece them together. Instead of getting bricks to make a wall, you simply import a finished wall based on your specifications.

C# is different. It's more accurate to call it .NET ("dot net"). In a sense the language is a syntactic flavor only. By that I mean you could use Visual Basic .NET to achieve the same task because they both use the .NET framework.

The .NET framework contains all these finished pieces. You specify what you want to use in C# or VB and then those languages are interpreted and become the same result. So two completely different-looking pieces of code become the same intermediate-code, before it becomes machine code.

/r/explainlikeimfive Thread