Don’t use a library unless you really need it. Someone recently recommended I add Zod to a project where I am only validating two different JSON objects in the entire project. I like Zod, but I already wrote the functions to progressively prove out the type in vanilla JS.
Less is more, including other people’s libraries.
Go Proverb:
A little copying is better than a big dependency.
100% agree. This actually makes AI-aided development a big improvement (as long as you’re careful). You can have an LLM write you a little function, or extract the correct one from a big library, and inline it into your module.
Agreed.
I'm talking great libraries in great languages. Like how the kmettverse revolutionized writing Haskell. Libraries that make you completely reconsider what it is you're trying to do.
Most people use shit libraries in shit languages. NPM slopfests have no bearing on what I'm talking about.
> great languages like [...] Haskell
We have very different opinions on what makes a great language
Then I'm surprised you agreed with any of what I wrote!
I mean, I agree with the notion that a great type system is part of a great language, but the type system is only a small part of the overall whole.
Haskell has a great type system, but it fails miserably at many trivial tasks I care about :
1) sum 1 million integers == stackoverflow (big lul)
2) massive memory cliffs for using the wrong type [1], which is not uncommon
3) poor metaprogramming facilities
4) difficult documentation
[1] https://stackoverflow.com/questions/76470000/is-there-a-reas...
You had me until this statement. The idea that "more and more libraries" is going to solve the (rather large) quality problems we have in the software industry is .. misguided.
see:
https://www.folklore.org/Negative_2000_Lines_Of_Code.html
https://caseymuratori.com/blog_0031