4 ms·
I don't know if it's impressive or worrying regarding how much Posit/RStudio as a company have completely taken over a programming language. I have colleagues
by _Wintermute 4y ago
I don't know if it's impressive or worrying regarding how much Posit/RStudio as a company have completely taken over a programming language.
I have colleagues who write R code all day, and they don't know the difference between RStudio the IDE and R the language. They can't perform basic tasks such as defining a function, or adding a column without the tidyverse.
- fbdab103 4y agoI see that same thing all the time. RStudio = R, and they have no concept of the language without the IDE. Which is fine, I guess? They are not professional programmers, but people with a job to do. It is just frustrating to me when they RShiny all the things, and I have to pickup the pieces because the spaghetti has collapsed under its own weight.
- peatmoss 4y agoI see it a little bit more like a meritocracy in that space that RStudio has largely won. Microsoft has certainly made an attempt to become the face of R. Remember when they purchased Revolution Analytics and started baking it into everything? Or how about Oracle making a play on Graalvm with "FastR"? RStudio has somewhat indefatigably looked for pain points that R users had back in the olden days. And yes, I remember R back when lattice plots were the hottest game in town. Not only has the Tidyverse made R infinitely more pleasant to work with, the community around Tidyverse has made the R community infinitely less insufferable for newcomers. The obtuse responses to beginners on the old R mailing lists were legendary. My preferred R IDE is emacs, and I'm not upset with what RStudio has done. When I interact with devtools, I don't feel that I'm wanting for functionality. This is in spite of the fact that RStudio has heavily integrated devtools functionality into their IDE, and could arguably have made devtools less easy to work with using generic tooling. I understand the mediocrity of many RShiny applications in terms of how they are written. But, another way of looking at all those dashboards and interactive applications, is that they are AMAZING prototypes written by scientists, grad students, journalists, etc., who would have never been able to build them some other way. If we forced everyone to write these apps in Rust, of course the average quality would be higher, but we'd also have way fewer of them. Democratization of technology means that its users will be more... medium.
- fbdab103 4y ago>...who would have never been able to build them some other way... It has definitely become the best available MVP generator. I just wish I liked R more. Python still have nothing even close to how easily a novice can spin up a Shiny application.
- kgwgk 4y agoI'm not sure how usable it is, but Shiny for Python exists: https://shiny.rstudio.com/py/ https://shiny.rstudio.com/py/
- fbdab103 4y agoI think that package is still pretty early days, but does show promise. I was speaking less to the code and more to the ecosystem. If I tell someone they should use Streamlit/Dash/Shiny for Python, how do they get started? The beginner onboarding experience is horrible for someone without an existing programming background. Download Python, maybe instruct them to setup a "virtual environment", use this "pip" thing to install these packages, point them at a way to edit code, and try to give them a way to launch it. God help them if want to share their work. Huge amount of existing resources assume Linux by default or that people have any idea how to use Docker. While I hate...basically everything about the R ecosystem, the beginner experience is leagues better. Download RStudio. It will setup R, install packages, and has a big button that will launch the Shiny application. Straightforward guidance on how to get it hosted on an existing provider.
- peatmoss 4y agoJulia seems to be doing a better job catching up to R in this space than Python. I haven't used it personally, but the demos of Genie Framework are impressive: https://github.com/GenieFramework/Genie.jl https://github.com/GenieFramework/Genie.jl / https://genieframework.com/ https://genieframework.com/
- kuhewa 4y agoI write in R for much of my work days, and perhaps because I learned when the tidyverse was in its infancy (or before) I don't use much at all of its packages besides ggplot2. With the base r pipe operator I use zero dplyr and find most of its functionality has long existed in base R with functions like transform(). lubridate has a few good convenience functions (that ultimately I could do without), and I do like plotting in ggplot2 - in fact the latter is the only place I reckon there has been too much of a takeover because most plotting development effort I imagine is based on the grid and ggplot2 framework now. I do like tidyr::pivot_longer(), although it wouldn't change much if I had to use the less intuitive base R versions for dataframe manipulation. Your colleagues are probably a symptom of how low the barrier to entry has been made by the tidyverse moreso than indicative of a total capture of the language.
- jhbadger 4y agoI like the tidyverse in general, but I have to admit I've never gotten the hang of tibbles. I use dataframes because I like row names and pretty much every non-tidyverse package uses dataframes and row names too. I really don't understand why row names (a basic feature of R) are viewed with such disdain by the ecosystem and can't be set using tidyverse functions like read_tsv. I generally end up converting them to dataframes after using them.
- jhbadger 4y agoMost R programmers are scientists or statisticians though. They aren't programmers in a professional sense. They are using a tool to get things done for their real work, and if RStudio helps them, so much the better.