Or you could look at it as Python growing up and being used for long lived projects with tens and hundreds of developers of varying skill levels, where you need to do things such as... safely refactor large amounts of code quickly.
Maybe it’s “growing up”, but I agree that Python has definitely changed its focus. It has pivoted towards the handful of companies with “projects with tens and hundreds of developers“ at the expense of the millions(?) of people using it for much smaller projects.
As part of the latter group, I don’t consider this change in focus to be a good thing.
> It has pivoted towards the handful of companies with “projects with tens and hundreds of developers“
Handful of companies? Small and medium businesses, according to most definitions, can have up to 100 employees, and they generally make up to 90% of the businesses in most countries. If these small and medium businesses are writing Python apps, it's far from inconceivable that they will at some point have tens of people working on a project.
You make it sounds like you need to be a company with 1 million employees in order to have a big project.
And I don't see how these changes impact the "millions (?)" using Python for small projects. Python type checking is optional.
Indeed, I've moved to Guile as my small scripting language.
It has much better integration with the gnu user space, and much like pythons early days if you know C you can write extremely performant code. The fact that I can write a DSL for every problem is a benefit I didn't know I wanted until I no longer had to monkey patch objects.
> I've moved to Guile as my small scripting language.
I have been using Lua as an alternative to Python. It's much closer to my ideal level of language complexity - and I think overall it's better designed than Python, although it's certainly not perfect. The implementation of the interpreter is significantly better as well.