Guido van Rossum, best known as the Python programming language author, was born 31 January 1956 in Netherlands. In Python community, Van Rossum is known as a BDFL (Benevolent Dictator for Life), which means that he continues to oversee Python development process, and always making decisions where necessary. He worked at Google from 2005 till 7 2012, where he spent half of his time developing Python programming language. In 2013, Guido started working for Dropbox.
Guido van Rossum’s Biography
Guido van Rossum was born and grew up in Netherlands, where he received the Master’s degree in the mathematics and computer science from University of Amsterdam in 1982. Guido later worked for various research institutes, such as Dutch Centrum Wiskunde & Informatica (CWI), United States National Institute of Standards and Technology (NIST), and also Corporation for National Research Initiatives (CNRI).
Guido van Rossum
Guido van Rossum’s Personal life
Guido van Rossum is brother of Just van Rossum, he’s type designer and programmer. Just designed the typeface which is used in Python Powered logo. Guido lives in California with his wife, Kim Knapp, and their common son, Orlijn.
Guido van Rossum’s Books
- Internet Programming with Python in 1996.
- An Introduction to Python in 2003.
- The Python Language Reference Manual in 2003.
Guido van Rossum’s Career
While working at Stichting Mathematisch Centrum (CWI), Guido in 1986 wrote and contributed glob() routine to BSD Unix. Guido also worked on ABC programming language development.
Not to be confused with the Mondrian, the data visualization software, or the Mondrian OLAP server.
While working at Google, Guido developed the Mondrian, as web-based code review system written in the Python language and was used within the company. Guido named this software after the Dutch painter, Piet Mondrian. Guido named also another related software project after the Dutch designer, Gerrit Rietveld.
In 2012, Guido joined the cloud file storage company Dropbox and it was surprising and unexpected for all.
Computer Programming for Everybody
In 1999, Guido submitted funding proposal to Defense Advanced Research Projects Agency (DARPA), called Computer Programming for Everybody, in which Guido further defined his goals for the Python:
– Code which is as understandable as the plain English.
– Open source, so everyone can contribute to its development.
– Suitability for the everyday tasks, to allow shorter development times.
– Easy and intuitive language as powerful as other major competitors.
“Now, it’s my belief that Python is a lot easier than to teach to students programming and teach them C or C++ or Java at the same time because all the details of the languages are so much harder. Other scripting languages really don’t work very well there either.”
Guido van Rossum
Guido van Rossum’s Recognition
At 2002 FOSDEM conference which was in Brussels, Guido received the 2001 Award for Advancement of Free Software from Free Software Foundation (FSF) for his valuable work on Python.
Guido van Rossum received also NLUUG Award in 2003.
In 2006, Guido was recognized as Distinguished Engineer by Association for Computing Machinery.
Guido van Rossum and Python
Python is now a very widely used general-purpose, and a high-level programming language. Python’s design philosophy could emphasize the code readability, and the syntax could allow programmers to express their concepts in fewer lines of code than what was possible in other languages like C++ or Java. Python provides constructs intended in order to enable clear programs on both the small and the large scale.
The language also supports the multiple programming paradigms, such as imperative and functional programming, object-oriented, or procedural styles. Python features dynamic type system and also automatic memory management, plus it has large and comprehensive standard library.
Python’s name is derived from a television series called “Monty Python’s Flying Circus” according to Guido. The language is common to use the Monty Python references in its example code. As example, metasyntactic variables that are often used in the Python literature are “spam and eggs”, instead of traditional “foo and bar”. Official Python documentation also often contains various obscure Monty Python references.
“Over six years ago, in December 1989, I was looking for a hobby programming project that would keep me occupied during the week around Christmas. My office would be closed, but I had a home computer, and not much else on my hands. I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers. I chose Python as a working title for the project, being in a slightly irreverent mood and a big fan of Monty Python’s Flying Circus.”
Guido van Rossum in 1996 about the origin of Python.
The Python interpreters are always available for installation on many operating systems, to allow the Python code execution on wide variety of systems. By using third-party tools, like Pyinstaller or Py2exe, the Python code shall be packaged into stand-alone executable programs for few of most popular operating systems, to allow distribution of the Python-based software for using on such environments without requiring installation of any Python interpreter.
CPython is reference implementation of the Python. It’s free and open-source software that has community-based development model. The CPython is managed by a non-profit Python Software Foundation.
“Python’s predecessor, ABC, was inspired by SETL – Lambert Meertens spent a year with the SETL group at NYU before coming up with the final ABC design!”
Guido van Rossum in 2000.
Languages influenced by Python
Python’s philosophy and design have influenced wide range of programming languages, such as:
– Cobra, this language uses the indentation and similar syntax. The Cobra’s – Acknowledgements – document listed Python first among all other languages which influenced it. However, the Cobra directly supports the unit tests, design-by-contract, and the optional static typing.
– Boo, this language uses indentation, similar syntax, and similar object model too. However, the Boo uses a static typing the same as optional duck typing and it is closely integrated with .NET Framework.
– ECMAScript, this language borrowed the generators, iterators, and the list comprehensions from Python language.
– Groovy, this language was motivated by desire in order to bring the Python design philosophy to Java.
– Go, this language is described as incorporating “development speed of working in dynamic language such as Python”.
– OCaml, this language has optional syntax, called The Whitespace Thing (twt), inspired by the Python language and Haskell language.
– Julia, this language was designed with the true macros to be as usable for the general programming as Python and also it should be as fast as “C” language.
– Ruby‘s creator – Yukihiro Matsumoto – announced:
“I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python. That’s why I decided to design my own language.”
– Swift, this is a programming language which was invented by Apple. Swift has few Python-inspired syntax.
Development practices of Python have also been emulated by some other languages. Practice of requiring document describing rationale for, and the issues surrounding, change to the language is used also in Erlang and Tcl because of the Python’s influence.
Python has been awarded the TIOBE Programming Language of the Year award two times in 2007 and 2010, which was given to language with the greatest growth in the popularity over the course of the year, as it’s measured by TIOBE index.
There are wide variety of compilers to the high-level object languages, with either the unrestricted Python, the restricted subset of Python, or the language similar to Python as a source language:
– Jython, it compiles into Java byte code that can be then executed by all Java virtual machine implementations. This also enables using of the Java class library functions from Python program.
– IronPython, it follows the similar approach to run the Python programs on .NET Common Language Runtime (CLR).
– The RPython language also can be compiled to Java bytecode, “C”, or Common Intermediate Language (CIL), and it’s used in order to build the PyPy interpreter of Python.
– Shed Skin, it compiles Python into C++.
– Cython and Pyrex compile Python into C.
Development of Python is largely conducted through Python Enhancement Proposal (PEP) process. This process is the main mechanism for collecting the community input on issues, for proposing major new features, and also for documenting the design decisions which have gone into Python.
The outstanding PEPs are commented and reviewed upon by Python community and by Guido van Rossum himself.
Enhancements of Python goes along with the development of CPython reference implementation. Mailing list python-dev is the main forum for any discussion about language’s development. Specific issues are also discussed in Roundup bug tracker which is maintained at python.org. The development takes place on self-hosted source code repository which is running Mercurial.
Python has grown and became very popular programming language: As example, in 2011, Python was 3rd most popular language on GitHub social coding website, and based on the programming language popularity survey, Python is consistently amongst top 10 most mentioned programming languages in the job postings. Plus, Python is also consistently in top 10 most popular programming languages based on TIOBE Programming Community Index.
In 2015, the official repository of third-party software for Python which is called Python Package Index, has more than 65,000 packages offering wide variety of functionality, such as:
– Web frameworks, graphical user interfaces, databases, multimedia, networking and communications.
– Text processing, scientific computing, and image processing.
– Automation and web scraping, test frameworks, system administration, documentation tools.