3 ms·
As a current R user, and former SAS user, can someone give me an elevator pitch as to why Julia is worth my time? I use a lot of the tidyverse and some more nic
by WhompingWindows 8y ago
As a current R user, and former SAS user, can someone give me an elevator pitch as to why Julia is worth my time? I use a lot of the tidyverse and some more niche epidemiology/stats packages in R, I'm also pulling in datasets on the order of 1-10 million rows from MS SQL.
- byt143 8y agoOne usecase: Do you want to do interesting cutting edge modeling of disease propagation dynamics or other complex systems simulation? Then check this out: https://julialang.org/blog/2019/01/fluxdiffeq https://julialang.org/blog/2019/01/fluxdiffeq Here's context : https://jontysinai.github.io/jekyll/update/2019/01/18/understanding-neural-odes.html https://jontysinai.github.io/jekyll/update/2019/01/18/unders... There's nothing else like it. Also here's the julia equiv to dplyr: https://github.com/queryverse/Query.jl https://github.com/queryverse/Query.jl
- currymj 8y agothe elevator pitch is, it's an easy to use language, you can vectorize things if you want, but also if you hand-write loops it will be very fast. Whereas in R, hand-writing loops brings you to the 3rd circle of hell [1]. the more general version of the elevator pitch is that being in an environment where all the code is written in one high-level language that is still fast is qualitatively different. you can combine things in all kinds of strange ways with surprisingly little work. I.e. the DiffEqFlux package takes about a hundred lines of code to glue together a GPU neural network library and some very advanced differential equation solvers. realistically, it sounds like you are hitting all of R's strongest points currently, though. I suspect right now you would be pretty dissatisfied with Julia. 1: https://www.burns-stat.com/pages/Tutor/R_inferno.pdf https://www.burns-stat.com/pages/Tutor/R_inferno.pdf
- vanderZwan 8y agoOn top of what else has been said: you can call R from within Julia with almost negligible overhead via RCall.jl[0], so you can still use code you have already written. https://github.com/JuliaInterop/RCall.jl https://github.com/JuliaInterop/RCall.jl