Hacker News new | ask | show | jobs
by zenlf 1595 days ago
On the contrary, I'm not a fan of R, I'm only a fan of Hadley Wickham and how the Tidyverse and ggplot2's API are designed.

They are just incredibly intuitive and easy to use. ggplot2 has fundamentally influenced how I think about plotting.

With my limited experience, I have never seen anything like it.

2 comments

If it wasn't for some of the lisp-like capabilities of R, you would never have tidyverse

EDIT: reference https://news.ycombinator.com/item?id=15869039

On the other hand, if it were lispiness that was the issue, surely xlispstat would be the winner. I love xlispstat. I used it in grad school in the 1990s and even maintain the github repository https://github.com/jhbadger/xlispstat . But the fact is xlispstat never appealed to the general statistical community and R did.
I thought xlispstat was a big deal in statistics at its peak? I suppose both R and xlispstat are (to varying degrees) lisp-based, so another way of looking at it is that statisticians like lisp?
I don't think it got as much popularity in its day as R does now, but it was popular to a degree. But that was also because at the time it was pretty much the only free statistics programming environment -- at the time the choice was either xlispstat or pay for a licence for S-PLUS, SAS, or the like.
Seconded. I was taught ggplot by a great stats professor and the framing of visualizations as a language (gg actually stands for the grammar of graphics!) describing the relation between data and visual elements (layers in the graph) really made something click.

The amount of consideration and careful design behind tidyverse APIs (tidyr, ggplot, dplyr) really astounds me. I've never felt the need to actually memorize any of them but they come to me so naturally whenever I type "library(tidyverse)". Very few DSLs, libraries or APIs have ever made me feel this way, and certainly NOT Python and the mess that pandas/matplotlib/scikit is. Even more impressive that he managed to build such a consistent layer atop the hack that is base R.

Note that I've nothing against base R. It really appeals to the hacker in me and it certainly has a ton of cool features (a condition system, multiple function evaluation forms - in what other language are `if`, `while`, `repeat` and even parentheses `(` and the BLOCK STATEMENT `{` all implemented as functions?) but damn if it isn't a mess of corner cases and gotchas.