The Basic C Programming Language

Developed by "Dennis Ritchie at Bell Labs in the early 1970s", the C programming language was the first of its kind; providing developers an easy-to-use programming interface without having to dive into machine code.

Do you want a programming language that you rely on to provide you with easy memory allocation tools, simple syntax, and super fast compilation? Look no further than the C programming language! Which C language? Well, certainly not C# (that's just far too slow). Perhaps not C++ either, even though it does not perform much differently at all as compared to standard C (I'll talk about why later). It's just good old reliable C, nothing less, nothing more.

But why "basic C" I hear you ask? Well, it's got practically no features! You may think that immediately sounds like a terrible argument but hear me out; the fewer features a programming language has, the simpler and faster it is. It also means that the language is often closer to machine code when it has fewer features as the language itself is written directly in machine code (such as assembly). That can and can't be a good thing; depending on your personal situation. The cognitive overheads from C are quite minimal as compared to assembly language, however, they are quite high as compared to a higher level programming language such as C# or C++.

Some of the greatest features of C and why I think in some ways it beats C++ and C# is because of the amount of control it provides you with over the system's memory. There is literally a built-in function to free memory, functionality to re-allocate memory (very useful for re-sizing fixed size arrays), and even the ability to reference specific memory addresses and see what your variable's memory address is. May I add, that all of these listed functionalities are incredibly easy to implement and can be written in mere seconds?

If you ask me, that's pretty darn cool. However, C will not be suitable for every situation and every individual. Learning another programming language is just like purchasing a new tool from the hardware store and putting it into your toolbox. Sometimes you'll use it, but it can have very specific use cases.

Feel free to check out my GitHub repo for some example C programs!

Comments