Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Should beginners learn Python 2 or Python 3?
10 points by chirau on Sept 26, 2015 | hide | past | favorite | 11 comments
There are several individual opinions online on this matter but I wanted to aggregate the sentiment of a whole HN community. Please give your reasons for your choice if possible



Go for 3. Most Python 2 projects have plans or are in the process of transitioning, if that is keeping you back. Also, the two lines aren't as different as they used to be, as a lot of features get back-ported from 3 to 2.

Python 3 is IMO a much cleaner and friendlier language to work with than 2. Especially if you're doing anything to do with Unicode, Python 2 can be a real pain. Also, all real development is now taking place on the 3.x series - if you want to keep up, you'd better learn it.

This is a good overview: https://wiki.python.org/moin/Python2orPython3


This is my opinion, and it may be a personal one, but from an engineering standpoint, I think you should learn both. I think learning multiple languages can only benefit you (if Python 2 vs 3 can even be considered different languages).

When I first started learning to program, I thought of every problem in terms of C++ (the first language I learned).

It wasn't until I learned other languages, and really other paradigms (functional vs imperative vs constraint etc), when I really saw that a problem can be framed in so many different ways, entirely based on the language, and some of them are more elegant, more efficient, simpler, or offer some other benefit.

I think if you learn python 2, and really get to grips with it's pitfalls and other nuances, and then learn python 3, you'll get a better understanding into the changes between the two languages, and I think that will give you a better overall understanding. And IMHO, more knowledge is always better.


3 unless you have legacy code.

And even if you have legacy code, I'd learn 3 then learn the difference(s) required to use the legacy code.


I started learning Python a week ago and I sat in front of the computer for hours trying to solve the same dilemma. If you look at famous Python projects, eg Flask, they still advocate for Python 2 over 3 in their documentation[1]. I found it extremely unsettling, to find the python community still so divided, after so many years. I eventually decided to learn Python 3 because I couldn't accept the idea of learning a legacy technology. But until the important projects don't take a strong take in advocating Python 3, I fear the conversion from 2 to 3 will still take a long time. My hope is that the big Python players will start regarding Python 2 as legacy ASAP. From an outsider perspective, this python 2-3 seem ludicrous, and I am sure that it gives a very bad impression of the python community.

[1] http://flask.pocoo.org/docs/0.10/python3/


FWIW, that was written 2 years ago.


That's true, but even not updating such part is a symptom. I don't want to compare different ecosystems and culture, and I am very excited to starting to learn python overall, but you hardly see such things in a project of comparable size in the node or ruby world. As I said, I am loving python and Flask, but this is a symptom that the topic is not as hot as I though it should be.


Actually, the documentation has been updated, but on the development branch (http://flask.pocoo.org/docs/dev/python3/). I was just pointing out that what you were linking to was out of date.


"Should beginners learn Python 2 or Python 3?"

Yes, probably.


2 is a dead end, 3 on the other hand is the road. Where do you wanna go ?


are people still learning python? eons ago when I last looked at it, people were still making this very question LOL

it's the curse of open source software: as long as the source is out there, people with legacy software will continue updating it. Perl 6 was long in the making, never made any real inroads because all of its audience was already readily invested in perl 5.

it only really works with commercial tools, because people will whine much but eventually bend over and buy Microsoft's or Oracle's latest bloated money grabber. Because there's no option, right?


Not necessarily.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: