Hacker News new | past | comments | ask | show | jobs | submit login

Python 2 is still the only Python installed by default on many systems, Mac in particular.



If you're learning a programming language, your decision about which language to learn should not be driven by whether or not the language is preinstalled and you need to go to the trouble of installing one piece of software.

"I decided to become a Prolog programmer because it was the only thing installed on my machine."


I don't see anything wrong with that logic. It's not like I'm going to be using code that I wrote while learning in the future. And it's not like learning Prolog (or Python 2) will make me unable to learn other languages in the future.


Of course it should! That's how I got started programming 17 years ago. I never would have started programming if the first thing was to find a language and pick it. I absolutely started programming because there was a language there.

(In this case, it's both javascript and c, on linux, and VBA on Windows. I use none of those today but that doesn't matter!)


> "I decided to become a Prolog programmer because it was the only thing installed on my machine."

if only..


However, if you want to distribute software, it's reasonable to pick a language which will make your programs easy for others to install and use.


Sure it should! A lot of us got started when we only had a choice between BASIC or assembler and we turned out mostly just fine.


I disagree. 5 mins of work to install a new programming language impacts so much of what you do with that language and how you would deploy it in production environment. As the GP says - Python 3 is the future.

By this logic, we should be using IE on Windows.


> and how you would deploy it in production environment

We're talking about learning a new language, not deploying to production.

> By this logic, we should be using IE on Windows.

No, that's not what anybody said. This is about learning languages, not even using them. Using a language is different from learning a language in so many ways they aren't even comparable.

Millions of people could be learning a language for millions of reasons. Simple portability is useful - knowing a language that is preinstalled on a huge portion of computers worldwide has massive advantages for a huge number of people who are learning new languages today.

Dismissing the values that others might place in how they learn a language is being close-minded. There are lots of reasons to learn to program, and learning based on the language available to you first and most readily is certainly a reasonable approach.


> By this logic, we should be using IE on Windows

But, if you know nothing about the web and are just learning, and you've got a Windows machine, sure, use IE (or Edge, if it's Windows 10.)

Just like if you are starting from zero programming, and self-teaching, sure, use whatever is available in the base install of your OS.


5 minutes for you is not 5 minutes for someone new.


Could you please explain why? I am curious what are some of the roadblocks in installing Python 3 for a newbie?


Last time I tried to install python3 and pip on a Mac without root, I tried following 2 guides from the internet, both gave weird errors, and I gave up.

My "give up" was just install as root, system wide, but that's only because I have root access to my machine.


Mostly.


I've been stuck in a C# shop for a while but last I knew python 3 was/is dead and most developing opensource packages were not being converted.

Is there something useful that's only in Python 3?


Python 3 has has become prevalent in usage around 2013-2014. I don't know anyone who is starting a Python 2 project as of now. In terms of library support, as of 2018 you get more library support on Python 3 [1]. Some new libraries coming out may still support Python 2, but many are Python 3 only. For example the latest Tensorflow is Python 3 only if you want to install it on Windows[2] and Django back in 2017 has completely removed Python 2 support [3]

[1] https://python3wos.appspot.com/

[2] https://www.tensorflow.org/install/install_windows

[3] https://docs.djangoproject.com/en/2.0/releases/2.0/


>Python 3 has has become prevalent in usage around 2013-2014.

Citation needed. Back then it was at best at 20%, and even today it's not much more (source: PYPY download statistics breakdown).

>I don't know anyone who is starting a Python 2 project as of now.

I know several. Any company with lots of Python 2 projects that are not going anywhere soon (Google is one of them), is probably also starting new Python 2 projects alongside them, they won't add 2 different versions to cater to.


> Any company with lots of Python 2 projects that are not going anywhere soon (Google is one of them), is probably also starting new Python 2 projects alongside them, they won't add 2 different versions to cater to.

Citation needed.

Edit: Oh and Tensorflow for Windows is made by Google and it's Python 3.5 or higher.


> Is there something useful that's only in Python 3?

Most of the big libraries have supported both 2 and 3 for a while; that's changing soon, and not because Python 3 is dying.

IPython dropped Py 2 support in 6.x.

Django dropped support for Py 2 with Django 2.0.

Numpy drops new feature support for Python 2 at the end of this year (but will continue bugfixes for that last Py2-supporting feature release past that point), and all support for Python 2 at the end of next.

SciPy, similarly, has announced it will drop Python 2 support by 2020.

And lots of other libraries have sunsetted or announced plans to sunset Py 2 support quite soon.

Also—and a big driver—is that the Python Software Foundation has announced it will drop support for Python 2 in 2020.


Numpy drops new feature support for Python 2 at the end of this year (but will continue bugfixes for that last Py2-supporting feature release past that point), and all support for Python 2 at the end of next.

>SciPy, similarly, has announced it will drop Python 2 support by 2020.

And there's the reason I needed to convert, thank you.




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

Search: