Is C Still Worth Learning?
Tags: programming
Published: 2020-11-13 11:20:05

---
title: Is C Still Worth Learning?
published: true
date: 2020-11-12 14:52:00 UTC
tags: Programming
canonical_url: http://coderscat.com/is-c-still-worth-learnning/
---

With Python and Java being so hot in the IT industry these days, if you're still in school or you have ambitions for programming, I'd recommend settling down to learn C.

If you haven't know anything about C, learning some of the basics will suffice. Try to figure out what people complain about it and the simplicity of the design and abstraction.

You'll benefit from it for the rest of your computing life, and the knowledge will help you much in your programming career!

## The Reasons to learn C

C language is one of the oldest programming languages and it has gone through almost half a century. Many of the industry's basic components are written in C. The kernel of Windows, Linux, Unix, and other operating systems uses more than 90% of the C language for development.  C has served as the foundation for writing more modern languages such as Python, Ruby, and PHP.

The history of C is a history of the computing industry. According to [TIOBE](https://www.tiobe.com/tiobe-index/), C has still dominated the rank list of programming languages.

![image-20201111152919196](http://coderscat.com/images/image-20201111152919196.png)

Here are my three reasons for you to start learning C:

### 1# Learning C opens the door to the fundamentals of computing. 

C is a straightforward low-level language. You need to know some basics of hardware and knowledge of **operating system**.  C language can make you a more profound understanding of memory and compilation principles, understand every detail of the program and consolidate basic skills.

After you know how to understand C code, you can try to read the fundamental parts of software, such as Redis, Nginx, and compliers.

### 2# Learning C gives you a way of thinking about programming.

A lot of other languages in the syntax and C language are similar, Java, C++, C#, PHP, JavaScript, etc. After learning C, you will find [learn these languages are much easier](https://coderscat.com/learn-programming-languages/)! You may even get a chance to understand the internals of these programming languages because many of them are implemented in C.

### 3# Learning C will bring you more domains to work.

* C language is used for low-level development, operating system, search engine, IoT( Internet of things) related.

* Linux embedded direction, microcontroller these, can develop hardware drivers, let the hardware and operating system connected, through the software operation of the hardware.

* Develop system components or services (generally more demanding in terms of efficiency) to support upper-level applications.

## How to Learn C

I will recommend two simple ways for you to start learning C.

### Read book 

![Amazon.com: C Programming Language, 2nd Edition (8601410794231): Brian W.  Kernighan, Dennis M. Ritchie: Books](http://coderscat.com/images/411ejyE8obL._SX377_BO1,204,203,200_.jpg)

[The C Programming Language](https://amzn.to/3pkRFaU) is one of the greatest programming books in the world, it was written by the author of this language. It's only 200 pages but gives you practical programming knowledge and challenging exercises. It's not an easy book, even for the readers with some experiences of programming. 

### Practice

If you already have some programming languages and need to write some code in C, use [exercism.io](https://exercism.io/my/tracks/c) to practice C programming. These are not so hard programming challenges and you will master most syntax knowledge after finishing them.

Try to read some open-source C code. I will always recommend [8cc](https://github.com/rui314/8cc) for those who are interested in C. Writing a simple C compiler in C, you will master it without fear.