One of the frequently asked questions I receive is: "I'm learning C at school/college/from a book. Am I wasting my time learning this language? Should I be learning C++ instead?"
Although I usually recommend learning C++ right from the beginning, learning C is definitely not a waste of time. C is still a very useful, widely used and highly capable language. It's been around for 27 years now and will remain one of the most popular programming languages in the foreseeable future. Consider the following facts:
- C is the language in which every modern operating system is written: all Windows flavors, including the recently shipped Win2000, Unix, Linux, BeOS, and others are coded in C.
- C is the only high-level language used in embedded systems.
- The underlying engine of many Web browsers, Web servers, virtual machines, device drivers and database engines are written in this language.
Why is this? C code offers an unparalleled combination of high speed and a small memory footprinta combination with which other high-level programming languages can't compete. Learners of C benefit from additional advantages: it's compact and easy to learn. Once they become familiar with the concepts of functions and pointers, they can turn into productive C programmers.
For all these reasons and others, C still matters.