matloff / TidyverseSkeptic

An opinionated view of the Tidyverse "dialect" of the R language.
525 stars 46 forks source link

The Law of Leaky Abstractions #36

Open BroVic opened 2 years ago

BroVic commented 2 years ago

I was reading an old article written by Joel Spolsky, co-founder of StackOverflow and the points he raised in it reminded me of this discussion. I don't consider myself an expert in software engineering, but the views set out are what I've intuitively held. This is why I am big on new entrants learning Base R before the Tidyverse.

In fact, whenever i train people to use R, I introduce them to R GUI before R Studio. When I first learnt R, I learned how to work in R Srudio via the scripting window. It served me well because I was involved in a consultancy that required some data analysis - nothing too heavy. However not long after that I got stuck when I was involved with another project where most of the work was done principally in the console. Worse yet for me, about a year later I took part in another where I had to finally learn to use ordinary R GUI.

I think it is better to teach people basic things, the fundamentals first, as a way of minimizing gaps in knowledge that may come to bite back down the line.

Here's the article - https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/

aphalo commented 2 years ago

Very good point! and thanks for the link. I would add that the abstractions in the 'tidyverse' packages are unstable because they are under almost constant revision, so new leaks appear regularly in them while older ones may be plugged. Previously working code can stop working because of this, so the need to understand the underlying R language and deeper layers of packages also concerns keeping old code working.

matloff commented 1 year ago

Yes, thanks for the link and comments. I do place huge emphasis on keeping things simple for noncoder beginners, and yes, I think RStudio gets in the way for them (and for me).