can't agree more. R and Python are two quite different tools that have their own specific advantages. I use both.
I became medium good in R. I like that R is interpreted but I miss debugging similar to Java+EclipseIDE in R and full object orientation.
Did you face a similar decision: moving away from R and learning Python? Which disadvantages of R/advantages of Python made you switch from R to Python?
3 answers
Some of us have never "switched" and use both python and R on a daily basis due to their non-overlapping strengths and shortcomings.
R is a statistical framework, python is a generic programming language with a very large set of existing libraries for various taks. It all depends on the actual use case of the application you intend to create. Picking the right tool for the task makes it substantially easier.
Personally I am suspicious of IDEs like Eclipse and I often feel that they promote a type of behavior that makes software more complicated than it needs to be. Similarly object oriented-ness could be more a curse than a benefit. Thinking in functional terms as transformations leads to better code. This is just IMHO.
R is actually very good at functional programming, see for example: http://nsaunders.wordpress.com/2010/08/20/a-brief-introduction-to-apply-in-r/
Almost nobody discusses today the benefits of object oriented-ness, please take a look at Google and read the thousands of papers in software engineering. Additionaly, any book of Concepts of Programming Languages (try Sebesta) gives you an idea of which situations requires which languages, there is no unique answer, it's VERY context dependent.
First of all Python is also interpreted. And there are actually some IDE's available for R, for instance Rstudio. But to come back to your question. Just use what suits you or your goal, but if you want more power or advanced programming options you should use a real programming language.
I wouldn't say that python is a more 'real' programming language than R but I get your point and agree. If you want to do variety of things and especially something that is not related to statistics I would always choose python over R for the higher simplicity.
Log in to answer this question.
good decision, R is good for beginners ...easier to learn...but may not of "power" of phyton
subjective, not related to bioinformatics: please ask stackoverflow.com
@pierre: it will be closed there as off topic. there was a prior question like this and closed
http://stackoverflow.com/questions/1177019/what-can-be-done-in-r-that-cant-be-done-with-python-numpy-scipy
how can I repeal closing my question after I made a correction to it?
reopened since author has reformulated the question
reopened since author has reformulated the question - although the questions still feels a it broad
Agree with Istvan about question being too broad. Can you give example of what kind of biomedical application you are talking about? In my opinion their spheres of usefulness are highly non-overlapping. I would never use Python for array analysis, classification problems, survival analysis, creating certain kinds of visualizations, and other kinds of machine learning problems or statistics for which R is particularly suited. On the other hand you maybe don't want to use R for file parsing, apps requiring user interaction, etc.
"Full object orientation" isn't a meaningful term. In fact R has more object systems than many languages; 3 at the last count, these being S3, S4 and R5. The S4 model, having a generic functions and multiple dispatch, is arguably superior to Java's single-dispatch model for writing flexible code.
It's actually a meaningful term if you have been in the software programming field for a long time. Smalltalk is a full or pure object system. Not R, not Python, and certainly not Java for sure.
What does it mean, 'writing biomedical applications'? You want to produce quick scripts to solve daily problems? You want to build software used by thousands? What is the complexity of the problems you are trying to solve? Parsing files is not the same as building a pipeline to link genotypes to illness... Context is what people never put enough of in questions. Context provides limits within which an answer is useful or useless. No context, no useful answer ;) cheers
googleability ..