“Real
programmers program in binary” So goes a famous joke in the programming world,
especially popular with the performance wise. Truth be told, programmers
programmed in binary once but this was when computers were just in their infancy.
You’d punch your instructions on a card in the form of dots representing the
binary instructions on a card in the form of dots representing the binary
instructions and feed them to the machine; the machine would then execute them.
Any errors were only to be blamed on you. Since then, computing has come a long
way, thinks to operating systems (OSes).
An OS forms a
layer between the hardware and the application program while managing other
programs and keeping an account of hardware resource usage. The program asks
the OS for the resources (network, disk, display etc.) and doesn't have to deal
with the hardware level details such as disk configurations, display resolution
etc. in early days. OSes were written in the assembly language. These included
OSes such as MULTICS and the first version of UNIX which were written in the
assembly language of their target processor architectures. However, later Ken
Thompson (also the creator of language ‘B’) and Dennis Ritchie created the C
programming language to port UNIX to PDP-11 and since then, OSes have been
written in C.
The invention of
the OS started the true software revolution by reducing the amount of effort
required to create a working piece of code. This encouraged more and more geeks
to try out programming and discover new capabilities. To this day, almost any
device that can handle number crunching runs some form of an OS.