I never liked that either, but the new version is physically longer and requires more typing. Moreover, I couldn't find any change in 3.0 that results in less typing. I might have missed something of course, but this announcement doesn't seem to be something to be excited about.
I was waiting, for example, lambdas to be allowed to have compound statements. Python, a nice language otherwise, could have been improved in many ways, none of which is found in 3.0.
Instead, the spirit of Python is coming closer and closer to Java: you are not supposed to do this, says Python to you, because it's a bad practice and can lead to errors.
I'm disappointed and I think I'd rather wait for another, more concise nobraces programming language.
At one point lambda was slated for removal in Python
3000. Unfortunately no one was able to come up with a
better way of providing anonymous functions. And so
lambda is here to stay.
But it is here to stay as-is. Adding support for
statements is a non-starter. It would require allowing
multi-line lambda expressions which would mean a
multi-line expression could suddenly exist. That would
allow for multi-line arguments to function calls, for
instance. That is just plain ugly.
> you are not supposed to do this, says Python to you, because it's a bad practice and can lead to errors.
Isn't that one of the main themes of Python? That you can expect another programmer to have solved the same problem almost the same way..? I figure this is how that happens.
Curiously, this approach is usually welcomed in corporate environments. Java and C# are on the same shelf in this regard. It limits creativity by leaving no doors for new ways of doing things. Certain class of programmers just can't bear when they are told what's right and what's wrong in programming.
I was waiting, for example, lambdas to be allowed to have compound statements. Python, a nice language otherwise, could have been improved in many ways, none of which is found in 3.0.
Instead, the spirit of Python is coming closer and closer to Java: you are not supposed to do this, says Python to you, because it's a bad practice and can lead to errors.
I'm disappointed and I think I'd rather wait for another, more concise nobraces programming language.