5 ms·
Just curious, what other server side languages do you feel have a better library ecosystem than Node/JS?
by zusoomro 6y ago
Just curious, what other server side languages do you feel have a better library ecosystem than Node/JS?
- 0x445442 6y agoJava
- blandflakes 6y agoI'm actually surprised by this sentiment whenever I see it. Node still hasn't caught up in coverage. It feels like the Node community is really proud of their number of packages, which, given the likely median size of each package, is a poor proxy for actual stability and completeness.
- azeirah 6y agoPHP has a solid library ecosystem, especially around Laravel, which is what I know best.
- mtberatwork 6y agoI'm not sure I agree with that. Lots of stale, abandoned libraries in PEAR/packagist as well.
- krageon 6y agoMost libraries exposed in some sort of package repository in PHP land are pretty bad. In terms of quality, but also in terms of documentation (frequently not there, partially there or wrong). It's not even rare to find libraries wrapping things with only half of the expected functionality implemented. To say nothing of trying to get patches into the core. Be prepared to wait months for any response at all, every time getting the feedback that there is some new minor problem (or even worse, a "this needs to be talked about" without any followup). It's not a healthy ecosystem. For that you require high-quality core libs, a strong developer ecosystem (that doesn't mean a lot of devs, it means good ones) and a culture of third-party libraries being few but high-quality. Anything else is going to end up pissing you off, guaranteed.
- tluyben2 6y agoJVM based languages? Also I like the .NET ecosystem as it comes with batteries included and is quick to develop with.
- mumblemumble 6y agoI'm finding that JVM is really starting to look threadbare as a web development language. I haven't tried Spring Boot, so I can't speak to that, but gather that a lot of people like it. Otherwise, though, it's kind of a mess of too @#$% many options and no clear winner aside from the legacy stuff that nobody actually enjoys working with on the flagship language, an alternative language that was initially promising for web development but ultimately collapsed under the weight of its own creeping featuritis, an alternative language that collapsed under the weight of efforts to turn it into Jonathan Livingston Programming Language, an alternative language that collapsed under the weight of a cult of personality, and an alternative language that looks poised to collapse under the weight of Oracle v. Google.
- tluyben2 6y agoEveryone has different ideas about what matters; I care about continuity and stability. I cannot do a monthly dance of 'library blah is no longer maintained, please try library vlah which, by the way, is completely incompatible API wise!'. I need stuff that runs fine in a decade and where the maintainers respect backwards compatibility. I have not been let down by the past decades of JVM (and PHP but I never used many libraries there, so not a good example) and last decade of .NET in that regard. I carefully make sure i know my dependencies (read the code, check maintainers; ecosystems that have millions of tiny libraries cannot work for me; I like my sleep). Things simply work and they work, without much issues, after major upgrades of libraries and runtimes throughout the years. My business goals clash with fast moving things; my clients don't want them and I don't want to maintain them. And yet my software runs under the hood of 'hip' companies; they build fast moving stuff on top of it; I like it that way.
- mumblemumble 6y agoI think we may be speaking to the same goals. My worry about the JVM is that, culturally speaking, the community has been losing interest in the old stable stuff (Which I get, it all looks like 20 years ago.), and so the Java ecosystem seems to be eagerly headed in a more "move fast and break things" direction.
- pjmlp 6y agoJava and .NET. Not only better library ecosystem, more performance and tooling.
- thunderbong 6y agoRuby / Ruby on Rails as well
- krab 6y agoPython. The performance lacks somewhat and the debugging tools are not as mature as JVM's. But the libraries, frameworks, and overall development productivity are great.
- jamil7 6y agoSome of the newer ASGI frameworks are actually pretty good performance-wise. I haven't touched Node.js in years and recently needed a backend for an iOS project with a lot of geoJSON processing, used FastAPI and found it excellent. While Python is far from perfect it opens you up to a diverse ecosystem from AI/ML/Geo/science communities.
- out_of_protocol 6y agoDepends what you mean by "library ecosystem". If it's raw number of packages then npm is number one. On direct opposite side of spectrum you can find e.g. Elixir/Phoenix - relatively small number of packages in registry but even built-in stuff covers 99% of what you want - and makes this effortless for you. E.g. after single `mix phx.new YourAppName` You get * Pre-confugured prod/dev/test environments * Preconfigured webpack for the environments above * DB migrations * telemetry/metrics with live dashboard etc P.S. encrypted signed cookies, changesets (validations for db models or arbitrary forms), clustering, websocket stuff, "liveview" serverside rendering ...
- michaelpb 6y agoI've heard great things from Elixer/Phoenix fans, so I'm sure it's a great framework, but I'd argue you get a pretty comparable set of features with some of the most popular project templates for the bigger, older frameworks like Django or even Rails. That said, I've seen that "liveview" thing demoed and that is definitely pretty slick. Off topic but it's very similar to a package I implemented in Django like 6 years ago or so (and happened to name it the exact same thing, too) --- sadly was for work in a proprietary setting, although I'm off-and-on working on remaking it now for a different project where I can open source it.
- bryanrasmussen 6y agoI think basically every majorly used general programming language has better libraries than Node - which becomes problematic if your application needs to do something that you would normally expect to get by using a library - but the thing that Node has which in my estimation makes it better than almost every other language is I don't have to context switch when changing languages in between backend and frontend.
- smt88 6y agoJVM, Python, and .NET all have better server-side ecosystems (which I know from actual experience on multiple projects). The original project I was discussing ended up going with Kotlin on the server, and everyone (including devs) are super happy with it.
- xtracto 6y agoJava ? the amount of crap that is available for Java due to its 25 years alive beats the amount of crap that is available for NodeJS. I program in Node/JS currently and programmed in Java about 10 years ago. But my preferred language will always be Ruby. I will never understand why "the community" (ML, scripting etc) preferred Python to Ruby.
- whimsicalism 6y agoasync python