Live data from Hacker News

Python 3.3.0 released

python.org

101–110 of 119 posts

Re: Python 3.3.0 released

#101

Earlier quoted context omitted.

Be careful what you wish for. The extreme alternative is Java, whose slavish obsession with backwards compatibility has effectively crippled the language. There's enough cruft in the standard library to keep newbies guessing for years, plus fundamental language design failures like type erasure and "beans". At some point you need to burn bridges in order to move forward. Doing this frequently destroys the community.…

I think in Python's case there was really no compelling reason to burn the bridges between 2 and 3. Burning the bridges should be done when something will be significantly improved.

I write a fair amount of Python 3 and I don't agree at all.

If your concern is that code written for 2.x won't work in the future, it will be some years until 2.7 is no longer getting security fixes etc. The mere existence of 3.x doesn't prevent you from using 2.7.

Re: Python 3.3.0 released

#103
post #33

Earlier quoted context omitted.

Django has unofficially supported python 3 for a year.

Wasn't experimental support only announced just over a month ago? https://www.djangoproject.com/weblog/2012/aug/19/experimenta...

There were unofficial versions of Django (forks, but not in the hostile sense) ported to Python 3 before that. The announcement marks the work being done in the main Django codebase, meaning that the next release will work on Python 3.

Re: Python 3.3.0 released

#104
Which Python version would you recommend to someone just starting to learn the language? I know "Learn Python the Hard Way" focuses on Python 2.7, and "Learning Python (4th Edition)" focuses primarily on Python 3.

Re: Python 3.3.0 released

#105

Earlier quoted context omitted.

OK - I think I'm surprised to know that those fields do write software more than anything. Thanks for the clarification.

I wouldn't say they write software more than anything. I would say that there's a steadily increasing amount of time and energy invested into writing software, and very poor coding practices are used because of their lack of a formal grounding in CS and their short-term focus on obtaining the results necessary to publish their next paper and/or obtain their graduate degree.

That's like a classic scientist - software engineer argument. The scientist says he wants to prototype with quick dirty code while the software engineer wants to write great refactored code.

Re: Python 3.3.0 released

#106
Attending PyCon Ukraine 2011 it was very interesting to hear about Distutils2. But I see that in the end they are still not in Python3.

But even without it I am going to try Python3 in my projects (hello Django 1.5, Tornado, Wheezy.web, jinja2 and a lot of others).

Re: Python 3.3.0 released

#107
post #17

Earlier quoted context omitted.

I work in both camps, and I always felt it was the web developers that were better about moving on to 3. Scientists in general are loathe to risk breaking well-tested code for the sake of new features. In my research group, in fact, we've just barely moved on to 2.7 from 2.4! I doubt there will be any motivation at all for moving to 3 any time soon.

I doubt that web developers are better about it, my reasoning follows: The #1 Python web framework, Django, is a bit ahead of the curve but still hasn't released a major version that supports 3. Django's huge ecosystem of addons are not going to catch up for some time after that. And users are not going to develop green-field Django apps on Python 3 until some time after that. So the timeline for serious use of Pytho…

At KyivPy#8 I heard about new lightweight framework supporting Python3 - wheezy.web. But as you said it is not a mainstream among web-developers.

I think the most popular Django apps will move to Python 3 as a lot of people are interested in it. Time show us how Django with Python3 support will change the current situation.

Re: Python 3.3.0 released

#108
post #85
post #42

I've done quite a bit of python development. One of the things that really bugs me about python is how they keep breaking older stuff. Other languages have been much more careful about maintaining backwards compatibility and I think that is a big factor in the retention of users. Having to re-do any part of your code from one release of a language to another became a real deal breaker for me. For an interpreted langu…

The problem is in the type system. Dynamic typing makes it difficult to ever change APIs, because a change could break anything that depends on them. pylint and other such tools help a little bit, but they can only do so much when the language doesn't support static typing. Another Python feature that makes upgrades hard is monkeypatching, where one piece of code can inject arbitrary code into another piece of code.…

Another Python feature that makes upgrades hard is monkeypatching

Although possible, it's my understanding that monkey patching is greatly frowner upon in the python community. I've been programming python on and off for a decade and can only think one time when I've monkey patched something, and I felt really bad about it. The only library that I know of that uses monkey patching is gevent, and it doesn't do it by default but only if you've explicitly told it to.

Re: Python 3.3.0 released

#109
post #94

Earlier quoted context omitted.

> The scientific group is pretty much on board with Python 3. Ah .. NO! I can assure you that we are still stuck with Python 2.x (2.7 to be more precise). I am not too sure the others would have moved either.

Can you list the reasons?

I deal with a lot of text data so I use NLTK for Natural Language Processing. In addition, maptplot lib for publication quality figures and graphs. I don't really have a motivation to shift to Python 3.

Re: Python 3.3.0 released

#110
post #42

I've done quite a bit of python development. One of the things that really bugs me about python is how they keep breaking older stuff. Other languages have been much more careful about maintaining backwards compatibility and I think that is a big factor in the retention of users. Having to re-do any part of your code from one release of a language to another became a real deal breaker for me. For an interpreted langu…

Be careful what you wish for. The extreme alternative is Java, whose slavish obsession with backwards compatibility has effectively crippled the language. There's enough cruft in the standard library to keep newbies guessing for years, plus fundamental language design failures like type erasure and "beans". At some point you need to burn bridges in order to move forward. Doing this frequently destroys the community.…

I don't think C# ever broke backwards compatibility and they have no problems adding plenty of nice features every release.
Post reply on HN