4 ms·
While I can't speak to the quality of this list, it is an interesting illustration of the "batteries included" philosophy of some languages versus others. Havin
by librasteve 2y ago
While I can't speak to the quality of this list, it is an interesting illustration of the "batteries included" philosophy of some languages versus others. Having a small core was likely helpful to the early breakout of Rust, and with such a speed and memory oriented language likely continues to be a good choice for system code projects.
In contrast, out of this list, here is what comes out of the box for raku (which sets the gold standard for "kitchen sink" inclusion of everything imaginable):
- byte order conversion
- date and time
- command line argument parsing
- error handling
- iterator functions
- C interop
- multidimensional arrays
- big, rational, complex numbers
- random numbers
- parallel iteration
- regular expressions
- software versioning
- thread pool
Raku has many other things built in too such as grammars, unicode segmentation, role based composition, sequences, lazy execution and so on that are not in this list.
I think that Larry Wall (the author of perl and then raku) saw the effect of balkanisation of the code base across inconsistent library choices with perl and was keen that raku (formerly known as perl6) would plan for the long term and take the "batteries included" path. Since scripting languages also serve to quickly whip up code, it's handy to have all the tools at your fingertips rather than having to load up modules.