Where the second best is the bestest!
Updated on 10/13/2018
Note: GitHub is a repository for software projects, that is an online place where people can put their code to work on and show others. The way it works is that a software engineer creates a project or repository on GitHub and uploads their code to their repository. When they make changes, they do what’s called a “commit” and leave a note detailing the commit for other developers. Other developers can access the code, download it, change it, upload it, and commit those changes. This leaves a record of all changes so if the project goes off in a bad direction, they can go back to the older versions of the project. GitHub is an invaluable tool for both amateur and professional software development. In GitHub’s annual Octoverse report, they listed the languages of the projects with the most new projects associated with them, which is what we’re using for the basis of this post.
Java for the most part powers the world. That’s not a huge overstatement either (although I admit it is a tiny bit of an overstatement) because it really it powers a lot. Java is a very powerful general use language that has many developers and tons of documentation behind it. Many of the devices you have in your home that have any circuitry and require software are likely to have been written in Java. Your Blu-ray player software was written in Java. Other well-known Java applications just to name a few include OpenOffice, Nasa World Find, JPC, Twitter (its front-end moved from Rails — a programming framework using the “Ruby” language — to Java many moons ago), and MineCraft. Do you own an Android phone? Those apps on there? Yeah, Java.
Python is a much-loved programming language. Of course it like everything else had its detractors, nine times out of ten those detractors just a bunch of curmudgeons who prefer bullshit and don’t like well-formed and reasonable things. Python is simple, clean, and its syntax doesn’t require a lot of extra typing. It is a powerful true object-oriented language that is very adaptive and extensible, meaning you can add a lot of stuff to it to do other stuff effectively. That stuff comes in the form of “modules”, and its these modules that really add oomph to the language. Wanna make games? Try out PyGame. Wanna make a robust web application? Try Django. Wanna make some graphs for your data? Take a look at Matplotlib. These modules and many others make most development in Python far easier than it usually would be. Other languages of course have similar modules and libraries, but with Python it just always felt easier (at least to the guy writing this). Python also checks all the boxes that most tech-dorks look for in a programming language — flexible, had a lot of uses, supports multi-threading, easy syntax, fast, tons of resources, easy to find other developers.
Python is great for general development as well as web application development. Dropbox, Google, NASA, Quora, Instagram, BitTorrent, Spotify, Reddit, are just a few of the big web entities that use a significant amount of Python in their architecture. As for games, Civilization IV, Battlefield 2, and Eve Online are all written in or make heavy use of Python.
Python was initially developed in 1989 by a Dutch programmer named Guido van Rossum, who was at the time working at the Centrum Wiskunde & Informatica (CWI) in the Netherlands on a distributed operating system called Ameoba. Rossum was trying to develop a scripting language for the operating system, that is, a language that people could use to create programs to run it. Prior to that, he had worked for four years at CWI on developing a programming language called ABC. That language didn’t really go anywhere, so development on it was cancelled and Van Rossum ended up working on Amoeba instead.
At the time, Van Rossum didn’t see any existing languages that would have fit with the Amoeba project. So instead he decided to create a new language using and improving upon many elements from ABC.
“I was familiar with Perl 3, but it was even more tied to Unix than the Bourne shell. I also didn’t like Perl’s syntax — my tastes in programming language syntax were strongly influenced by languages like Algol 60, Pascal, Algol 68 (all of which I had learned early on), and last but not least, ABC, on which I’d spent four years of my life.”
When it came time for a name, Van Rossum didn’t want to get too bogged down with it, so he simply named it after the first thing that came to his mind, which happened to be the British Comedy troupe Monty Python’s Flying Circus. Van Rossum was a big fan, but he also liked the sound of “Python”. It was short, somewhat edgy, and memorable. In addition, Van Rossum was going along with one of the programming traditions at CWI.
“The Monty Python team may not be famous for their advancement of science or technology, but they are certainly a geek favorite,” wrote Van Rossum. “It also fit in with a tradition in the CWI Amoeba group to name programs after TV shows.”
Van Rossum began working on Python in late December 1989, and a couple months later he had a working version. Throughout 1990, several developers who were part of the Amoeba group began working with Python and the language itself began to grow. Then in February 20, 1991, Van Rossum released Python to the world as an open-source project before the term had even been invented.
Programmers around the world were intrigued by Python and many sent feedback and encouragement to Van Rossum. Over the next few years, Van Rossum and his group put out regular releases of the language, newsgroups were created, and more programmers got involved in the development. At one point, however, there came to be a realization in the Python community that it was too dependent on Van Rossum’s contributions to keep the language going, a problem most ably stated on a Python newsgroup post entitled “If Guido was Hit By a Bus”. So to remedy this possible issue, the program’s code repository was made available to anyone interested in seeing its development and put in-place was an open system for tracking bugs and patches for those bugs. Van Rossum himself by this time had gone to work in the United States first at the National Institute of Standards and Technology (NIST) and later at the Corporation for National Research Initiatives (CNRI).
Over the next few decades, the Python community grew as did the language’s popularity and functionality. Today Python is usually recommended as the first language that would-be programmers should tackle because of its power and easy syntax.
You can read more about the early history of Python from Van Rossum himself here. Well worth a perusal if you’re interested in computer history.