@andrew
I noticed you're a fan of R, and I have to ask if you've played with Julia at all (the programming language, not some person 😂).
I teach a course that's mostly on R and wrote my first thesis in it+RMarkdown. Frankly, I have to say of the big data science/stats languages (python, R, julia) that julia really gets it the "most right" in most cases, though R is a decent alternative in certain cases.
The syntactic sugar and macros alone make julia super nice, and there are so many other handy tools, packages, and integrations (including with R and Python!) that I plug it to anyone else in the stats/etc space. If you want any more details, just let me know!
Long post ahead
@johnabs @andrew I love your detailed explanation. I used Julia for the last time >5 years ago and it seems to have changed a lot in the meantime. I love the idea of just-in-time compiling and not having to default to a lower-level language, but R has surely made me love C++ and now I use R as if it’s a C++ interpreter lol. Id love to see Julia grow and more people use Julia but still R seems too influential in statistics, for better or worse
Long post ahead
@johnabs @andrew omg yes, the silent runtime errors when using OOP! This irks me a lot and hence I don’t really use classes. Also C++ classes are all about ownership and it becomes one hell of a mess when I want to do stuff with pointers and I can’t for the life of me bother learning smart pointers. That’s the line I draw ✍️
Hm maybe it’s time for me to play around more with Julia
Long post ahead
@daeyoung @andrew My first programming language was java…I have a special hatred in my heart for OOP, and I’m glad things like scala/clojure etc. exist on the JVM to make it actually useful 😂
My number one recommendation before diving in is installing DrWatson to make package management easier and to prevent dependencies from clogging up your main environment, but reach out if you’d like more! I’m always happy to make conver- I mean, umm…show people alternatives…MUHAHAHAHAHAHA 😂
Long post ahead
@daeyoung @andrew I'm glad you liked it! I had it pegged at 35% of people liking it and 65% of it being ignored 😂
Personally I find C++ really really gross; hence my desire to use something that can provide near equivalent performance in certain contexts, but without the icky syntax, header files, and focus on OOP (which I try to avoid due to the issues with finding state-induced, silent, runtime bugs).
One minor point I will add: RCall and Pycall are very mature, so if you want the best of both/all worlds, you can use Julia, or R, for the bulk of the code and integrate R into Julia for ease of use and more familiar libraries or performant Julia into R so you can start bypassing the horrors of C++ 😱