Really appreciate the response, it focused my attention on why I was drawn to the “opinionatedness” of Go.
First, sometimes it is hard to figure out which library to use for a problem; cannot tell you how many times I have been asked what frontend charting library they should use.
Also, libraries vary widely in quality and longevity. I often pick a library because it is where the herd is. You don’t want to find yourself depending on an abandoned project.
Second, the sheer number of third-party libraries that even the simplest of projects depend on is staggering. For example, just adding the following three dependencies for a decent linting setup in Node.js results in 166 third-party libraries being installed.
Just adding Express…
adds another 42 for a total of 208 third libraries that a “hello express” application depends on. Just listing the files in a project’s node_modules folder is a eye opener; you see a list of libraries that you have no idea what they do or who supports them.
It is interesting that after awhile you become immune to this (I don’t often look at my node_modules folder). But every so often you read articles like:
that remind you of the problem.
At the same time, I have rarely run into problem with third-party libraries (where-as many other colleagues of mine have). I attribute my success to limiting my usage of third-party libraries in general and when I use them I limit myself to the most popular and thus well supported ones.