▲ | WD-42 4 hours ago | |||||||||||||||||||||||||
Javascript doesn't have a standard library, until it does the 170 million[1] weekly downloads of packages like UUID will continue. You can't expect people to re-write everything over and over. | ||||||||||||||||||||||||||
▲ | simiones 3 hours ago | parent | next [-] | |||||||||||||||||||||||||
That's not the problem. There is a cultural (and partly technical) aversion in JavaScript to large libraries - this is where the issue comes from. So, instead of having something like org.apache.commons in Java or Boost in C++ or Posix in C, larger libraries that curate a bunch of utilities missing from the standard library, you get an uncountable number of small standalone libraries. I would bet that you'll find a third party `leftpad` implementation in org.apache.commons or in Spring or in some other collection of utils in Java. The difference isn't the need for 3rd party software to fix gaps in the standard library - it's the preference for hundreds of small dependencies instead of one or two larger ones. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
▲ | jmull 3 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||
FYI, there's crypto.randomUUID() That's built in to server side and browser. | ||||||||||||||||||||||||||
▲ | skydhash 4 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||
You have the DOM and Node APIs. Which I think cover more than C library or Common Lisp library. Adding direct dependencies is done by every project. The issue is the sprawling deps tree of NPM and JS culture. > You can't expect people to re-write everything over and over. That’s the excuse everyone is giving, then you see thousands of terminal libraries and calendar pickers. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
▲ | 3 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||
[deleted] | ||||||||||||||||||||||||||
▲ | lupusreal an hour ago | parent | prev [-] | |||||||||||||||||||||||||
> You can't expect people to re-write everything over and over. Call me crazy but I think agentic coding tools may soon make it practical for people to not be bogged down by the tedium of implementing the same basic crap over and over again, without having to resort to third party dependencies. I have a little pavucontrol replacement I'm walking Claude Code through. It wanted to use pulsectl but, to see what it could do, I told it no. Write your own bindings to libpulse instead. A few minutes later it had that working. It can definitely write crap like leftpad. |