4 ms·
The History of Python
Python is 19 years old and Guido Van Rossum is starting a new blog on the history of the language. Here is the from his regular blog that announces it. http://neopythonic.blogspot.com/2009/01/history-of-python-introduction.html
- lehmannro 18y agoSee also Guido's introductory announcement for this post. http://neopythonic.blogspot.com/2009/01/history-of-python-introduction.html http://neopythonic.blogspot.com/2009/01/history-of-python-in...
- stcredzero 18y ago"The ABC group wanted to isolate the user, as completely as possible, from the big, bad world of computers...ABC should be the only tool they ever needed. This desire also caused the ABC group to create a complete integrated editing environment, unique to ABC" The problem with this design choice, is that it isolates you from the rest of the software ecosystem. This is why PHP became part of the LAMP stack and why Smalltalk became isolated and esoteric. In this sense, Perl, Ruby, and Python all made a beneficial choice to be good citizens in the Unix-like space.
- PieSquared 18y agoOne of the comments is good. Basically, it asks, why the need for semicolons at all?
- johnrob 18y agoProbably to make it easier for programmers who end lines with them as a knee jerk reaction. After a stint of java or javascript, I find myself doing it too.
- eru 18y agoAnd you can put two or more commands on one line.
- blasdel 18y agoI use them for this purpose in both Python and Ruby when there's a formatting win to be had.
- gaius 18y agoYeah. Often it's bad style, but IMHO if you just need to do something like: x = 0; y = []; z = None Then it is actually clearer to group them together, it means more "real code" on screen at a time.
- eru 18y agoI do not know whether that was a good example to show the benefits of the semicolon: x, y, z = 0, [], None
- lehmannro 18y agoWhile the semicolon is only a convenience it has some common use cases. For example shoot-and-forget invokations of third party modules: import sys; sys.exit() import pdb; pdb.set_trace() import cgitb; cgitb.enable() import psyco; psyco.full() import pygtk; pygtk.require('2.0') And of course it's pretty useful in environments where one-liner are easier to handle: $ python -c "import mymod; mymod.test()"
- gaius 18y agoNow that I look in my code I actually have: import matplotlib; matplotlib.use('Agg'); from matplotlib import pyplot
- ulf 18y agoIn this case you could just use: x, y, z = 0, [], None