Biostar Beta. Not for public use.
Should I Start With Python 3?
5
Entering edit mode
6.1 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 • 2.1k views
ADD COMMENTlink
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 REPLYlink
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 REPLYlink
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 REPLYlink
4
Entering edit mode
3.7 years ago
Ben ♦ 2.0k
Edinburgh, UK

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 COMMENTlink
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 REPLYlink
3
Entering edit mode
12 months ago
Leandro Lima • 920
San Francisco, CA

A related post/discussion: http://jakevdp.github.com/blog/2013/01/03/will-scientists-ever-move-to-python-3/

ADD COMMENTlink
0
Entering edit mode

Great link, thanks

ADD REPLYlink
1
Entering edit mode
15 months ago
Medhat 8.3k
Texas

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 COMMENTlink
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 REPLYlink
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 REPLYlink
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 REPLYlink
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 REPLYlink
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 REPLYlink

Login before adding your answer.

Similar Posts
Loading Similar Posts
Powered by the version 2.1