5 ms·
As someone that uses Python and R for data analysis, is it worth learning this language?
by gruglife 9y ago
As someone that uses Python and R for data analysis, is it worth learning this language?
- flavio81 9y agoYes, it is a nice language with clean syntax and high performance. Syntax is similar to python so it will be easy to learn for you.
- _1 9y agoI didn't find it worth the time. When doing HPC work, I really care about performance, and couldn't get anywhere near the speeds as C + MPI. If it's not HPC, I don't see a benefit over Python.
- gaius 9y agoNo. Not a knock on the language (I've never used it) but look at the R and Python ecosystems - it will be incredibly hard to replicate them. Then you have all the proprietary tools - MATLAB, Mathematica, Q etc - they aren't going anywhere. Then there's all the legacy FORTRAN code... If it's still around in 10 years then it might be worth looking at (but still probably not).
- ihnorton 9y ago> it will be incredibly hard to replicate them This is true, sort of. It was also true when people said the same about Perl (some people still say this about Perl!). Then Rails happened to Ruby, just as the web was going through another phase of explosive growth. Likewise, Node or Rust + GitHub effect. The point is not to compare the growth trajectories or projected peaks, but to emphasize the levering effect of an enjoyable language combined with modern collaborative development and infrastructure. A language doesn't need "everyone" to build a viable ecosystem, just a critical mass. > If it's still around in 10 years then it might be worth looking at (but still probably not). Knock on wood and all, but from past observation, I think Julia is at or very close to this critical mass already. I would compare Julia now to the SciPy ecosystem around 2009-2010. That's just when IPython was getting popular, early versions of Pandas were released, and people were starting to trust Cython. (I was a heavy Python user then, and frequently suggested it to Matlab users who had exactly your question even in to 2012-2013). There's already a surprising breadth of packages, they just need time to mature. Sometimes too many, actually -- I recently found three for a relatively obscure geophysics format I used to work with. That lever is big enough that people often don't mind rolling their own.
- kem 9y agoAs someone who used Python and R, and also Julia, my take on Julia has changed over time. My overall assessment is that yes, it's definitely worth getting your feet wet with. It has all the advantages of R or Python (for numerics, a point I will return to), but with much, much better performance. I feel like the syntax is also cleaner than either, although it has more of an advantage over R than Python in that area (I like Python's syntax more than R's). I had an experience of some prototype R code running for about a day without finishing. The same code in Julia finished in about 5 minutes. It was kind of the final straw that convinced me to gradually move. Since that time, though, there's one issue that's kind of nagged me, and has only grown over time, which is that Julia is kind of a niche language, like R. It's a big niche, and it might not matter, but over time I've come to appreciate the fact that Python is more general purpose. I am also watching as things like Kotlin, Scala, and Nim gain in popularity and in resources. I suspect that Julia will expand over time, but those others have a head start in some ways (even if they are behind in other ways). Like some others, I also had some experience of head-scratching changes that occurred with new API-breaking releases. They were subtle changes that were difficult to catch because they weren't deprecations or things that caused errors, but changes in how valid syntax is interpreted. I don't see that as a long-term problem, but it gave me pause. I guess the TLDR is: if you're interested, I recommend you dip your toes in it, if that works for you, but with some caution. I see it more as a replacement for R long-term than Python, and I see serious competitors rising in popularity.