4 ms·
I agree with alot of the authors criticism's. Julia's sweet spot seems to be anyone who needs to do statistical work who also has an existing C ABI based envir
by chollida1 12y ago
I agree with alot of the authors criticism's.
Julia's sweet spot seems to be anyone who needs to do statistical work who also has an existing C ABI based environment.
The ability to seamlessly plug in Julia to your production system via C code is a boon for those of us who have to use R in an "offline" capacity and then feed data to production systems.
The downside of alot of the Julia posts is that its not R. R, for better and worse, has many years of bug fixing and library design behind it.
I have yet to stump cran (http://cran.r-project.org/ http://cran.r-project.org/) when looking for a library and after 5+ years of using R I still am amazed that I can learn some new ability that ggplot can do.
My advice to people who ask what language to use is always, I think Julia is still a bit too early on to use unless you already know what code you want to write and are using a C based enviroment.
The reason is that most programmers just want to get one task done. They aren't an expert on the mathematical domain they are trying to use, they just want to plug their values into a library and get their results and maybe print them in a nice format. With Julia I still run into issues too often where you have to second guess the langugage or library and if you aren't fully sure that your math is right you tend to assume you are wrong:)
Otherwise use R. It just works and it will make googling for answers much easier.
EDIT replaced jvm with C ABI. Not sure how I made that big of a typo:(.
- peatmoss 12y agoI'm not sure you're talking about Julia here. Or maybe it has some way of interfacing with the JVM that I'm not familiar with? I've thought Julia's interop story had more to do with being able to interface with C code easily via LLVM. For the JVM, Clojure and Incanter seem like a better statistical bet. I heard they're moving toward a 2.0 release of Incanter too...
- synparb 12y agoCould you point to a link about how to seamlessly plug Julia into the jvm? I haven't seen any documentation or examples.
- KenoFischer 12y agoEven though there parent misspoke here, there's https://github.com/aviks/JavaCall.jl https://github.com/aviks/JavaCall.jl for interfacing with the JVM, though of course that's more the reverse.
- tenfingers 12y agoI would say Julia's target is much wider than R. R is actually a nice language (also with multiple dispatch!), but it's basically useless for any actual numerical work. Too slow. There have been efforts in the past to introduce a JIT compiler, but nothing has become mainline yet. The GC is also very poor. The actual base system in R is also very small. The built-in vector types helped the language mitigate the issue due to the fact that it's very easy to build a C extension that does the actual computation by just taking the underlying memory pointer (it's actually easier to do than python and it maps much better). But it stops there. If it wasn't for the large swath of statistical packages, R wouldn't have much traction. Not to mention that the code quality of the typical CRAN package is quite low, coming from people with a background in statistics and very little CS knowledge. The hope with Julia is being able to actually develop methods in Julia itself. I personally looking forward to replace python&c++ with Julia&Rust in the future.
- bachmeier 12y ago> There have been efforts in the past to introduce a JIT compiler, but nothing has become mainline yet It's been included in the default install of R since version 2.14. You can compile any function you want, and in some cases you can get a speedup of several times. Sure, you're not getting the speed of C, but it's there, it works, and in the future it will lead to much larger speedups. Some info and timings are here: http://www.rinfinance.com/agenda/2014/talk/LukeTierney.pdf http://www.rinfinance.com/agenda/2014/talk/LukeTierney.pdf The experimental version of the compiler can achieve speedups in the neighborhood of 20x.