Question: Should I Start With Python 3?
5
gravatar for miguel.gfc.martinez
6.2 years ago by
miguel.gfc.martinez50 wrote:

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 modified 6.2 years ago by Leandro Lima920 • written 6.2 years ago by miguel.gfc.martinez50

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 written 6.2 years ago by Pappu1.9k
1

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 written 6.2 years ago by Istvan Albert ♦♦ 79k

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 written 6.2 years ago by miguel.gfc.martinez50
4
gravatar for Ben
6.2 years ago by
Ben2.0k
Edinburgh, UK
Ben2.0k wrote:

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 written 6.2 years ago by Ben2.0k

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 written 6.2 years ago by Dan Gaston7.1k
3
gravatar for Leandro Lima
6.2 years ago by
Leandro Lima920
San Francisco, CA
Leandro Lima920 wrote:

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

ADD COMMENTlink modified 6.2 years ago • written 6.2 years ago by Leandro Lima920

Great link, thanks

ADD REPLYlink written 6.2 years ago by Ben2.0k
1
gravatar for Medhat
6.2 years ago by
Medhat8.2k
Texas
Medhat8.2k wrote:

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 written 6.2 years ago by Medhat8.2k
2

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 written 6.2 years ago by Pappu1.9k

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

ADD REPLYlink written 6.2 years ago by Medhat8.2k
2

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 written 6.2 years ago by Damian Kao15k

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 written 6.2 years ago by Richard Smith-Unna130

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 written 6.2 years ago by Dan Gaston7.1k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1243 users visited in the last hour