this post was submitted on 06 Aug 2023
145 points (97.4% liked)
Programming
17509 readers
8 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
At least part of it is that JavaScript is not really a batteries included language like Python or Java to even PHP.
You can’t really do anything productive without relying on a third party library.
This is not universally true. You totally can, especially today.
Most of those are server-side languages and I'd disagree with the assessment. For web services Java needs some kind of server like Jetty, Undertow, or Tomcat. For testing you need JUnit or NGTest. And for common, everyday utilities you need something like Apache Commons or Guava. These things don't "ship" with Java (and there's actually a fair amount of runtimes now, it's not only Oracle).
The thing that seems to benefit Java over Node is major corporate support (Oracle, RedHat, IBM) so for better or worse you can usually rely on a handful of essential tools being updated regularly.
I wouldn't say you need no dependencies in a Java project, but by all means check the average number of dependencies you get with Java or Python and compare it to almost any Node project.
You could probably sample projects on GitHub, look at the dependency graph, and compare.
All the languages you mentioned have some core APIs included and need to rely on third party libraries for more.
Yes, that's true, but JavaScript has very few core APIs aside from basic DOM manipulation. Even things like comparing timezones requires a third party dependency, for example.