# Why I Can't Stand SAS (and even R)

#### Ackbach

##### Indicium Physicus
Staff member
This is an interesting topic! The software used in the academic math world is often very different than the business world from my experience. In school I used SAS and R almost entirely. Most companies today don't want to pay the huge cost of a SAS license and deal with the closed source nature of it either. R is still used for more advanced statistical projects I think, but Python has really taken over everywhere due to its extremely versatile nature.That's just my own view of the software changes and it's likely US centric.

So for this task though, I agree with @MarkFL if adding more languages is negligible then easiest to just add all of them or all within reason. Don't need to let something like highlighting syntax be the thing that makes a new user leave out of frustration.
I found learning SAS to be one of the most infuriating learning experiences of my life. Here's the contrast: I learned basic Python from this webpage in one week. At that point, I was good enough to be productive, and I had learned enough to do the code for TestScript, a LabVIEW/Python connector. I can't count the number of times I've tried to do something somewhat intuitive in Python, and it just worked! Or if it didn't work, it was very close to what did work.

In SAS, it was a completely different ballgame. I took up The Little SAS Book, pushed my way through 4 or 5 chapters of it in about six weeks, and found that my first attempt at doing anything never worked. Ever. Its syntax is the most obtuse, horrific thing I've come across in a long time. Its readability is terrible. Probably the only reason it's still around is that it can do any statistics you want, and it's supported by a company. But it's going to lose to R, because R can also do any statistics you want, and it's free. I'm not a huge fan of R's readability either, though. It's Python for me, because readability counts. And also because its syntax is so incredibly intuitive. It shortens developer time for small projects enormously.

Last edited:

#### Jameson

R's syntax is pretty standard functional syntax I think. You have base functions, variables, loops, etc. that are all used in a standard manner so I don't think it's bad to pick up. If you start using dplyr you can use a chain or piping type syntax that removes the concept of using nested parentheses like this: func1(func2((a+b)^2)). which gets really hard to follow when you get many levels into something and instead you can rewrite it as a very logical left-to-right flow like this: (a+b)^2 %>% func2() %>% func1(). This isn't an exact analog of Python syntax but it is much closer to the suffix style chaining of additional functions and operations to the starting point that Python uses.