The 5 Programming Languages That Built the Internet
Without these programming languages, the internet wouldn't exist.
The internet couldn’t possibly run without someone somewhere writing some code, but in internet history, there are a few particular languages that provided the foundation upon which the web we know today is built. These five languages have helped shape the modern internet. (To do some background reading, check out Computer Programming: From Machine Language to Artificial Intelligence.)
This language is actually not widely used on the internet, but is responsible for building the internet in many ways. Invented by John McCarthy in the late 1950s, Lisp, despite its odd name, tied together the research community that helped create the internet.
Spreading out of MIT, Lisp offered some modern features for the first time, such as conditionals. But what was really mind-blowing about Lisp was that it made no distinction between code and data. Lisp could treat code as data and data as code. Lisp makes it possible to extend the language in ways that its designers never intended, giving rise to the term "programmable programming language."
Lisp became the lingua franca of the artificial intelligence community, the community that DARPA called on to build what eventually became the internet in the late 1960s. With the "AI Winter" in the late '80s, Lisp’s fortunes sank somewhat, although it still had its fans. One of them, Paul Graham, later to found the startup incubator Y Combinator, used it to build one of the first e-commerce companies, Viaweb, which was later purchased by Yahoo. Graham credited the ability to write powerful software by himself as one of the reasons for its success. The first version of the popular social news website Reddit was also built in Common Lisp.
The single most influential programming language today might be C. Invented at Bell Labs in the '70s, it was one of the first high-level programming languages to have an operating system written in it. And that operating system just happens to be Unix. Because it was written in C, it was possible to move Unix to different platforms.
Rewriting Unix in C was a major breakthrough. Previously, operating systems were written in assembly language, as they had to be really close to the hardware. C, on the other hand, was a higher-level language but was still close enough to the hardware to write an operating system in. This made Unix one of the first portable operating systems. A C program could be compiled to run on different operating systems, but since most of the early C programmers also happened to be Unix programmers, they tended to assume that their programs would be run under Unix and developed their code accordingly. Because it was relatively easy to port Unix to other computers, lots of people did so.
C has obviously had a lot of success outside of Unix. Windows is coded in C, as are many other applications. As C creator Dennis Ritchie wrote, "C is quirky, flawed, and an enormous success. While accidents of history surely helped, it evidently satisfied a need for a system implementation language efficient enough to displace assembly language, yet sufficiently abstract and fluent to describe algorithms and interactions in a wide variety of environments." (To learn more about C, see The History of the C Programming Language.)
Perl isn’t as talked-about as it was in the '90s, but it is still a major part of the internet. In fact, it owes its popularity to the internet. Perl was invented in the late '80s by Larry Wall when he was working for NASA’s Jet Propulsion Laboratory, as recounted in a book called "Programming Perl." Wall needed a configuration management system to talk to several Unix computers on opposite coasts. None of the existing Unix tools could do the job, so he took the lazy route and invented a whole new programming language.
Wall, as recounted, released it in 1987 over Usenet and it attracted an instant community of developers across the growing internet, one of the first major open-source projects to gain traction before Linux. When the web took off, Perl found a niche as one of the languages of choice for developing dynamic web pages. Syntactically, it resembled C, but was implemented at an even higher level, without the need to manually manage memory. This meant that developers could write, test and debug programs quickly. Perl is very flexible, leading to some ugly code. Its combination of ugliness and usefulness has given it the moniker of "the duct tape of the internet."
Speaking of PHP, this language has dethroned Perl as one of the major building blocks of modern dynamic web pages. Like Perl, it has a reputation for letting people write ugly code, yet it still runs a lot of websites that people use every day, including Facebook. It was created in 1994 by Rasmus Lerdorf. (Learn the basics of PHP in PHP 101.)
PHP might make computer scientists scoff, but if you want to be taken seriously as a web developer, it’s a skill you should have on your resume.
The reason that it’s become so popular is that PHP code can be embedded right into a web page. This means you don’t have to put your PHP script in a separate program and generate HTML code using Perl or C. This makes it very easy for people who already know HTML to learn PHP and add interactivity to their pages. It’s also easy to integrate PHP with a SQL server such as MySQL. Which leads to...
SQL stands for Structured Query Language. It’s a way to form queries for relational databases. It’s also relatively easy to learn, as it uses English-like commands. There are plenty of implementations, such as MySQL and PostgreSQL, which are popular open-source relational database servers. SQLite is a smaller variant used in a lot of applications, such as Apple’s iTunes.
Although invented by Edgar F. Codd in the 1970s, SQL and the relational database took a while to become popular. Oracle first popularized relational databases, then MySQL made it a must-have technology for building websites. The relational model provided a simple and efficient way to mange large amounts of data.
You can create a good web app or service in any language, but you can’t go wrong picking one of the languages that have influenced the way the web has developed. (Continue your reading about the history of programming: The Pioneers of Computer Programming.)