8 ms·
Because the future is whatever you're building software in today. For the vast majority that's still Python2. For those starting new projects that might be Go,
by BuckRogers 11y ago
Because the future is whatever you're building software in today.
For the vast majority that's still Python2. For those starting new projects that might be Go, Elixir, Python2 or Python3.
Just because some entity like the PSF declares Python3 the future doesn't make it so. Even if some people buy into it and believe it. It has to take over from the bottom up and its been floundering since 3.0 landed in 2008.
- andrepd 11y agoI don't see why, other than laziness to migrate existing projects.
- gdulli 11y agoIt's not laziness, it's basic cost/benefit evaluation. Many feel that 2.7 isn't lacking in such a way that 3.x offers so great a benefit as to outweigh its costs (effort to convert, loss of some portion of the long tail of available packages.) Others disagree. The success of 2.7 is an amazing thing. Most languages have one great major version, some have zero, Python has two.
- Twirrim 11y agoLaziness? It's non-trivial to migrate to Python 3 if you've spent any time building up any number of bespoke libraries. Look at it this way: 1) I can spend 2 days writing, testing, reviewing and pushing code that works perfectly fine in Python 2, or 2) I can spend a couple of weeks+ porting all the libraries I need for the tool to add python 3 support, maintaining backwards compatibility, fixing tests, reviewing etc. etc. etc., then spend 2 days to write the actual code I started out needing to do. Which one do you think I'm going to be able to justify, given there is always a backlog of work? Multiple weeks of developer time is a non-trivial expense. There has to be a significant technical advantage to justify the effort and for a lot of things that Python is used for there just isn't enough of one. I'm not anti-Python 3. I like it, in fact. Where I can use it, I do. It's just a lot of the time I can't because of all of the associated extra work involved.
- baq 11y agono idea what you're talking about. coding in python 3 at $WORK with couple dozen teammates since 2013.
- groovy2shoes 11y agoThis attitude is the exact reason why Python 3 hasn't been getting the uptake that was expected back when it was released. People who sit around and say "the future is today, and I already have Python 2 today" go on to start even totally new projects in Python 2, when they very well could and probably should be using Python 3. As the sibling comment points out, it's just laziness (and rationalization). There's no two ways around it. Like it or not, the fact of the matter is: for Python programmers, Python 3 is the future. It's really only a matter of time, even if it's much more time than was expected.
- Scarbutt 11y agoThis attitude is the exact reason why Python 3 hasn't been getting the uptake that was expected back when it was released. For me Python's strength is the libraries not the language, Python 3 decided to not support all this libraries, so calling it laziness for users to not immediately move to python 3 is a really bad way to put it.
- groovy2shoes 11y agoWho said anything about immediacy? Python 3 has been out for nearly 8 years. That's more than enough time to update libraries, especially given that the list of incompatibilities between Python 2 and Python 3 is tiny. So, what have the library developers been doing for the past 8 years? Probably adding features to the Python 2 version of the library. Why? Because Python 3 has seen low adoption. Why? Because the libraries haven't been updated yet. Why? ... It's an endless cycle. If people want Python 3 to be adopted more widely, they ought to adopt it themselves (and many programmers have, though clearly not enough).
- collinmanderson 11y agoLibrary support for Python 3 is excellent. https://python3wos.appspot.com/ https://python3wos.appspot.com/
- BuckRogers 11y ago
- X-Istence 11y agoWorking in open source on a variety of projects, many of us are starting to look forward to a Python 3 only world, and Python 2.x is not where we develop. You are going to start seeing libraries come out that don't test on Python 2.6 and don't work there either.
- skrause 11y agoWhen I went full-time Python in 2013 I directly started with Python 3. The new version of Python actually has a very healthy ecosystem, just about every good library supports it. By now the lack of Python 3 is actually a very good filter when choosing a library: To me it says badly maintained. Many of the libraries which do not support Python 3 are also still hosted on SourceForge.
- vph 11y ago>Because the future is whatever you're building software in today. This is a seriously unhealthy attitude for software engineering. This attitude will create legacy systems and legacy systems that will live on forever.
- Walkman 11y agoWhat's wrong with "legacy" systems which just WORKS and makes VALUE for people?
- vph 11y agoThere's not much wrong with such legacy systems. Unfortunately, they are more like exceptions. Most likely, your legacy systems break and you have no idea how to fix them. Or, you have to hire one guy for life because he is the only one who can maintain and fix your systems. And you pray that he doesn't get sick or hit by the bus.
- dang 11y agoWe detached this subthread from https://news.ycombinator.com/item?id=11542570 https://news.ycombinator.com/item?id=11542570 and marked it off-topic.