3 ms·
> Of course you can. There's packages, with excellent software engineering structure, that are designed to include documentation and tests. For me, the problem
by huijzer 6y ago
> Of course you can. There's packages, with excellent software engineering structure, that are designed to include documentation and tests.
For me, the problem with R is that the language is inconsistent.
Many packages arose to address many problems, but they all feel like a hack on top of the core language.
Take the whole Tidyverse; it just does dataframes from R core but then from the ground up.
Now, users can choose between the core language dataframes and the Tidyverse dataframes.
Same holds for plotting.
The core issue, I think, is that the core language misses some essential features which other languages do have nowadays.
For example, a type system.
In R, since types are missing, everything is a table (dataframe) which I find just weird.
> It's not cobbled together like JavaScript or bash.
But also not as good as my favorite: Julia.
Comparing it to Bash is like saying that its better than COBOL.
We all know Bash is quite old, but for certain situations it just works.
- epistasis 6y agoThe tidyverse is the benefit and the curse of metaprogramming, something that R takes from lisp, and something that has cursed (helped?) C++ since it was added. As far as type systems, there's really two different types of "types": individual types objects that can have generic functions attached to them, etc. This is not as well known, and there are actually several object systems for typing: http://adv-r.had.co.nz/OO-essentials.html http://adv-r.had.co.nz/OO-essentials.html But these sort of objects are not quite as commonly created by programmers, because the second type of "types" are much more useful: data frames, which is kind of a vectorization of structs. This is what would be used in data oriented design, which is apparently much more common in modern game design.