Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

" why bother learning Python 3?"

Unicode

And of course, you'll move from a platform that's shutting down to one that's evolving

Really, it's worth it.



Python 3 really is a superior language. It took all of the good parts from 2, and left the cruft behind. The downside is that there were so many good parts of 2, and so little cruft, that 3 isn't all that much different. However, it's different enough to break things.


Not to mention `yield from`, which is awesome. Iterators everywhere is a powerful tool.


Unicode works perfectly fine on 2.x.


The 2.x API is incredibly and almost unusably confusing to someone who hasn't already puzzled out the right ways to use it from the many wrong ways that are easier to find.

But that's OK, because 2.7 is exactly for the people who have to maintain old 2.x projects and people who never want Python to change again (and will just move to Rust or something soon anyway, instead of learning and using features in Python 3).


It's hardly shutting down if the support will last another 6 years ...


Well, if you were and are staying on Python 2.7, you are committing to anywhere from 6 (if you start now) to 10 (if you started day of 2.7.0 release) years of a frozen, non-evolving language. No new features, no improvements, nothing -- just the same language, for a decade.

If you can live with that, then by all means stick to 2.7 until your Red Hat support contract expires. If not, consider switching to 3.x.


    No new features, no improvements, nothing -- just the same language, for a decade.
Am I alone in being excited by this? I am figuratively drooling over such stability.


No you are not alone. But you are minority. Majority sees the language not as a tool to solve specific problems, but as a goal, i.e. a way to chase its own tail endlessly. Hence the rudderless pursuit of new. The whole industry is in ADD mode - they moment they create something useful, they discard it and start a new quest.


Projects which never improve get replaced in a few years by new projects which did things better, and by other old projects which improved.

This is not ADD, this is not rudderless. This is preferring actively maintained and improved things over old crap that never gets fixed


Try ANSI C then!


I heard Pascal is all the rage nowadays

Or a good, supported, still used and very stable language: Fortran.


Fortran's most recent standard (Fortran 2008, adopted as an ISO standard in September 2010) was actually adopted more recently than the 2.7 release of Python, so, arguably, Python 2.x has been static for longer than Fortran.

(Obviously, if you said, e.g., Fortran 77, the story would be different.)


Yeah. Actually, sarcasm aside, there's nothing wrong about using those languages at all.

The only pain point is Pascal's lack of a nice-sized community (and thus libraries, support for modern systems etc) nowadays.


Fortran=Math. Wherever there are projects solving math problems, they are running Fortran code. Or at best code ported from Fortran libraries.


If you prefer to work with a platform that will get only bugfixes/security updates go ahead

Potentially no new libraries (for new things and/or API connections)

Not sure how long new versions of existing libraries will keep 2.7 support.


No new libraries? I wonder if 2014's new Python implementation from Guido's employer Dropbox- Pyston, count as significant in your mind?

If you prefer to have no Google App Engine, Azure, Amazon or distro support other than Arch, then have at it. I'll keep that and PyPy, Pyston, Jython, IronPython, PyInstaller, not to mention all programs where Python is integrated like GIMP, all of this is Python2 only.

Enjoy your Python3. I'll stick with Python.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: