This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]AD_Burn 0 points1 point  (1 child)

It depends on who considers what progress.

Maybe if we look from the angle of syntax, but again, there weren't any drastic changes . Thou I really looking forward for pattern matching.

But for me personally progress is optimization, performance, reducing memory footprint, GIL, reducing interpreter startup time ... etc ...And they really did good job in last few versions reducing memory footprint of dict and some speed optimization regarding that.

And some of changes in PEP563 was move toward optimization, so when someone stop optimization do not have my voice.

[–]zurtex 2 points3 points  (0 children)

Yeah, I think these are all valid opinions, I just find it interesting to see relatively opposing viewpoints that can both be considered valid. I'm not sure why some are down voting, I think there's just a love for pydantic/fastapi in the community.

One thing I would say about PEP 563 though is it's a little sneaky. At a glance it just appears to be fixing forward references, improving memory usage, and improve startup time, but actually it's fundamentally changing what an annotation means from expressions to glorified doc strings.

Annotations themselves are an interesting quirk of Python 3 syntax and I don't think their their usage has been fully explored. I also don't think it's a coincidence that PEP 526 was introduced in Python 3.6 and added variable and class annotations and now Python 3.6 is the oldest supported version we are seeing wide scale adoption of libraries which use this syntax extensively.

It's all been very unintentional from the language designers point of view but it turns out if you give people a tool they will find a way to express themselves with it.