Earlier quoted context omitted.
> Young people producing bad code is not surprising. They're your grad students, mentor them, and maybe they'll adapt to your ways of thinking. Or not. You’re right, mentorship is key and I do my best to suggest better practices. They are often quite happy to find out they can do more with less and can forget having to remember multiple additional syntaxes (looking at you “ggplot2”). I somewhat understand why R instr…
For doing "more with less" in graphics, I would rather learn a unique syntax for a package that is based on the grammar of graphics (ggplot2) than use a package with standard syntax and some other foundation.
Too many R packages: CRAN is inundated with submissions
61–70 of 85 posts
Re: Too many R packages: CRAN is inundated with submissions
#62Frankly the bigger problem is an over reliance among R instructors on the tidyverse, an ever-expanding ecosystem of redundant functions and anti-patterns. They’re teaching new R users that everything can be solved with yet another package import and skipping over teaching them how to use the already powerful and intuitive base packages.
I’m not saying it doesn’t have flaws, but the tidyverse is still the most coherent and functional ML/stat computing ecosystem I’ve ever used. R packages outside of the tidyverse can get pretty gnarly. Even the R stdlib is usually considered to be inconsistent and riddled with legacy cruft.
Re: Too many R packages: CRAN is inundated with submissions
#63CRAN is not a conventional package repo. Its audience is not really people who care about programming or software. It is a means to an end for them and slop is perfectly fine. The language itself is also very simple and has defaults that people don't even bother changing. For example the default output file name. It doesn't ask for an output file name when you save output. As a result of the above, it is full of pack…
> For example the default output file name. It doesn't ask for an output file name when you save output. I'm not really sure what output file even means for an interpreted language, but GCC doesn't ask either, it will spit out an a.out by default (not even .elf or something logical).
Re: Too many R packages: CRAN is inundated with submissions
#64Earlier quoted context omitted.
I’m not saying it doesn’t have flaws, but the tidyverse is still the most coherent and functional ML/stat computing ecosystem I’ve ever used. R packages outside of the tidyverse can get pretty gnarly. Even the R stdlib is usually considered to be inconsistent and riddled with legacy cruft.
I would be in minority. But, I don't like tidyverse ecosystem. I prefer data.table for most of my uses.
Re: Too many R packages: CRAN is inundated with submissions
#65Frankly the bigger problem is an over reliance among R instructors on the tidyverse, an ever-expanding ecosystem of redundant functions and anti-patterns. They’re teaching new R users that everything can be solved with yet another package import and skipping over teaching them how to use the already powerful and intuitive base packages.
People also saying python is better don't realize that R is basically like having pandas in the standard library. I don't think there is a better language for wrangling tabular data to be honest.
Re: Too many R packages: CRAN is inundated with submissions
#66Earlier quoted context omitted.
I couldn’t disagree more. The base packages are a complete mess. If R was subset to only the tidyverse 5 years ago then it wouldn’t have lost so much ground to Python in nearly all fields. Posit is obviously the only organization with the pull to do that, and I feel like they got pulled in 10 directions during the move to AI and trying to also support Python. R Shiny is dead too which sucks because reflex.dev just co…
Python is just such a good Swiss army knife and it's never a waste to learn: you can do data science and you can do almost anything else. It's the BASIC of the 21st century.
I mean one example is people routinely reaching for pandas. Pandas is basically just replicating base R data wrangling syntax.
Re: Too many R packages: CRAN is inundated with submissions
#67Earlier quoted context omitted.
Programming is a lot easier than statistics bc it’s deterministic, whereas statistics is stochastic (that extends and encompasses deterministic functions). AI speeds up learning, so I bet that’s what you’re noticing with R. As an aside, the best programmers these days are probabilistic programmers (who write stochastic functions). Our languages are Stan and PyMC. Both can be called by Python or R, and AI writes all o…
I partially agree, but I also differ on some points. The part I agree with is that probabilistic programming is difficult and that advanced programmers tend to enjoy it. Where I differ is on the claim that programming is deterministic. At the script level, programming is deterministic and sequential, but once it crosses a certain threshold, it becomes absolutely probabilistic. That's because latency, locks, and async…
I think saying academic code is algorithm centric is perhaps missing the larger userbase of academic code: not people writing the functions and vetting on simulated data, but the people actually using the functions on real world data.
This is why there is a seemingly uncaring attitude towards typical programming conventions. They do not matter. The code is pretty much a one off for the given analysis. It doesn't matter if it takes an hour to run or two weeks on the cluster. You are chasing the wrong dragon when you try and make your two week run time into something sensible. Spending effort on process for process sake and not the hypothesis building, discovery, and analysis.
It is a different planet than the world of professional CS where it is really about process and saving time and money, and results that aren't highly convenient to the bottom line are largely ignored. There is no bottom line to satisfy with research compute, only reporting what the evidence suggests and publishing this information.
Re: Too many R packages: CRAN is inundated with submissions
#68Earlier quoted context omitted.
I’m not saying it doesn’t have flaws, but the tidyverse is still the most coherent and functional ML/stat computing ecosystem I’ve ever used. R packages outside of the tidyverse can get pretty gnarly. Even the R stdlib is usually considered to be inconsistent and riddled with legacy cruft.
The core of the problem is that the tidyverse is trying to turn R into a user-friendly real-time calculator, rather than a tool for stable, deterministic, and literate data analysis.
Re: Too many R packages: CRAN is inundated with submissions
#69Earlier quoted context omitted.
The other half is: "What combination of packages and task views do I actually need to not reinvent the wheel for this particular type of analysis?"
And the third half is "what preprocessing and analysis methods I actually need". Because I have never met a person who is great at that last part (methods theory) and sucks at the others (technical implementation; because the same work and effort leads one to train both). The issue is that AI solves all these problems at once, which will probably result in more academics understanding their methods and choices in pre…
In other words, relieving the researcher of the slog of editing proposals, figuring out compiler configuration, and locating esoteric code from years past they can be judged on the quality of their actual contribution now that the menial tasks can be delegated to an LLM and reviewed by hopefully the expert researcher.
Re: Too many R packages: CRAN is inundated with submissions
#70Earlier quoted context omitted.
The core of the problem is that the tidyverse is trying to turn R into a user-friendly real-time calculator, rather than a tool for stable, deterministic, and literate data analysis.
"The real problem with this package is that it makes things easy, instead of hard"
I’m being rather charitable when I call the tidyverse “user-friendly”. That might be the goal of tidyverse devs, but it hasn’t been the reality since inception.
The point is even if we assume it is or will eventually become user-friendly, are we willing to accept the trade-offs that come with that?