4 ms·
For me Python feels like an accelerating train, as long as you are already on and don't get off then its great but it gets harder and harder to catch up for eve
by enragedcacti 4y ago
For me Python feels like an accelerating train, as long as you are already on and don't get off then its great but it gets harder and harder to catch up for everyone else.
I love stuff like 'match', the walrus operator, Typing, etc. but it definitely feels like a lot to grok and it will be increasingly hard for new programmers to read arbitrary python code without grokking all of the new stuff.
- Daishiman 4y agoIt's really not a lot to grok, at least by most other language's standards. PHP has a long history of doing things in a "right way" that subscribes to copying whatever one language is doing for 5 years. It first did things the C way, then the Java way, then got inspired by Ruby and Javascript, etc. The features are there, but executed in very awkward ways. Ruby as a language explicitly blesses many ways to do the same thing. Every new release in C# seems to bring in as many features as you'd get in 4 or 5 major Python or Java releases. I look at the Python I wrote 8 years ago and it's _fine_. Even Python 2.6 code written with large frameworks looks similar enough to modern Python. The same can't be said for Javascript, Java (Java's best practices have changed a lot since then), C++, or C#.
- vertere 4y ago> It's really not a lot to grok, at least by most other language's standards. Yes, but people have been attracted to Python largely because it's not like a lot of other languages. It is/was concise, simple, dynamic and fairly easy to learn. I think some of the new features, even if they don't make it a worse language, make it less "Pythonic", and so tend to undermine its comparative advantage. For experienced programmers the new features might not seem complicated, but python is used by a lot of people who are not in that category, including people for whom software development isn't their primary job.
- Daishiman 4y agoI agree for the most part; I have not seen the use of the walrus operator or many new features of the last two major Python releases. Nontheless, as a user of the language I just don't see people trying to contort their code to use these things. The community has less attraction to flashy features than other languages, so I don't see people getting compelled to use things they don't care for.
- vorticalbox 4y agoTypes are in typescript (which is also far more advanced) and I don't feel new developers really struggle with types unless they are really complex
- gswdh 4y ago
- xdfgh1112 4y agoI started learning python last year. There really isn't that much to the language even with the new features. It's nowhere near Rust or C++ for example.
- wheelerof4te 4y agoReally? Try using the new "match/case" keywords. Understand all of the most used cases. Try using a walrus operator in a multi-line if/elif statement or a complex comprehension. Try to understand the subtleties of the new dictionary merge operator. And the best one, try learning the typing annotations. All this on top of already complex OOP class system. Good luck.
- xigoi 4y agomatch/case is similar to other languages. Walrus is just assignment-as-an-expression. The subtleties of dict mergining don't matter 99% of the time. Type annotations are great and not hard to learn.
- xdfgh1112 4y agoI use all of those! I used to program Perl and Rust though, so maybe my preference for complexity in languages is higher than yours. I understand your argument though. If you picked Python because of its simplicity, and now it has a ton of new syntax and features, I can see how that would be difficult to tolerate.