I'm an `R` language programmer. I'm also in the group of people who are considered Data Scientists but who come from academic disciplines other than CS.

This works out well in my role as a Data Scientist, however by starting my career in `R` and only having basic knowledge of other scripting/web languages, I've felt somewhat inadequate in 2 key areas:

 1. Lack of a solid knowledge of programming theory
 2. Lack of a competitive level of skill in faster and more widely used languages like `C`, `C++` and `Java`, which could be utilizes to increase the speed of the pipeline and Big Data computations as well as to create DS/data products which can be more readily developed into fast back-end scripts or standalone applications 

The solution is simple of course -- go learn about programming, which is what I've been doing by enrolling in some classes (currently C programming). 

However, now that I'm starting to address problems #1 and #2 above, I'm left asking "*Just how viable are languages like `C` and `C++` for Data Science?*".

For instance, I can move data around very quickly and interact with users just fine, but what about advanced regression, Machine Learning, text mining and other more advanced statistical operations? 

Can `C` do the job? Or must I loose most of the efficiency gained by programming in `C` by calling on `R` scripts or other languages?

The best resource I've found thusfar in C is a library called [Shark][1], which gives `C`/`C++` the ability to use Support Vector Machines, linear regression (not non-linear and other advanced regression like multinomial probit, etc) and a shortlist of other (great but) statistical functions.


  [1]: http://image.diku.dk/shark/sphinx_pages/build/html/index.html