Python Luck
For quite some time I was thinking that Python’s dominance as the main “scripting” general purpose programming language was temporary.
To clarify: “scripting” as in the language of automation as opposed to program creation. With “scripting” languages people make computers do stuff they need by writing code instead of using some application that solves their task because it was pre-programmed to do so.
Of course people create applications in Python too, that’s not the point. People don’t write scripts in Java. Controversially, people don’t write scripts in JavaScript very often these days either.
So back to the main point. I thought Python was merely the scripting language du jour, following the successes of Lisp scripting, Unix shell and Windows Batch scripting, Perl scripting, Ruby and PHP scripting. Python would be dominated by the next even more simple and powerful something, I was imagining.
And then it struck me. Python didn’t overcome those previous scripting tools. People keep scripting in Bash/Perl and Ruby if those are what they started with before Python. Python doesn’t actually provide enough upsides. What happened is that Python became the scripting tool for new people who started scripting when Python had already become the natural choice for the task.
The beauty of the moment (and the luck of Python) is that these were the last people who had not been scripting their work before. All knowledge workers these days can write Python. Linguists, biologists, lawyers, bookkeepers, designers, project managers – they all can and do code. Not very often, but Python is easy enough to not require keeping up.
What this means is that Python may very well be the last scripting language for quite some time. All the new languages will need to be so much better to cause infrequently coding people to invest in switching.
Python happened at the right time, that’s all.