It was momentarily cute the first time I saw it but that faded quickly. By the 100th "for humans" project, it had become a distinct code smell.
It was momentarily cute the first time I saw it but that faded quickly. By the 100th "for humans" project, it had become a distinct code smell.
For example: "Do you want this database to be AP or CP?" "Don't pester me with the nitty gritty! I just want to store data." A "for humans" database that quietly made the choice for you would be very bad news if it later turns out to have chosen poorly for your own workload.
The first "for humans" thing I saw was Python's Requests library, and I think it earned the title. Having just built a web scraper on top of raw httplib a year earlier, I would have killed to have had Requests available. It's a great example of a project with a decent track record of mostly setting good defaults and letting devs concentrate on their parts of their projects. Since then, I have seen very few "for humans" projects that weren't so abstract as to become almost unusable. I mean, you could call MS Paint "Photoshop for humans", but that doesn't make it so.
The classic example I think is Microsoft Access (databases for humans) which is great until it can't do the one thing you need and then it doesn't work anymore. And everyone needs a different one thing.
Why do projects insist on labeling themselves as "for humans"? That makes no sense!
Libraries have historically been terse and hard to understand. It's why stackoverflow exists. It allows those with more experience help others.
Labeling a library as "for humans" means that special consideration was made to make it easier to grasp. That might hide some of the complexity. It could also limit the scope of the library's abilities. But it puts people and the UX first.
Is this the correct approach? We should have simple and complex libraries. For every "for humans" library there should be a more complex one. And vice versa.
Be human. Emphatic. Quick to praise. Slow to condem. Imagine it was you announcing a similar library. How would you feel to be openly ridiculed in such forum?
I emphatically insist that it's absolutely OK to lambast industry trends, and that's what I did here. I'm not sure how you inferred ridicule from that.
Shows naivete on the part of what/who? Surely a trend cannot be naive on its own, so any reasonable reading of this sentence means that you are calling the project and/or maintainer naive. How is that not (a mild form of) ridicule?
But more fundamentally, I'm not sure you noticed that the project's author was the one who wrote this post. The reason you do that on Hacker News is to demonstrate something you've been working on to get community feedback. Sometimes that feedback may be unpleasant, but as long as it was delivered with good intentions (as mine was), that's absolutely crucial. If OP thought they were going to get nothing but positive "this is the greatest thing ever!" replies, then that would be a radically higher level of naivete than anything I said would have implied. I don't think that's the case.
I know I'm not the only person who feels this way about "for humans". Any time the subject comes up, lots - by my estimation the majority - of opinions lean the same way. This project is still very new. Is it kinder to say something up front to let them know they may be turning away potential users, or to not say a word and maybe see the project gain less popularity than it might otherwise deserve? Again, nothing I said was insulting.
And more to the point, it was sincere. The author was implicitly asking for sincere feedback about their project, and I gave it. You said I've ridiculed them, but note that they haven't piped up to agree with you. I kind of think you're offended on the behalf of someone who isn't.
(And OP, if you're reading this, nothing I said was intended as an insult. But really, drop the "for humans". It's not a good look.)