johannes rara
2012-Aug-20 18:02 UTC
[R] What makes R different from other programming languages?
My intention is to give a presentation about R programming language for software developers. I would like to ask, what are the things that make R different from other programming languages? What are the specific cases where Java/C#/Python developer might say "Wow, that was neat!"? What are the things that are easy in R, but very difficult in other programming languages (like Java)? Thanks, -J
Matthias Gondan
2012-Aug-20 18:28 UTC
[R] What makes R different from other programming languages?
My vote: 1. Symbolic function arguments: fn = function(a, b) { a/b } fn(b=10, a=2) 2. Names for elements of a vector and matrices v = c(a=1, b=2) v['a'] = v['a'] * 2 same for matrices 3. about 10,000 user-contributed packages on CRAN 4. weird things like a = numeric(10) a[1:10] = 1:2 <no error message> a answer: five times 1:2 which guarantee happy debugging 5. and, of course, much built-in statistical stuff Am 20.08.2012 20:02, schrieb johannes rara:> My intention is to give a presentation about R programming language > for software developers. I would like to ask, what are the things that > make R different from other programming languages? What are the > specific cases where Java/C#/Python developer might say "Wow, that was > neat!"? What are the things that are easy in R, but very difficult in > other programming languages (like Java)? > > Thanks, > -J > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.
R. Michael Weylandt
2012-Aug-20 18:47 UTC
[R] What makes R different from other programming languages?
As a language, there are some nifty things about function arguments: http://blog.moertel.com/articles/2006/01/20/wondrous-oddities-rs-function-call-semantics. Lexical scoping + first class functions also come to mind. If we are thinking about libraries, graphics: http://addictedtor.free.fr/graphiques/ and look into ggplot2 (including the famous facebook world map) and statistical modelling (both base and in contributed packages) What are your developers interested in and we can be more specific? Michael On Mon, Aug 20, 2012 at 1:02 PM, johannes rara <johannesraja at gmail.com> wrote:> My intention is to give a presentation about R programming language > for software developers. I would like to ask, what are the things that > make R different from other programming languages? What are the > specific cases where Java/C#/Python developer might say "Wow, that was > neat!"? What are the things that are easy in R, but very difficult in > other programming languages (like Java)? > > Thanks, > -J > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.
Bert Gunter
2012-Aug-20 18:58 UTC
[R] What makes R different from other programming languages?
I think you would find it more useful to take a look at John Chambers' book: Software for Data Analysis: Programming with R. Much more authoritative and comprehensive than you are likely to get here. -- Bert On Mon, Aug 20, 2012 at 11:02 AM, johannes rara <johannesraja at gmail.com> wrote:> My intention is to give a presentation about R programming language > for software developers. I would like to ask, what are the things that > make R different from other programming languages? What are the > specific cases where Java/C#/Python developer might say "Wow, that was > neat!"? What are the things that are easy in R, but very difficult in > other programming languages (like Java)? > > Thanks, > -J > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.-- Bert Gunter Genentech Nonclinical Biostatistics Internal Contact Info: Phone: 467-7374 Website: http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm
johannes rara
2012-Aug-20 19:22 UTC
[R] What makes R different from other programming languages?
Thanks, the audience is mainly Java developers who develop tailored software for many domains. I think that they would like to have some answers to these kind of questions: - why should I learn R? - what are the specific use cases where one might think of using R? - in which area R is good for? - how R differ from other programming and scripting languages? - etc. My intention is to convince them so that they will try R on their own, and probably in some day start using R in their projects. Best regards, -J 2012/8/20 R. Michael Weylandt <michael.weylandt at gmail.com>:> As a language, there are some nifty things about function arguments: > http://blog.moertel.com/articles/2006/01/20/wondrous-oddities-rs-function-call-semantics. > Lexical scoping + first class functions also come to mind. > > If we are thinking about libraries, graphics: > http://addictedtor.free.fr/graphiques/ and look into ggplot2 > (including the famous facebook world map) and statistical modelling > (both base and in contributed packages) > > What are your developers interested in and we can be more specific? > > Michael > > On Mon, Aug 20, 2012 at 1:02 PM, johannes rara <johannesraja at gmail.com> wrote: >> My intention is to give a presentation about R programming language >> for software developers. I would like to ask, what are the things that >> make R different from other programming languages? What are the >> specific cases where Java/C#/Python developer might say "Wow, that was >> neat!"? What are the things that are easy in R, but very difficult in >> other programming languages (like Java)? >> >> Thanks, >> -J >> >> ______________________________________________ >> R-help at r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code.
Greg Snow
2012-Aug-20 22:57 UTC
[R] What makes R different from other programming languages?
I think the big unique thing about R is that it is both an interactive environment and a programming language. A new user can start it, enter some data, and compute same basic statics without ever "programming". A more advanced user can write their own function to automate common procedures or implement an new method. The journey from user to programmer is smoother that learning a macro language or API. Add to that the packages available (which could be programmed in other languages, but why?) and you have a very useful tool. On Mon, Aug 20, 2012 at 1:22 PM, johannes rara <johannesraja at gmail.com> wrote:> Thanks, the audience is mainly Java developers who develop tailored > software for many domains. I think that they would like to have some > answers to these kind of questions: > > - why should I learn R? > - what are the specific use cases where one might think of using R? > - in which area R is good for? > - how R differ from other programming and scripting languages? > - etc. > > My intention is to convince them so that they will try R on their own, > and probably in some day start using R in their projects. > > Best regards, > -J > > 2012/8/20 R. Michael Weylandt <michael.weylandt at gmail.com>: >> As a language, there are some nifty things about function arguments: >> http://blog.moertel.com/articles/2006/01/20/wondrous-oddities-rs-function-call-semantics. >> Lexical scoping + first class functions also come to mind. >> >> If we are thinking about libraries, graphics: >> http://addictedtor.free.fr/graphiques/ and look into ggplot2 >> (including the famous facebook world map) and statistical modelling >> (both base and in contributed packages) >> >> What are your developers interested in and we can be more specific? >> >> Michael >> >> On Mon, Aug 20, 2012 at 1:02 PM, johannes rara <johannesraja at gmail.com> wrote: >>> My intention is to give a presentation about R programming language >>> for software developers. I would like to ask, what are the things that >>> make R different from other programming languages? What are the >>> specific cases where Java/C#/Python developer might say "Wow, that was >>> neat!"? What are the things that are easy in R, but very difficult in >>> other programming languages (like Java)? >>> >>> Thanks, >>> -J >>> >>> ______________________________________________ >>> R-help at r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-help >>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html >>> and provide commented, minimal, self-contained, reproducible code. > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.-- Gregory (Greg) L. Snow Ph.D. 538280 at gmail.com
cberry at tajo.ucsd.edu
2012-Aug-21 03:18 UTC
[R] What makes R different from other programming languages?
johannes rara <johannesraja at gmail.com> writes:> Thanks, the audience is mainly Java developers who develop tailored > software for many domains. I think that they would like to have some > answers to these kind of questions: > > - why should I learn R? > - what are the specific use cases where one might think of using R? > - in which area R is good for? > - how R differ from other programming and scripting languages? > - etc.For that audience this might be a useful reference: http://www.springerlink.com/content/284141778194p522/ Evaluating the Design of the R Language (Objects and Functions for Data Analysis) Floreal Morandat, Brandon Hill, Leo Osvald and Jan Vitek>From the abstract:"This rather unlikely linguistic cocktail would probably never have been prepared by computer scientists, yet the language has become surprisingly popular." and "Using a combination of static and dynamic program analysis we assess the success of different language features." HTH, Chuck> > My intention is to convince them so that they will try R on their own, > and probably in some day start using R in their projects. > > Best regards, > -J > > 2012/8/20 R. Michael Weylandt <michael.weylandt at gmail.com>: >> As a language, there are some nifty things about function arguments: >> http://blog.moertel.com/articles/2006/01/20/wondrous-oddities-rs-function-call-semantics. >> Lexical scoping + first class functions also come to mind. >> >> If we are thinking about libraries, graphics: >> http://addictedtor.free.fr/graphiques/ and look into ggplot2 >> (including the famous facebook world map) and statistical modelling >> (both base and in contributed packages) >> >> What are your developers interested in and we can be more specific? >> >> Michael >> >> On Mon, Aug 20, 2012 at 1:02 PM, johannes rara <johannesraja at gmail.com> wrote: >>> My intention is to give a presentation about R programming language >>> for software developers. I would like to ask, what are the things that >>> make R different from other programming languages? What are the >>> specific cases where Java/C#/Python developer might say "Wow, that was >>> neat!"? What are the things that are easy in R, but very difficult in >>> other programming languages (like Java)? >>> >>> Thanks, >>> -J >>> >>> ______________________________________________ >>> R-help at r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-help >>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html >>> and provide commented, minimal, self-contained, reproducible code. >-- Charles C. Berry Dept of Family/Preventive Medicine cberry at ucsd edu UC San Diego http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego 92093-0901
Mark Dalphin
2012-Aug-21 03:49 UTC
[R] What makes R different from other programming languages?
I've read several replies to this question already and they seem to have missed the one point that most irritated the Java programmers to whom I tried to teach R. They HATED the "object-oriented" material, both S4 and especially S3, as it did not match the style of OO programming that had been pounded into them. The ones I tried to teach hated S3 and S4 methods so much, that some even refused to learn to learn them on the grounds that they "weren't OO". Now it could easily have been my approach as I was not well equipped at the time to "compare and contrast", never the less, I would approach this aspect carefully as the two approaches are so different. I guess the other aspect which I take the most time to describe to any programmer from other more traditional languages is the working with vectors. To use R effectively, you must move data in large chunks; the standard paradigm of looping over the data is the fastest way to write a slow program. I find it takes a good long while for programmers to make the switch to working with vectors (more than a month of use), but they grasp the concept quickly and like it. Cheers, Mark johannes rara wrote:> My intention is to give a presentation about R programming language > for software developers. I would like to ask, what are the things that > make R different from other programming languages? What are the > specific cases where Java/C#/Python developer might say "Wow, that was > neat!"? What are the things that are easy in R, but very difficult in > other programming languages (like Java)? > > Thanks, > -J > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >