Back in the early 1990s, I was active in some different developer user groups where perl was the scripting language of choice. I remember with great fondness some of the “obfuscated perl” challenges where the goal was to write something as obscure and small as possible… that actually performed some action. The perl slogan was “there is more than one way to do it”, and that was how it rolled.
Then one day I stumbled upon python, which seemed to be almost the polar opposite of perl. I mean… indentation mattered? I hadn’t dealt with that since back when I was programming in FORTRAN in the late 1980s!
And the idea that code should be readable and easy-to-understand? That kind of flew in the face of the obfuscation challenges.. but definitely led to better and more understandable code!
In contrast to perl, the Zen of Python captured one ethic: “There should be one– and preferably only one –obvious way to do it.”
I loved it!
And for a good number of years python was my language of choice. I used it to solve so many problems and do so many things. Most all of that was internal to various jobs and projects. The only public thing really left is my ancient makefaq program, which generated a Frequently-Asked Question (FAQ) list into HTML, text, or DocBook XML from a single source file. (And I have no idea if makefaq works with modern python.)
This background is why I found “The Origins of Python” from Professor Lambert Meertens such a fascinating read.
Anyone involved with python for any time becomes aware of Guido van Rossum and his role in creating python and all of his amazing contributions. But this article goes back a bit further to provide the context for how python came about.
Given that I started using BASIC on an Apple II in 1977, I never did much with ALGOL and had never heard of either TELCOMP or the ABC language mentioned in the article. Nor had I heard of SETL. When I got involved with computer science at the University of New Hampshire in the mid-1980s, Pascal was the main introductory language, and C was a language heavily used for other work. I also used assembly language, FORTRAN, SmallTalk, and a number of others. In a bit of craziness, I did some large scale text manipulation using the version of LISP built into emacs. 😀 (Although I was later to come down hard on the “vim” side of that particular divide.)
So the history provided by Professor Meertens was interesting to see how various strands came together in a way that helped set the stage for what Guido van Rossum would do to make python the amazing language that it is.
Well worth a read for those wanting to understand the historic origins of languages.