4 ms·
> My fondest hope is that in the coming decades there arises a new, thoughtfully designed language with the Lispy flexibility of R, but also optional type safet
by ramblenode 3y ago
> My fondest hope is that in the coming decades there arises a new, thoughtfully designed language with the Lispy flexibility of R, but also optional type safety and static analysis affordances.
I think many of us saw Julia as the successor to R. Unfortunately, the package ecosystem---one of R's strongest points---still has a long way to go.
- civilized 3y agoI was excited about Julia too but it now seems to be a relatively niche HPC language. It's about saving CPU time more than user time. My sniff test for a successor language to R is whether it can replicate the tidyverse API with 100% fidelity. The API is already optimal for tabular data analysis, especially the dplyr core. It can be thought of as a specification for other languages to implement. There is a great deal about how R works that is negotiable. But if the language can't implement dplyr to spec, or somehow doesn't "want to", it's not the language for the audience served by the tidyverse.
- hadley 3y agoI love this framing :)
- civilized 3y agoFollow-up: I did a little legwork and found some Julia folks who were also inspired to implement tidyverse as faithfully as possible: https://github.com/TidierOrg https://github.com/TidierOrg Here's how dplyr-style chains look in their system: using TidierData using RDatasets movies = dataset("ggplot2", "movies"); @chain movies begin @mutate(Budget = Budget / 1_000_000) @filter(Budget >= mean(skipmissing(Budget))) @select(Title, Budget) @slice(1:5) end Not a character-for-character match to dplyr, but gets much closer than most other attempts!