3 ms·
> The decision to adopt or avoid a language is always a mix of their perceived formal power (“Does this language even have this particular feature?”), employabi
by clircle 7y ago
> The decision to adopt or avoid a language is always a mix of their perceived formal power (“Does this language even have this particular feature?”), employability (“Will this language get me a job?”), and popularity (“Does anyone important use this language anymore?”).
I'm a statistician. I've always wondered what it's like to grapple with the question of what programming language to use. In statistics, the choice is very obvious: use R. If that's not fast enough, use Rcpp. This is definitely a good thing, because all academic statisticians in a certain age range speak R, so interfacing work is not so painful, but maybe a bad thing because statisticians don't really understand the pros and cons of many languages? If Julia blows up, maybe we will have to get smart on these differences.
Granted the workflow is probably the same in any language: clean data, model data, graph data.
- Areading314 7y agoA big drawback of R is that you can't embed it into a commercial application due to the GPL licensing (without releasing your source code). It's a fantastic language ecosystem though.
- einpoklum 7y ago> A big drawback of many commercial applications is their being non-free software, for which reason they cannot embed R. There, fixed that for you...
- xakahnx 7y agoThe bulk of this article is more about creating your own programming language to solve a particular problem or set of problems. Less about choosing between general purpose programming languages. Does your code often require the same boilerplate to get going? Do you have common tasks which are error-prone? There are syntactic or programming design reasons to use a particular language, or maybe the reason could be performance. Think of tensorflow for example, maybe it's familiar for some R programmers. Code written in a language designed for a particular purpose can be very elegant. I like [1] as an example. [1] https://docs.racket-lang.org/scribble-pp/html.html https://docs.racket-lang.org/scribble-pp/html.html