Starting from ones and zeros, programming came a long way to reach the current state of abstraction. Past programmers put a stable foundation with great inventions for modern programmers to do their work easily. If we check a particular software, perhaps, it was written with the help of several libraries that have another set of dependencies that were created some years ago. When we go back further, eventually we will find out a massive invention done by an exceptional programmer in the history of computer software evolution.
For example, the Anaconda data science environment is written in Python. Thereafter, Python is written in C programming language which is a huge project that powered millions of projects. Similarly, Android uses the Linux kernel that is a large project by an exceptional programmer. The following programmers are pioneer computer scientists who put a strong foundation for software development by doing several memorable projects.
Linux kernel empowers a lot of operating systems: mainly Linux distributions and other Linux kernel-based operating systems such as Android. Also, the majority of web servers on the internet run Linux. Linus initially implemented the Linux kernel during his university time because he wanted to create a free alternative for Unix that was very expensive for personal computers at that time. Besides, He was using Minix operating system which was typically implemented for academic purposes and it had some drawbacks in the licensing model and hardware support. Linux kernel was first programmed inside Minix using the GNU C compiler.
Moreover, he created the Git source code management tool especially for managing the development workflow of the Linux kernel. Git was a result of problems they had with the BitKeeper tool that was previously used for source code management. Both projects were started as his personal projects. But now, millions of people heavily use them. I like Linus’s character among all programmers who contribute to open source.
Linux project itself was just a kernel. While Linus was working on the Linux project, at the same time, Richard was trying to create a free and open-source clone of Unix with the community along with a nice project name GNU (GNU’s Not Unix). He created and integrated all required free software for an operating system that gives freedom to all computer users except one piece, the kernel. Eventually, the Linux kernel filled the last missing block of the GNU project and the name of his conceptual operating system became real-world GNU/Linux by giving freedom to millions of users. He developed several modules of the GNU project such as GNU compiler collection and GNU Emacs text editor too.
Besides the GNU project, he founded FSF (Free Software Foundation) which motivates everyone to use free software without being controlled by proprietary software companies. Further, the free software movement that was founded by Richard was a great reason for everyone to re-think user privacy and user rights with modern proprietary software and operating systems. He always mentions the following phrase for libre software in his public speeches.
“With software, there are only two possibilities: either the users control the program or the program controls the users. If the program controls the users, and the developer controls the program, then the program is an instrument of unjust power.” — Richard Stallman
The C language is the lowest building block of almost all computer technologies. C++ language is like an extension added to C by enabling modern general-purpose language features such as the classes-based object-oriented programming concept. The C programming language is widely used for creating operating systems and embedded systems. Dennis created the C programming language by replacing the B programming language that was created by his colleague, Ken Thompson. Once, his long-term colleague, Brian Kernighan said,
“The tools that Dennis built — and their direct descendants — run pretty much everything today.”
— Brian Kernighan
Also, he contributed to the development of the Unix operating system at Bell Labs with Ken Thompson and contributed the well-known handbook for C programming language called “The C Programming Language” too.
What is said by Java installer is true; more than three billion devices run Java. Java programming language empowers various sorts of components such as web servers, mobile phones, televisions, etc. Java caught everyone’s attention within a shorter time period because a program written/compiled in Java could be executed on any computer. After all, the atomic instructions that are included in the program will be executed in a virtual hardware device called the Java Virtual Machine (JVM). Java is a secure programming language since there are a virtual machine and a well-implemented access control set. Gosling created Java with a C/C++-style syntax.
Java can be used in very complex projects due to its performance, attractive cross-platform support, and pure object-oriented behavior. Besides, he built several projects such as the neWS windowing system at Sun Microsystems.
Unix is like the grand-father of all popular operating systems in the world. Even though there are separate projects such as Minix and Linux, those projects are influenced by Unix. Ken designed and implement the original version of Unix at Bell Labs with Denis Ritchie. He created the B programming language and provided a pathway for Denis to create the C programming language.
Furthermore, his notable contributions to the computer world include his work on regular expressions and UTF-8 encoding. The regular expressions concept was there already. Whereas, he wrote his own version of QED text editor with a computer-programmed version of regular expressions for finding text. Thereafter, the regular expressions started their journey with computer technology. Indeed, creating a programming language that has a balanced-abstraction is undoubtedly hard. In other words, it is hard to create a programming language that is closer to both hardware and programmers. But, he made it with Google by co-inventing the Go programming language.