Back in the early 1970s, Dennis Ritchie and ken Thompson
were building the first UNIX operating system on a machine called PDP-7 and
needed to port the OS to turn on a better machine called PDP-11. Existing
languages couldn't help with this task due to their inability to copy with the PDP-11’s
advanced hardware features. As a result, C was created.
Dennis Ritchie |
Back in those times, kernels were written entirely in assembly languages. Writing code in assembly language needed the programmer to understand the entire platform, especially the processor. Also, it was time consuming, confusing and arcane. The mid-level nature of C allowed programmers to use advanced hardware features while not having to deal with assembly. this made it one of the first high-level programming languages which could also be used for low-level tasks. Later, C was used to rewrite large parts of the UNIX kernel. UNIX played a huge role in the development of computing and inspired many other operating systems including Linux and BSD(Mac OS X was based on FreeBSD originally). Even to this date, they belong to the UNIX-like OS family!
C was later built as a portable language which
could be adapted on various platforms and has ever since stayed in vogue. C++,
a superset of C programming language is just as powerful and brings in
object-oriented programming to C, enhancing the power of C. After sophisticated
Java came along, C was demoted and began to be called a mid-level programming
language. While its usage has dropped due to many other languages coming in the
picture, a lot of high performance tools and applications are still written in
C/C++. Some of these include operating systems, databases, games, server
software and desktop applications. Even iOS apps are written in C.