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 of them extremely well. So it seems to me that the underlying language matters less than ever.
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 asynchronous communication start to intervene. If programming were Non deterministic , C's undefined behavior wouldn't exist; everyone would have prevented it.
R these days mostly uses the tidyverse, which feels like a variant of DOP (Data-Oriented Programming). It's a kind of data flow, so it's different from typical OOP. I also occasionally work with statisticians (being a freelancer, ETL work is more common than you'd think), and I know what you mean by Stan and PyMC. I know they're powerful tools for Bayesian statistics and multilevel modeling. I know the basic syntax and examples, but I wouldn't say I know them well. My level is mainly focused on the scientists who hire me, and those tools still don't come up often in my country.
That said, I think we differ on the bigger picture because academic code isn't everything. Academic code is typically algorithm‑centric, like LeetCode problems, but most production work revolves around code hygiene and responsibility (algorithms are usually already established ones). Anyway, that's not the main point. What you said is mostly correct, but my focus was on something else: even people who studied at that level can be surprisingly clumsy at expressing themselves through programming. Regardless, thanks for your input, and I agree that AI is good at programming. But using a programming language generally means understanding its tradeoffs, and R is tricky in that regard since it feels like a mix of OOP and DOP variants
You don't have to use tidy verse. I never reached for it since base R does it all already. I write in a functional approach though and I understand a lot of pythonistas and others prefer the object oriented approach. R written in a function approach is lean and mean. Use your apply functions, kids.
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.
Picking up on some dunning kruger effect here.
Programming isn’t even a field in the same way as prob&stats. Computer science does in fact have non-deterministic sub fields such as information theory.
There’ll always be boundary tending, true. Only a portion of CS deals with stochastic functions though, whereas all of statistics is stochastic. That makes a big difference, bc the world is complex.
Information theory doesn’t even incorporate utility.