@poetgrant isn't that kind of what it comes down to? Minor syntax changes?
I remember changes to the gil, but i supposed those are handled behind the screens. And a lot of code is written to be compatible with both python versions anyway :)
@poetgrant well yes, if you work with strings it'll probably have an impact. Look at Synapse: they went from 2 to 3 and had almost 4x less ram usage and 50% less cpu usage (granted, Synapse may not be the best example of highly optimized software, but still)
@poetgrant It's not sooo bad, and syntax isn't important anyway, the venn diagram of (programming) and (no Internet) have almost no intersection 😉
I think when I see my script eating 25 MB of RAM it just drives me nuts because if that script was written in most other languages it would be more like 9 MB of RAM. I know it doesn't matter to.most people because they won't notice, but it frustrates me that Python was my first and most fluent language(no I'm not actually fluent)
@poetgrant At work my colleague is in the process of moving everything to Python 3. The time to move is now (for us, at least).
@poetgrant python3 became less “scripting” and more “programming” language, with all caveats. It has pretty different type system compared to python2, from 3.6+ adds type hints, from 3.4+ adds asynchronous operations (based on things existed in python from 2.4), also map, filter return now generators and so forth.
It became way more complex yet it takes way more memory and CPU compared to python2...
@poetgrant Yes, you should absolutely use Python3 for any new code, unless there's a very compelling backward-compatibility reason not to.
The improved built-in support for Unicode is reason enough on its own.
1) you deploy your project(s) on systems out of your control where you only have Python 2 available and no means of fixing it.
2) you have a FAANG-scale project written in Python 2 which depends on libraries that have not and will not be ported.
For literally every other scenario you should update yesterday.
@poetgrant Yes, use only Python 3 for new stuff. The big difference is full Unicode support, doing that right in 2 was insanely hard. 'print' being a function in 3 is kind of a trick to make you re-examine your old string code.
I have to say... I should.have posted about this a year ago when I first started looking at 3
@poetgrant Definitely move up with the times if you can. It's better in the more evolved variants of most languages. Especially the ones that are better supported with more refined features.
[ here comes the unsolicited recommendation ]
You could also break out of the cycle for a while and play around in Godot with GDScript. Python-like and you can build things MVC style and have some fun while you are at it.
Fosstodon is a Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.