nathaneastwood / poorman

A poor man's dependency free grammar of data manipulation
https://nathaneastwood.github.io/poorman/
Other
340 stars 15 forks source link

Please explain. #122

Closed abalter closed 9 months ago

abalter commented 1 year ago

I'm so daft, I don't really understand what this package (or bplyr, freebase, tbltools, ...) does?

Exacly what do I gain by having "dependency-free" versions of {dplyr} verbs if I now have this as a dependency?

I am genuinely asking, not trolling.

barryrowlingson commented 1 year ago

By adding any one package to your project as a dependency, you are implicitly adding all of its dependencies too. In the case of poorman thats... nothing. In the case of dplyr that's 9 external dependencies which all have more dependencies of their own. Why does a package for manipulating data frames need a package for formatting output in colour (cli), or pasting strings together (glue) or colouring table columns (pillar), or any of another half-a-dozen things? If those packages introduce incompatible changes, then dplyr breaks. If you trust that the developers will never let this happen then fine, carry on using it, but if all you want to do is select, filter and mutate then its likely that poorman will be stable.

Or remove these calls entirely and use base R functionality, which will be even more stable.

For more on this, the tinyverse philosophy starts here: https://www.tinyverse.org/

abalter commented 1 year ago

Thank you for explaining! I very much like the philosophy. Dependency hell is a real problem, especially in the R-verse.

At some point I think/hope tidyverse may become base R.