Earlier quoted context omitted.
> I just don't see a better alternative Julia?
The biggest Julia cheerleaders gave up years ago. That doesn't mean the language is dead but it's not a great sign for a niche lang
A newcomer’s (angry) guide to R
161–170 of 232 posts
Re: A newcomer’s (angry) guide to R
#162HN is predisposed to hate R because everyone here is coming from a "real" programming context. Their concerns are generally valid, but they should keep in mind a lot of people using do not have a software development background and do not care that the language is not elegantly designed: they just want to get analytical work done. In that respect, R is far, far superior to Python. Even something as simple as installi…
HN is predisposed to hate R because everyone here is coming from a "real" programming context. There is that. Matlab has the same problem. One problem with "real programming languages" is that programmers who grew up with C don't see any need for built-in multidimensional arrays. This is one reason FORTRAN is still around, and why array work is straightforward in Matlab and R.
Re: A newcomer’s (angry) guide to R
#163Earlier quoted context omitted.
Well pip install library needs root, which you probably don't have. So now you have to teach them about making, and acitvating, virtual environments. Also, they can't easily search through the packages in a nice GUI and just click on the one they want to install.
This is bad advice. Pip should be used in virtual environments, and not to install system packages
Re: A newcomer’s (angry) guide to R
#164Re: A newcomer’s (angry) guide to R
#165 # type r = { mutable x : int };;
type r = { mutable x : int; }
# let y = { x=10 };;
val y : r = {x = 10}
# y.x Re: A newcomer’s (angry) guide to R
#166Earlier quoted context omitted.
try pip install --user or virtualenvs
Ubuntu doesn't ship with pip or virtualenv. In fact it ships with a version of Python where the built-in equivalent to virtualenv, pyvenv, is explicitly disabled. So you have to install extra Python packages, as root. You have to have that Python experience that guides you to install as few of them as you can, just enough so you can get started with a virtualenv, so you don't end up relying on your system Python envi…
On Windows, meanwhile, the standard Python installer gets all this set up properly in like three clicks. Better yet, because it installs per-user by default, "pip install" just works. And if you still choose to install it globally, it will fail, but it will tell you exactly what you need to do to make it work:
Could not install packages due to an EnvironmentError: [WinError 5] Access is denied: ...
Consider using the `--user` option or check the permissions.
One can't help but wonder how we ended up in a situation where the most popular Linux distro somehow does Python worse than Windows.Re: A newcomer’s (angry) guide to R
#167I use R a lot and I have to say some of these comments are weird. 1. R and Lisp are hardly alike even if it was inspire by it. It's like saying Erlang and Prolog is very similar. If you want learn FP do it in Erlang, Lisp, Haskell, etc.. Don't do it in R, it's half baked. 2. R syntax is ugly with warts. But built in datatype like dataframe, factor type, NA (missing value notion) value, make this language much better…
They are very alike in the underlying core design, not in how you use them.
In R, everything is an expression, and every expression is a function call. Even things like assignments, if/else, or function definitions themselves, are function calls, with C-like syntactic sugar on top. You don't have to use that sugar, though! And all those function calls are represented as "pairlists", which is to say, linked lists. Exactly like an S-expr would - first element is the name being invoked, and the rest are arguments. And you can do all the same things with them - construct them at runtime, or modify existing ones, macro-style.
So in that sense, R is actually pretty much just Lisp with lazy argument evaluation (which makes special forms unnecessary, since they can all be done as functions), and syntax sugar on top. Where it really deviates is the data/object model, with arrays and auto-vectorization everywhere.
Re: A newcomer’s (angry) guide to R
#168I don't understand why HN hates R. HN loves lisp, and R as a language shares a much greater affinity with lisp languages than python or Go do. The language was born out of the original authors reading SICP (as statisticians). Sure, many of the users of R molded it to look like what they were used to (S), but that just highlights the powerful metaprogramming capabilities of the language.
Whoa there. I use lisp and R. While R evolved from lisp, which let's me understand how it does certain things, I don't know if I'd describe it as more like lisp than python. Indeed, the analogy I use to describe to friends why I have a strong emotional distaste for R is to use the following analogy: Imagine you grew up as a heterosexual male. In your early years, you have fond memories of a young girl whom you had a…
It absolutely is more like Lisp than Python, once you strip the syntax away:
Re: A newcomer’s (angry) guide to R
#169Earlier quoted context omitted.
I am always amazed when I hear that people use Python in any type of production pipeline.
Could you please elaborate on that? My company has tons of python code producing reports with reportlab, making UIs with PyQt5, as well as a multitude of small scripts to interact with MySQL. We’ve been nothing but happy with Python in the years of using it.
Re: A newcomer’s (angry) guide to R
#170Earlier quoted context omitted.
While I kind of want to agree with you, I just don't see a better alternative. Do you really want biochemists to have to deal with the horrors of C compilation? In production code I'm very glad my makefile tells clang to fail on absolutely anything, but is that the best we can do? Other commenters have pointed out ways to avoid dangerous things like integer division, but if you think R is hostile then please offer a…
> I just don't see a better alternative Julia?