Why I learn and use C language?

Yushan Pan
3 min readDec 28, 2020
My daughter (6 months old, December 2019) and me in Ålesund.

Why I still use a programming language that has been born for nearly half a century? To some extent, C has significant impact my career development.

What is C?

The C language was developed by Dennis Ritchie, a researcher at AT&T Bell Labs in the United States. Based on the B language, it was originally used as a development language to transform the Unix operating system. C became popular with the rise of the Unix operating system. Later on, with the development of microcomputers, C began to be ported to other operating system platforms and became an independent programming language.

Is C hard to learn?

To be honest, I would say C is the most difficult programming language. Without a solid knowledge of compilers, operating systems and system architecture, it is impossible to understand and use C language. As a programming language, C provides precise control of operating system and memory, high-performance runtime environment, source-level cross-platform compilation and more. All these are the reasons why I love C and still use it.

C language and my career development

I was a math student at university. One of the important application areas is to design operating systems. After 4 years training at university, I entered CS field with focus on information systems. From there, my focus is shift from precise control of compilers and memory to building up operating system. C language is designed for creating operating systems. It operates on bits, bytes, and addresses like assembly natural languages. It allows me to access physical addresses on hardware directly. Powered by C language, I am able to combine systems structures towards high-level languages, such as java, c# and even python and R.

To be an engineer is not my goal. I was eager to know how and why an operating system is designed in a certain way. This aim motivated me to work hard on understanding of human behaviors in computing environments. Later on, such an understanding becomes my PhD topic and costed a couple of years of my life. But it is the most valuable investment. Now I know a full picture of designing operating systems, from UX, array to cache. The next step of my goal is to utilize my knowledge of operating systems to serve different domains. C is the only language can connect different aspects of attributes of operating systems. And I will go with C for my next decade.

My professional expertise starts from C language and now it shapes my speaking and my thinking. If I do not work on system refactoring, I am just an engineer. But now, I am not anymore……

Conclusion: C language applications

Since C is a low level programming language, system security is one of the applications of C language. For enterprise, fast communication between operating systems and database is a key. C language is probably the only one can help. In addition, all drivers on computer systems are written by C language. And 95% of computer games (big size) are written by C.

--

--

Yushan Pan

I am a researcher and also a coder. Oh, do not surprise, I work as an ethnographer too. w: kmcoolcode.github.io