Sunday 14 July 2019

What will you gain if you learn C?

What will you gain if you learn C?

If you don’t know C, you don’t know what you are doing as a programmer. Sure, your application works fine and all. But, if you can’t say why while (*s++ = *p++); copies a string, you’re programming on a superstition. ( Joel Spolsky’s words, not mine ).
  1. You will understand how a computer works.

    If you know C, you will not only know how your program works but, you will be able to create a mental model on how a computer works (including memory management and allocation). You will learn to appreciate the freedom that C provides unlike Python and Java.

    Understanding C allows you to write programs that you never thought were possible before (or at the very least, you will have a broader understanding of computer architecture and programming as a whole).
  2. C is the lingua franca of programming.

    Almost all high-level programming languages like Java, Python, JavaScript etc. can interface with C programming. Also, it’s a good language to express common ideas in programming. Doesn’t matter if the person you are talking with doesn’t know C, you can still convey your idea in a way they can understand.
  3. Opportunity to work on open source projects that impact millions of people.

    At first, you may overlook the fact that C is an important language. If you need to develop a mobile app, you need Java (for Android), Swift and Objective C (for iOS). And there are dozens of languages like C#, PHP, ASP.net, Ruby, Python for building web application. Then, where is C programming?

    Python is used for making wide range for applications. And, C is used for making Python. If you want to contribute to Python, you need to know C programming to work on Python interpreter that impacts millions of Python programmers. This is just one example. A large number of softwares that you use today is powered by C.

    Some of the larger open source projects where C programming is used are Linux Kernel, Python Interpreter, SQLite Database.

    Another language that’s commonly used for large open source project is C++. If you know C and C++, you can contribute to large open source projects that impacts hundreds of millions of people.
  4. You will write better programs.

    To be honest, this statement may not be true all the time. However, knowing how computer works and manage memory gives you insight on how to write efficient code in other programming languages.
  5. You will find it much easier to learn other programming languages.

    A lot of popular programming languages are based on C (and C++, considered superset of C programming with OOP features). If you know C, you will get a head start learning C++.

    Languages like C# and Java are related to C and C++. Also, the syntax of JavaScript and PHP is similar to C.

    If you know C and C++ programming, you will not have any problem switching to another language.

No comments:

Post a Comment