Hi, biostars. Sorry if this question is inappropriate, but i don't know other places i can ask this.
My situation is the following:
I've got an experience in c++ and Java both (at University) and also have industry Java SE, EE experience. Now i'm programming in Python/R mostly, but i started to feel, that i can be confident i am true programmer if i know one compiled language (Java or C++) and one script language to make some prototypes or pipelines (i've chosen Python).
The problem is i don't know, which of these languages in which field is used mostly in bioinformatics. And also i have to focus on one of them to study it well.
Can you explain me pluses and minuses of these languages and where in bioinformatics it is used. What language is better for bioinformatician. I'm interested in industry, applied bioinformatics only. And i understand, that Java is easier also and for majority of issues we don't need to get the speed C++ is allowed. But i'm very confused with that question. Please, help me to make a good choise.
Thanks a lot.
Hi, I think we had the language discussion several times, and imho it is absolutely futile. I don't think I can remember that at any time any language won the discussion in the long run. For an experienced programmer it does make arguably little difference which language you use because all are turing complete, and if you know one you know all. The conclusion is, it is mostly the libraries that should determine the choice. BioJava will never catch up, but it is there. For example, only for the ETE library I'd readily switch to python, for Bio* libraries the BioPerl library is undoubtedly the most mature and complete. All languages are equally bad and terrible https://wiki.theory.org/YourLanguageSucks but it doesn't matter. PHP is arguably the worst language ever designed, right after C64 Basic. Note how R is missing from that list (does that mean it is so good)?
NCBI Blast is C++, let me think a bit about a relevant and stable Java app...... FigTree (needs legacy Java on Mac) .... JalView
I see your point. Thanks. I don't want to discuss, just want to understand how it is used, where, why and choose my own item in this question. " For an experienced programmer it does make arguably little difference which language you use because all are turing complete" - huh, that's not completely true, i mean, that C++ is pretty hard to study and you can't know well C++ Java and bioinformatics tools simultaneously, but i want to be professional and don't want to know all languages superficially. That's the question.
Yeah, was not totally without seriousity. If you want to keep one foot in the door into industry, maybe Java? There you can get yourself these OCJP certifications, which maybe show something. Not sure if there is something like that for C++. Other possibilities might be C#, .NET, that is what a lot of companies outside bioinfo use. So, if you ever consider the possibility of working in a 'normal' company and not research, I'd go for Java, because of the higher demand.
Ok, thanks for your answer!
Then maybe Java.