[Rcpp-devel] Rcpp11 3.1.0 is on CRAN

Romain François romain at r-enthusiasts.com
Thu Apr 17 09:24:32 CEST 2014


Hello, 

(may contains traces of personal opinions)

My motivation for starting Rcpp11 were:
 - Assuming C++11, which is nicer to use and teach. Rcpp still wants to be compatible with older standard, which essentially means that even if I write something new using C++11, I still have to figure out how to write the same thing in C++98. 
 - modernize the code base. This meant let go of a few features so that we have what we keep better. This is incompatible with Rcpp’s maintainership policy. Last time I asked to remove a feature from Rcpp, I was told that it would take a year of deprecation. In Rcpp11, because I’m in charge I can decide to break stuff to make something better. 

Rcpp has been a great project to work on for me. I’ve learned a lot of C++, and I think I owe most of my C++ knowledge from involvement I have with Rcpp. But as far as I’m concerned, the string requirements take all the fun away. Working on Rcpp11 has brought fun back. I can innovate. 

There will always be some conceptual compatibility between Rcpp and Rcpp11. For example both have the NumericVector class to handle numeric vectors. However in that particular example, the implementation of NumericVector in Rcpp is too complicated, you have gazillion of constructors, etc ... hard to maintain, hard to document, hard to teach. 

Now that Rcpp11 can be used on current versions of OSX, recent enough linux, windows and even solaris (if you use gcc), what I would suggest is that you try it and come back with questions (not on this list though, please use the google group that is not strictly restricted to Rcpp questions). 

What might help you deciding is that in Rcpp11, we did not retain some features such as modules and date/time related classes. If your code uses these, then you should probably either stick with Rcpp or start motivating me for adding something along the lines in Rcpp11. There is still a need for something like modules, but not with this implementation. 

Now, as Dirk says, you can use C++11 with Rcpp. Just as much as you can use C++11 with vanilla .Call/.C. 

Personally I think the future of R and C++ is with Rcpp11. This is where I’ll focus my time. 

Romain

Le 17 avr. 2014 à 08:24, Søren Højsgaard <sorenh at math.aau.dk> a écrit :

> Dear all,
> My understanding is that Rcpp11 will employ features of c++11 (which is very nice) but other than that it is not clear to me how Rcpp and Rcpp11 relate to each other? Can I start to use Rcpp11 with my existing Rcpp-based packages or is Rcpp and Rcpp11 branching off in different directions?
> Cheers
> Søren
> 
> -----Original Message-----
> From: rcpp-devel-bounces at lists.r-forge.r-project.org [mailto:rcpp-devel-bounces at lists.r-forge.r-project.org] On Behalf Of Romain Francois
> Sent: 11. april 2014 15:26
> To: rcpp-devel at lists.r-forge.r-project.org
> Subject: [Rcpp-devel] Rcpp11 3.1.0 is on CRAN
> 
> Hello, 
> 
> I'll keep it short here. Rcpp11 3.1.0 was released on CRAN today. An announcement email has been sent to both r-packages and the new R and C++ mailing list. https://groups.google.com/forum/#!forum/r-and-cpp
> 
> Best Regards, 
> 
> Romain
> _______________________________________________
> Rcpp-devel mailing list
> Rcpp-devel at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel



More information about the Rcpp-devel mailing list