Live data from Hacker News

Python 3 can revive Python

medium.com

81–90 of 242 posts

Re: Python 3 can revive Python

#81
post #49

Python needs to be revived? I always thought of Python as being a great utility programming language. It's not really a specialist, more of a jack of all trades. For example PHP is all about web development. Ruby is probably most well known for Rails and also widely used for web development. Python is widely used for web development, but that's not necessarily the first thing you think of for Python. What's going to…

We see Golang in production in our practice pretty regularly. Not many shops use it exclusively, but it pops up in backend systems. You're right that there are things Python does that are painful in Golang (SQL databases are a good example), but the things Golang does better than Python/Ruby, it does way, way better than Python/Ruby.

Python is, of course, ubiquitous among startups and west coast tech companies; it is basically Startup Java.

Re: Python 3 can revive Python

#82
post #24

That pretty much reiterates my points from last time we discussed (not many hours ago). https://news.ycombinator.com/item?id=7801004 Besides what already was said. It is also important to emphasize that Python 2 is already pretty good. So it is not that Python 3 is bad, it is just that it is very hard to improve on 2. Ironing out the warts is good, but this was not the right time. This should have happened 7-10 years…

Exactly. Python and JavaScript is a perfect demonstration of "worse is better". Python 2 is a vastly better language than JS, avoiding nearly all of its design misfeatures and having actually useful built-in types and standard libraries. Yet while Python spent a decade to go from 95 to 99 percent purity, JS took over the world through sheer ubiquity.

Re: Python 3 can revive Python

#84
Breaking backwards compatibility is a sure way to kill off a language / alienate a user base. That's a big reason why c++, Linux, PHP, etc. still exist and are used today.

Python 3 seems hellbent on taking the Perl 6 approach. How's that working out? Languages should evolve, not break off into new species.

Re: Python 3 can revive Python

#85

http://legacy.python.org/dev/peps/pep-3000/ Wow... that was 2006. Everything I've read in the PEP and mailing lists seems to imply that the contributors were doing their best to limit the scope of the backwards-incompatible changes to those parts that were deemed absolutely necessary. The point wasn't to break backwards compatibility to add new, competitive features. It was to make the incremental improvements to the…

Well, whose problem is it? Most people use Python in order to solve problems they have. If Python 2 solves their problems better than Python 3, they'll use Python 2. (And yes, "solves their problems better" includes "lets them continue to use an already-existing solution that works fine.") If the people developing Python want other people to use Python 3, they need to make it better than other ways of accomplishing the tasks they want to complete -- and that includes being better than Python 2. It's not the responsibility of the community to move to Python 3 for the sake of the Python developers.

Re: Python 3 can revive Python

#86
post #36

Python 3 isn't really good. It's not really bad, either. There's really not that many magic bullets (other than proper functional programming, maybe, which isn't about to happen in Python). People are leaving Python for Go because people have always left Python for fast compiled languages. Google ditched Python for C++ and Java. Java! I've seen a lot of projects get re-written in Java from Python, but no-one worried…

"People are leaving Python for Go because people have always left Python for fast compiled languages." I think the angst about Go comes from the fact that someone who leaves Python for Java may still come back, because you can develop far more quickly in Python than Java. But someone who leaves Python for Go probably isn't coming back... my experience is that it is slightly slower (10-20%, YMMV but we're certainly no…

I found to my surprise that these days Java is as productive as anything else. It's not like the early days anymore; modern Java has generics, reflection, now lambda; there would still be more finger typing than I'd ideally like, but the IDEs are more than good enough to make up for that, to the point that a nontrivial program now usually takes fewer keystrokes to write in Java than almost any other language.

Which of course reinforces your main point: nowadays the language differences just aren't that big.

Re: Python 3 can revive Python

#88
Why doesn't anyone seem to think the full number tower in python 3 is great? It seems to always be left out of discussions like this ... but I think it is a great and very "pythonic" thing to add to the language.

[edit: because the numeric tower wrt integers wasn't new in python3, just other parts of the number hierarchy... see below]

In that light I think unicode also makes more sense: text is text and numbers are numbers. Done. No need to think about it.

Yes, it does break with python2 -- but python2 isn't going anywhere.

As for the GIL -- is it really such a big deal any more? I know that forking processes on Windows used to be hopelessly slow -- maybe it still is? But it's been pretty lightweight on Linux for the longest time -- and as we're getting more and more (logical and physical) cores -- with all the cache-coherency issues that come with it -- isn't multiprocess a pretty sane programming model?

Yes, a solid actor framework would be nice -- but that would also mandate some form of change to python.

If there's something I'd like to see, it's a clean interface between rust and python (rather than having to fall back to c for high performance code).

But I don't understand the people that hold up Go as the terrible threat to python -- sure there are a lot of people that will move from one to the other -- but the languages are so different that the comparison really doesn't make any sense. The one thing they do have in common is a strong vision and focus on simplicity -- but they articulate that vision and focus quite differently.

For those that want "faster" python -- why not use nimrod? If you want something "faster" and "more embeddable" why not use lua? I can't see a good pythonX that is better at either of these two in the areas where they excel. If you want actors, why not use Elexir?

Personally I'd probably enjoy a Smalltalk/Strongtalk that had a slightly more complicated syntax than traditional Smalltalk -- borrowing from python (say indentation for blocks, some way to define infix messages/operations) -- but I'm not under any illusion that such a language would be a better python.

Re: Python 3 can revive Python

#89
post #88

Why doesn't anyone seem to think the full number tower in python 3 is great? It seems to always be left out of discussions like this ... but I think it is a great and very "pythonic" thing to add to the language. [edit: because the numeric tower wrt integers wasn't new in python3, just other parts of the number hierarchy... see below] In that light I think unicode also makes more sense: text is text and numbers are n…

No matter how fast the OS can spin up another process, you still have to contend with the overhead of Python initialization itself.

And I don't quite understand what you mean by the "full number tower".

Re: Python 3 can revive Python

#90
post #29

Python is not dying and if so, Go would not be the reason why. Sure, Python is not functional, not compiled, not mobile, not Rails and not in the browser. But I can not imagine the languages, which are all this, to spread so nice and readable from command line scripts to scientific computing to big server applications. Python's use cases will not go anywhere, so don't panic: Python is doing just fine and improving in…

> Python is not dying and if so, Go would not be the reason why It is a death by multiple paper cuts. Go is just one of the cuts. Besides Go (and others have mentioned so I am just repeating them). There is Node.js (Javascript), Rust, Dart, Clojure, Julia, C++11, Java (due to Python never making it far on Android). Not one is enough to eat Python's lunch as they say, but they all are taking a little nibble and soon e…

I think many programmers (myself included), use more than one language at the same time. At the moment I use VB, python, flex and java, for different environments and different problems within those environments. If I want to quickly do something, for instance manipulating a CSV file, Python is my goto tool. And this is the reason Python will be popular for many because it can do certain things very fast and with minimum of fuss. Therefore I think Python will be around for awhile.
Post reply on HN