Most of the really rad tools out there use polyglot stacks, anyway.

There is no reason why you can't run a bash script that runs a python script 
(or some weird ancient legacy tool) to run some analysis that pipes a final CSV 
into an R script's dataframe for plotting using the prettyness of ggplot.


Programming Languages are for people.


________________________________
From: Discuss <[email protected]> on behalf of E.W. 
<[email protected]>
Sent: Thursday, March 31, 2016 2:51 PM
To: Matthew Gidden
Cc: [email protected]
Subject: Re: [Discuss] Any tips for learning R and Python?

If I am recalling things correctly, and this will certainly be contentious for 
some folk, but Python is a general purpose programming language while R is a 
statistical programming language.

I think it is generally the case that with enough hacking you can accomplish 
nearly any task with any tool, but some tools are more geared towards 
performing certain tasks.  I like to stress to brand new students that the 
question is never "can" but "should" or "which is easier?" when it comes to 
this kind of thing. Sometimes even a brutal hack is more efficient or mentally 
easier to accomplish than fighting to learn something in a new language that 
you aren't comfortable with. "I know this could be better R, but I need to get 
the job done. [translation: please don't judge my for loops]" is a completely 
sane and normal reaction.  Programming communities or those offering 
consultations shouldn't turn into handwriting judges.

This doesn't mean we should reject or toss away the importance of language 
idioms, but turn our attention to respecting that it's the research content 
that matters and not which plotting library or whatever else they used.  I 
think that SWC does a great job of this balance and showing it in action.

I don't believe there is a clear line to be drawn between Python and R, except 
in the cases when a specific package is needed and does not exist for that 
other language.  The choice between Python or R is never *just* about the task, 
but also about the skills, experiences, and support networks of the person who 
will be writing the code for that task.

Elizabeth
_______________________________________________
Discuss mailing list
[email protected]
http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org

Reply via email to