This could accumulate nearly all the tags, but all of those are a child to compsci, so I’ll just leave that one.
Do people actually use these lists? What for? This returns to a previous discussion about how hard it is to find working libraries that actually work.
What are the standards by which these lists are curated? I mean, there’s two lists each for python and node. Three for emacs and rails. How do I even pick a list???
ok, let’s pick the awesome-rust list. At least there’s only one. This would actually be a big help for me, since rust is new and I don’t have five years of overhearing community chatter to know what to use. (Totally serious, btw. I was looking at rust for something very recently.)
I’m thinking about a crypto app. Let’s head to the crypto aisle. Two C bindings, one of which is for openssl, which kinda defeats the purpose. Two native crypto libraries, neither of which has a passing build. And a partial TLS implementation, which is cool, but it only does chacha20, basically meaning it can talk to google and google. This is awesome?
Alright, crypto is hard, let’s look at the databases for rust. I’m going to need some sqlite for my rust program. There’s three. Three. No guidance on which, if any, work. This is curated?
I took a look at the python list as well, looking for a web framework. As far as I can tell, it lists every web framework. And has only good things to say about them.
A small, fast, down-to-earth, open source Python web framework.
A fast, simple and lightweight WSGI micro web-framework.
A lightweight and high performance web framework
A web framework for Python that is as simple as it is powerful.
A full stack web framework and platform focused in the ease of use.
Really? Am I fundamentally misunderstanding what the word curated means? How does a list like the above help me decide anything? Honestly, this only makes paralysis of choice worse. I used to think my option were django and flask. Now there’s a half dozen frameworks I need to investigate!
These lists look like the editorial process is “everybody send me as many pull requests for as much stuff as possible”.
I would like to reiterate that I hate how web frameworks are advertised as if they’re products that need to be sold rather than laying out the fine details of what they’re bad at. For example, it would be nice of Django told you how inflexible they can make your project when you want to expand on their User class. They would never say this though, because they’re trying to get you to use their framework.
Yes! I wish more frameworks, libraries, et al, started off explaining why existing ones weren’t good enough and what tradeoffs they’re making with the new one.
But that would require authors to use existing tools to the point of failure, which is apparently a bridge too far these days.
Doesn’t have to be to the point of failure, just what their motivation was. But yeah, too many don’t do that.
I’ve found that when the lists start (such as this one, not listed, they’re well intended and perhaps some are rejected. However, entropy soon sets in and nobody is actually filtering them, let alone cleaning up cruft and outdated references. I’ve toyed with the idea of starting a truly curated list, where people who submit PRs have to justify the inclusion of their entry. Somehow, though, I feel like that wouldn’t get as much attention as the awesome-* lists.
I’m maybe working on something, hence the sudden interest in web frameworks actually.
aside: Did you look at sodiumoxide1 (rust libsodium bindings)? I am just starting out learning rust myself though, so I can’t speak to how good the library is, nor how easy it is to use.
I haven’t really. I don’t really consider rust a “glue” language, so there’s an implicit penalty to C bindings. I’m also only toying with the idea… “Not yet” is a viable option, depending on what’s available.