Choice of programming language - (Sep/10/2012 )
I know people asking which programming language we need to study for programming. I guess we are at start of leaning programming for bioinformatics. If we get too much into many languages we will end up learning nothing. Better we start with most used one perl. At start point all languages after-all going to make same sense to us and that is- Nothing. We will know other languages when we can't do required stuff in perl. If anyone is interested in discussing other language, that person is welcome to start new thread.
What about ruby or python? Are not they more intuitive and therefore better for starting?
I want to start learning to code and I asked different people for advices. What do you think about ruby and python in general and in particular in the world of biology in comparison to perl?
To start with learning language we need to be familiar with language in which lot of previous programs are written. Bioperl it quiet lot of collection of already written codes, So I chose it. I would love to learn all bioinformatics languages but I have to start with one to understand pros and cons of these languages. May be starting with perl is good idea for me because I have studies it on my own for a while.
About your choice if you want to start with Python or Ruby that is fine. You start learning with it. Create thread for them, we will try to attend your queries. Diversity of peoples here will be going to make huge difference in long run.
I do not agree that if you get too much into many languages you end up learning nothing. I have taken a computer science course during my first year of university and the guy dragged us through 4-5 programming languages in one semester. His idea was that there are 4 types of programming:
-iterative: C, C++, Java, Python, Fortran
-functional: Standard ML
-assembler, machine, turing machine
so..let's offer students a taste in all of them. In the end of the course I was able to twist my mind in such a way that I would program in all of them. It is like a mental challenge if you want.
On the other hand, no offense intended, but as a biologist you don't need this mental exercise. Pick a language that most of the people are using (in your particular field) and that has the most open source scripts/codes ready to use for your purposes. You don't need to reinvent the wheel in another novel programming language. When in Rome you have to speak...latin. When in Bioinfo-land, speak Pearl/Python
+1 previous post. Perl was popular, it still is, for bioinformatics work but ...
There are too many ways to do the same thing, your code can look very different to another bit of code that does the same thing. Writing good perl isn't as easy as say ruby or python.
He should have had a look at this first:
Learn one or two scripting languages and the same for compiled. The more you know the better your code becomes, you start to think and write code differently ... Try functional
I would +1 for keeping all langs in the same space.
Also where is homebrew, that dude is handy with perl.
Though Python would be quiet new for me. We would start with perl and python simultaneously. Lets see if we can maintain pace in learning those.
look: ideally you learn as many as you can, but I can tell you from my own experience of being tired and having to program in the same night in 2 different languages for two homeworks for 2 courses. One homework went fine in C++. But when I switched to Fortran, in the middle of the night and the middle of the program I switched to C++ without knowing and then it had compilation errors and it took me a while to figure out what I was doing wrong (3 AM programming funny story)
So only I was thinking focusing on one language is good choice atleast at beginning.
Yes in your university courses you had to learn many language, plus you have this computer science expert guy to teach. If one is starting with all those stuff on his own it's gonna be tough. I do tried C, Java, Perl to learn at same time. But it's bit tough and when you get bored by all these languages you just stop then nobody is there to say don't stop it, lets try this new program. Afterall we miss university teachings then.
When learning on your own , you have to maintain interest in things you like. Better not to have too many interests to maintain otherwise it's gonna be more than 3 AM! and
Get yourself learning perl or programming perl aka the camel book. Avoid the x for bioinformatics.
Confusing fortran and c++ ... Sound like you should've used an IDE
I started first with Bioinformatics, I understand bioinformatics part quickly but programming part slowly. I have Camel book for perl, I will start with it. I was using Padre ( IDE for perl), trying to switch to shell Edit 2.