Yanuar Aditya bio photo

Yanuar Aditya

Dota & Volvo Cars

Email Twitter LinkedIn Instagram Github Steam

For the complete list of the tutorial on this blog, you can check these following links:

1. Introduction
2. First C-Program
3. Types and Variables
4. Conditional Statements
5. Function and Math Operations
6. Arrays
7. Pointers
8. I/O in C


Probably, you will see C-language as nothing special. You might even say C sucks compared to Java, Ruby or Python nowadays. But, is it? Well, if you start coding from 90s, probably you’ve encountered a hard time developing with Fortran, or Assembly and C came as a saviour from the darkness, it’s like a programming heaven.

There are several top reasons why C is still a good language to learn, here I’ve compiled some.

C has nice syntax

As a language that often interacts with the machine, C is considered to be a pretty language with beautiful syntax.

As we can see, Pygments rendered C-syntax (with line numbers) beautifully. Now, time for a trivia. Can you guess, how many programmers which are saved by C-syntax from obfuscating codes? Count me one!

C macros are the best

Macros is one of the most important preprocessor # implementation in C. It can be used to create a fast function without putting everything on the stack. Check this out,

In line:4, we define the macro function MACRO_OR that takes a and b as an input. Then, this macro will return the logical OR result from a and b. Super neat!

In line:12, the macro is invoked to compute the logical OR between a and b and return the result to c.

C is small

C utilised merely variables, macros, functions and structures. Therefore, C is considered small in size, complexity and that much of it. Due to this, C has been heavily used on embedded system, modern microprocessor, even modern Arduino.

More about this, lot of parallel programming languages, OpenMP, OpenCL, CUDA, etc, are based on C language due to its relative connection to lower level hardware compared with other languages.

C is root of all goodness

You can pretty much stand on opinion that C is different compared to C++ or ObjectiveC, but from pedagogical approach, lot of programming expert will tell you to learn basic things from C, e.g. overflow, memory addressing, pointer, profiling and debugging. A true concept of those languages can be learned from C.

C is alive and sound

The number one reason C is the best programming language today is still the fact that it simply powers everything. From your phone to your Wii, no other language provides the level of hardware interaction with the practicality of a concise and expressive syntax. Unless you’re still using an early IBM (please switch soon, if so), the screen you’re reading this article on is probably powered by C.

With C, we can forget writing thousands of complex Assembly routines, thousands of processor-specific instructions, and spaghetti like code. Because of C, the CPU, memory, and graphics cards have turned from their messy, low-level pasts into an easier, readable format

Well, I hope this is quite enough motivation for you to start learning C more than just for gaining basic programming language skill. Then when it comes the time when you woke up at the wrong side of the bed, you aren’t rambling about how bad, stressful, and obfuscated low-level programming is.

So, are you ready now? If yes, then let’s get started on writing your first program on the next tutorial.