June 5, 2020

Python

Like any computer language, Python has its virtues and its problems. I first looked at Python back on 1998, didn't like it much, and after writing a couple of significant programs in it, pretty much just avoided it.

Now in 2020, it is clear that Python has won widespread acceptance. It has always been clear that one of Python's strengths were the multitude of high quality packages available to use with it. I am taking a fresh look at it, and while liking it much better, there are still some warts.

GUI programming

You have many packages to choose from. The tkinter package is the mainstream and comes as part of the standard distribution. The runner up is wxPython.

Python and change

Nobody likes change. Managing change in a software project is always a challenge. The old joke is that there comes a time to shoot the engineer and ship the product. Change is a two edged sword in software projects. On one hand we want progress and a platform for new ideas. On the other, once a lot of people are using and depending on a project, change can cause trouble for lots of people.

It is undeniable that Python has not managed change well. The bumpy transition from Python 2 to Python 3 has affected almost every python user and has not settled down even to this day. Even within the Python 3 releases, changes continue to be made that disrupt users. It is not clear to me that Python 3 has offered any real benefits that justify the upheaval, but Python 3 it is.

At some point a programming language, and especially a programming language needs to stabilize. Itchy developers need to find something else to do -- work on the next language. Maintaining a stable language is much less exciting than working on an endless series of new features, and that may well be a chore for a different team of people.

Interestingly, Mark Lutz, the author of the most prominent Python books, has spoken out about this himself. I won't paraphrase or misquote his words, but refer you to this link:

People have speculated that his frustration with python changes may partly explain why we have not seen revisions to his books "Learning Python" and "Programming Python".

Of course there is another view of all this, and that is to be enthused about each and every new feature. This Twitter list is all about that:


Feedback? Questions? Drop me a line!

Tom's Computer Info / tom@mmto.org