Live data from Hacker News

Python 3.3.0 released

python.org

71–80 of 119 posts

Re: Python 3.3.0 released

#71

Earlier quoted context omitted.

Yes, I'm sure. I'm referring to scientific software - that is, software written in fields such as biology, chemistry, physics, and (non-computer) engineering. There are many grad students and professors in these areas who write software for their research that have no formal background in CS.

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

Yes, in those fields we literally "do write software more than anything" [else we do]. That is, most of what we're doing is writing software. So the fact that there's no formal training is a huge waste.

Re: Python 3.3.0 released

#72

Earlier quoted context omitted.

Yes, I'm sure. I'm referring to scientific software - that is, software written in fields such as biology, chemistry, physics, and (non-computer) engineering. There are many grad students and professors in these areas who write software for their research that have no formal background in CS.

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.

Re: Python 3.3.0 released

#73
post #18

Earlier quoted context omitted.

As a PHP developer I've been waiting for the web-dev group to jump on board with Python 3 before I make the switch. I'm hoping it will be sooner rather than later.

Is the difference between 2 and 3 so huge that it is not possible to make a jump?

Here is my thought process...

Regardless of how you feel about PHP, I've spent enough time with it that I can make it work and write good code, quickly.

I do want to switch to another language at some point (I'll leave the reasoning for that out of this discussion).

Why switch to Python 2.7 if it's going to be old in a year or two? Even if there isn't a huge difference between 2.7 and 3.x it sounds like it would be a nightmare trying to upgrade any of the old work that I would have done in 2.7. So either I've got some projects that will be on 2.7 forever, or I go through the hassle of trying to upgrade. I'd rather just wait and avoid the whole debacle.

Re: Python 3.3.0 released

#74
post #58
post #43

Earlier quoted context omitted.

And 80x is apparently actually an understatement, at least for a few cases. Some numbers recently posted to python-dev show up to a 124X improvement: Precision: 9 decimal digits float: result: 3.1415926535897927 time: 0.113188s cdecimal: result: 3.14159265 time: 0.158313s decimal: result: 3.14159265 time: 18.671457s Precision: 19 decimal digits float: result: 3.1415926535897927 time: 0.112874s cdecimal: result: 3.141…

Impressive stuff, though what struck me was the results, least accuracy wise and what rounding they using: Pi is 3.14159 26535 89793 238.... So I do wonder what rounding they are using, even truncating as I have (next digit 4 so good place to do that) then can see the last digit should at least be 8, worst case 7 and 6!! There again this may be a convention or result of the methord to calulate Pi. As for floats, well…

This is from the decimal benchmarks included in the python source[1], in the recipe given in the decimal documentation[2] the precision is increased for the intermediate steps of the algorithm so it gives the correct end result.

  >>> pi()
  Decimal('3.141592653589793238')
1. http://hg.python.org/cpython/file/344d67063c8f/Modules/_deci...

2. http://docs.python.org/library/decimal.html#recipes

Re: Python 3.3.0 released

#75
post #50
post #44

Earlier quoted context omitted.

Is this a 2x -> 3x gripe, or is there something specific in this release that breaks compatibility?

I gave up before this release. edit: oh my, that's a lot of downvotes for answering a question.

Python deliberately broke stuff in the 3.0 release, in order to get rid of some (minor) cruft, but other than that it is as backwards compatible as anything else.

Complaining about backwards compatibility on the 3.3 release news item makes people think you have some specific issue in mind.

Re: Python 3.3.0 released

#76
post #34

Earlier quoted context omitted.

I'm setting aside the question of whether or why to switch. I'm also setting aside the possibility of starting to learn now on Python 2.7, which is what I think you should really do assuming you don't intend to procrastinate it ;) Assuming you do want to wait on Python 3 adoption, your timing should depend on the framework you want to use, because effectively each one has its own community and ecosystem, and their ad…

I see a couple mentions in this thread of Flask taking a while to adopt Python 3. I am relatively new to Flask, could you explain why they are seemingly behind things in regards to Python 3?

There is some work currently going on to make Flask run on Python 3.2.

https://github.com/puzzlet/flask/commits/py3-dev

Re: Python 3.3.0 released

#77
post #18

Earlier quoted context omitted.

Is the difference between 2 and 3 so huge that it is not possible to make a jump?

Here is my thought process... Regardless of how you feel about PHP, I've spent enough time with it that I can make it work and write good code, quickly. I do want to switch to another language at some point (I'll leave the reasoning for that out of this discussion). Why switch to Python 2.7 if it's going to be old in a year or two? Even if there isn't a huge difference between 2.7 and 3.x it sounds like it would be a…

There are ways to write Python2 code that will work when you make the switch to Python3. It _is_ a hassle, but it's quite doable.

This may not convince you (and I perfectly understand why), but I think it's worth giving Python a shot even if you're fluent in another language.

Re: Python 3.3.0 released

#78

Earlier quoted context omitted.

Yeah, a lot of research software in academia is written by grad students with no formal CS education who're just interested in completing their dissertation and graduating. After they've graduated and left, the codebase just languishes until the next grad student comes along, who spends a couple months trying to figure out all the spaghetti code and ridiculous hacks used by the previous student to complete their thes…

> a lot of research software in academia is written by grad students with no formal CS education Are you sure? Because that sounds like an complete oxymoron. You probably may have meant something else. Would you like to clarify on why grad students lack formal CS education?

A member of my family is a post-doc here at Stanford doing cutting-edge genetic research on cancer in one of the brand new bazillion-dollar buildings that just opened. I write code for everything; I'll probably be writing code to brush my teeth for me someday, so I've offered to teach him to program. He doesn't show much interest. He says that there is only one member of his research team who can code--the PI--and he only knows Perl ("which is what they used in his bioinformatics program"). But, "He doesn't really write code anymore."

I don't know why I'm always surprised to hear this. You'd think I'd learn. I recently asked him if his research didn't require a lot of gene sequencing and analysis of the sequences and if that wasn't pretty computationally demanding. "Oh, yeah, sure it is. That's why we outsource it."

Re: Python 3.3.0 released

#79
post #28

The real advantage here is the release of Armin's u'' syntax addition proposal: http://www.python.org/dev/peps/pep-0414/ In a nutshell, the 2.x version of declaring a unicode string is now valid (although redundant). From the PEP: In many cases, Python 2 offered two ways of doing things for historical reasons. For example, inequality could be tested with both != and and integer literals could be specified with an opt…

This would have made it so much easier to create a version of Crunchy that could run transparently using either Python 2.x and 3.x. However, as much as I applaude this change, there are others new features in 3.3 that are just as important imo.

Re: Python 3.3.0 released

#80
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…

Could you provide an example where a minor Python release broke your code and it was not a bug in Python?
Post reply on HN