5 ms·
I’m using R for a while in my current position, alongside some other programming languages, Python and C++. R is bar far the hardest to predict and read. Rstudi
by amirmasoudabdol 7y ago
I’m using R for a while in my current position, alongside some other programming languages, Python and C++. R is bar far the hardest to predict and read. Rstudio is terrible. It’s a wrapper around a “web app” and that simply doesn’t work well for something as complicated as IDE. To give an example, Rstudio does only one thing at the time, you are running a code, you cannot open a data frame even to look at it. Rstudio doesn’t at all behave likes any other IDE that you’ve seen either. Try to increase the font size and the whole idea scales up!
R by itself is a mess, and I don’t think I have to say much about that. R community is big and that’s good and bad. It’s good because amazing people are developing amazing packages for it. It’s bad because there is a lot of bad packages. It’s a lot like JavaScript community. I have a feeling the community has started to reward “having a package”, and everyone has a package.
Besides the quality of R packages and R being a strange programming language, R gets the job done. However, if your job is anything beyond some statistics and data processing, then good luck. I’m not saying that you cannot achieve what you want to achieve using R, however, good luck reading R code. I found it extremely hard to read R codes and so far 90% of codes that I’ve encountered have little to no comments.
- psv1 7y ago> To give an example, Rstudio does only one thing at the time, you are running a code, you cannot open a data frame even to look at it. This isn't specific to R or RStudio. Start running a slow process in your Python IDE of choice, and while it's running try to execute df.head() to view some data frame - you won't be able to see it regardless of the language or IDE (and for a good reason).
- amirmasoudabdol 7y agoI understand that good reason, it’s because scripting languages run on sessions. So, Rstudio couldn’t execute any new command while doing something else. That’s fine. What’s annoying and not ok is the fact that sometimes the entire interface freezes. UI has to be separated from the session and logic of the program. Rstudio doesn’t do this well.
- RA_Fisher 7y agoThere are a lot of really fantastic packages, too. Many are the only implementation of a certain stats tool in the world.
- CreRecombinase 7y agoEven if your job is beyond statistics and data processing, you're probably using R because the core of what your team is doing is statistics and or data processing. If that's the case, and if you're the computationally sophisticated member of the team, then shouldn't the onus be on you to understand/adapt to what your less "sophisticated" peers are using?
- amirmasoudabdol 7y agoI’m not sure why you brought this up. I didn’t talk about who should do what and whether people are doing things wrong. I said R is strange and hard to read and Rstudio is bad and should be more capable. Now, if I want to address your comment. I don’t think “this was the way things have been done here, let’s do it like that from now on” is a good approach. If there is a better way, even if it’s more complicated, at least it has to be tried and tested. If a more “sophisticated” tool proves to be useful, let it be. Not everyone in a team has to use the same set of tools, and if they see the benefit in something more “sophisticated”, they might want to try it, even if it was not explored before. People can learn, there is always a better way/tool and one tool cannot do it all.
- ttz 7y agoYou're entitled to your opinion. But perhaps it is more constructive to email R dev mailing list and suggest your ideas for improvement.
- mslip 7y agoIf you want to look at data frames as you run sections of your code you will have to use r markdown chunks.
- sxv 7y agoFelt the same way for years coming from the python world. The R for Data Science book[0] was a game changer in making R enjoyable for me. [0] https://r4ds.had.co.nz/ https://r4ds.had.co.nz/
- epistasis 7y ago> R being a strange programming language I'm probably an outlier, but I have to say that the language itself is one of my favorite things about R. Vector based, super powerful indexing of vectors, functional programming basics, lazy parameter evaluation, super convenient parameter matching and defaults, all these things make it super productive for me and let me deal with data far better than other languages. Matlab is similar in its ability to deal with data, but that's a language that feels far clunkier to me. Python has caught up with some of its packages, but it definitely feels bolted on instead of native to the language.
- xvilka 7y ago> Python has caught up with some of its packages, but it definitely feels bolted on instead of native to the language. This is what Julia aims to solve.
- iamcreasy 7y agoR language has many quirks. Here was an effort to list them: https://www.burns-stat.com/pages/Tutor/R_inferno.pdf https://www.burns-stat.com/pages/Tutor/R_inferno.pdf Also, the author of R language said the performance of R is sub-optimal. In his own words: https://www.stat.auckland.ac.nz/~ihaka/downloads/JSM-2010.pdf https://www.stat.auckland.ac.nz/~ihaka/downloads/JSM-2010.pd... Currently I am using PyCharm with R plugin that JetBrains released very recently. R Studio is very slow and buggy.
- epistasis 7y agoThat’s a very colorful document, reminiscent of the excellent Unix Haters Handbook, but the first chapter is standard floating point stuff, common to every language. It doesn’t inspire confidence that the writer bothered to learn anything about the domain before deciding to write and complain. Chapters two and three are the lesson to not use procedural language fundamentals if you want performance, and to instead use functional equivalents. Not exactly a language quirk. If somebody has only ever used 2000s-era Java and C# and those types of languages, functional style programming will be a strange beast. But python has enough functional style things such as lost comprehensions, and I hear Java and C++ have gained functional style programming too, so in this day and age I’m not sure that functional style programming should be considered quirky. The runtime performance is all due to the current implementation, not the language itself. I think JavaScript has far more quirks, it then it was also invented in an insanely short amount of time so that’s not too surprising.
- ekianjo 7y ago> It’s a lot like JavaScript community. Erm, not at all. You don't need a hundred packages to run a trivial application. Even R-base is reasonably powerful, and it goes to a complete different level once you use tidyverse as a layer to code everything for R.
- Gatsky 7y agoBackground jobs in Rstudio are coming: https://blog.rstudio.com/2019/03/14/rstudio-1-2-jobs/ https://blog.rstudio.com/2019/03/14/rstudio-1-2-jobs/ Also not sure you can criticize a whole language because some random code you read doesn’t have comments.
- thereby__ 7y agoThere actually here. They're really great for developing shiny apps. Set the shiny.autoreload option to TRUE. Run the app in the background and point your viewer to the URL et voila