Unix philosophy without left-pad, Part 2 - Minimizing dependencies with a utilities package

This page summarizes the projects mentioned and recommended in the original post on /r/ProgrammingLanguages

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • lodash

    A modern JavaScript utility library delivering modularity, performance, & extras.

  • And now because of the decision to add rearg, lodash will forever be burdened by the additional complexity and ongoing maintenance of a function that doesn't really need to exist. If you ctrl+f for rearg in the code, you can see that there's actually quite a lot of code complexity involved in rearg. In fact, I think there's even an error in the rearg-related comments on line 5477, where it incorrectly says that the bitmask flag for rearg is 128 (when the real value is 256), which is a bug waiting to happen.

  • _

    The Raku utility library (by codesections)

  • Your post (and library) seem to imply that micropackages are good if they are useful (in an absolute sense), so long as they don't create excessively large dependency trees. I would argue instead that every package should be treated to a cost/benefit analysis, and it's often better to not use useful packages at all when the benefit is small. As a concrete example, your Recursion module appears to be about 20 lines of code whose value proposition is that you can now type &_ instead of &?ROUTINE (or Dbg lets you type foo(dbg($x)) instead of dd($x); foo($x)). This is (arguably) a useful thing to have, but using even this very tiny micropackage comes with costs. The first cost is that there are now 20 extra lines of external code you must trust to be bug-free, performant, maintained, and non-malicious, but there is also a cost that whoever is reading your code now has to know what &_ means, or where to look to find the answer.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts