Should I Start With Python 3?
3
5
Entering edit mode
11.9 years ago

Hi all. I'm a second year molecular biology undergrad looking to get into bioinformatics. It's not in my program's curriculum, so I'm going to have to study it on my own. After doing some reading, i decided to start with python due to its accessibility to new programmers. My question is this- should i learn python 3, or should i start with 2.x?

python • 3.6k views
ADD COMMENT
0
Entering edit mode

Many of the important python libraries like Django don't support python 3.x yet. So it is safer to learn 2.7.x right now if you want to use those libraries.

ADD REPLY
1
Entering edit mode

Importantly most of the bioinformatics oriented libraries will be even slower to adopt the new Python version. As Ben states below switching to 3.2 later is not difficult at all.

ADD REPLY
0
Entering edit mode

Thanks for the reply. Yeah, that's why I'm hesitant to start with it. But i was thinking, it's going to be quite a while before I'm out in the field. Shouldn't i future proof myself?

ADD REPLY
4
Entering edit mode
11.9 years ago
Ben ★ 2.0k

I'd say start with 2.7 for now. Python 3 is the future of Python but there are many libraries you'll want to use which aren't quite ready for 3.x. The tides are gradually changing though, for example Django 1.5 has "experimental support" for 3. Other useful libraries NumPy and SciPy are already running on 3.2+. Syntactically, you won't notice much difference (other than the infamous print()) so either is a fine choice really, and if you become comfortable in 2.7 it won't be too difficult to change to the latest version.

ADD COMMENT
0
Entering edit mode

For most things you are likely to want to do your code will probably be pretty much the same. But yeah, starting with 2.7 is probably best for now, switching to 3.x will be a matter of learning the few things that substantially differ.

ADD REPLY
3
Entering edit mode
ADD COMMENT
0
Entering edit mode

Great link, thanks

ADD REPLY
1
Entering edit mode
11.9 years ago
Medhat 9.8k

i have a different sugestion that you should start with a compiled programming language and well structured like Java that will give you a solid back ground in programming and OOP concepts. from which you can transfer to any other language.

ADD COMMENT
2
Entering edit mode

Java is good if someone intends to be a developer. For scientists, Python is much better in developing compact and useful codes fast which increases productivity.

ADD REPLY
0
Entering edit mode

i am biologist i begin with php as start but Java learned me good practice programming and a lot of helpful stuff

ADD REPLY
2
Entering edit mode

I agree that learning good programming fundamentals will allow you to pick up any languages fast. But there is a significant learning curve to lower level languages. I actually think its easier to go from a interpreted language to a compiled language.

ADD REPLY
0
Entering edit mode

I would say something like ruby is better for learning OOP, and more useful for scientists. That being said, one can easily learn excellent dev practices in python to start with. MIT teaches their CS majors in python, for good reason.

ADD REPLY
0
Entering edit mode

While my first exposure to programming was in C, and very rudimentary in nature (no OO), I have to disagree. There is a very steep learning curve to lower level languages. Java gets around this a bit since you don't have to worry about memory management to the same degree as you do in C, but for most tasks in biology, scripting languages are far more flexible and practical. You can learn good programming techniques in almost any language.

ADD REPLY

Login before adding your answer.

Traffic: 2051 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6