Hacker News new | ask | show | jobs
by jberryman 5355 days ago
Sorry, but if we're talking about the quantity of poorly documented, broken, shat-straight-onto-github libraries out there, then ruby wins by a mile.

This isn't a challenge, but I'm curious what standout libraries that ruby or python have for which Haskell is lacking in a good alternative.

2 comments

This is like claiming that Latin is a more useful language than English because almost all of the Latin you see is excellent writing by amazingly talented authors, whereas in English you have all these badly spelled text messages from your friends and Tweets from famous people and love notes from your sweetheart and baby babbles and second-grader scrawls and five-paragraph essays by high-school sophomores and job offers and breaking news and Reddit jokes and HN rants and Wikipedia articles and text-adventure games and comic-book speech balloons and bestselling dime novels to wade through in order to get to the well-written stuff.

And, of course, you rarely hear Latin mispronounced. In fact, the only thing rarer than hearing Classical Latin being mispronounced is hearing it being pronounced correctly. E.g.:

http://en.wikipedia.org/wiki/Julius_Caesar

In Greek, during Caesar's time, his family name was written Καίσαρ, reflecting its contemporary pronunciation. Thus, his name is pronounced in a similar way to the pronunciation of the German Kaiser.

On the bright side, Latin does embody a vast array of fascinating tidbits like that one. Plus you can read two-thousand-year-old poetry and cast spells like Harry Potter.

It's not the quantity, it's the proportion.

I discovered this when I looked at using Scala for a particular project. The ratio of good-to-unfinished/poor libraries was much lower than for Ruby. It was also evident that code style/programming conventions had not solidified yet; it looked like the early stages of Ruby, where people weren't yet quite sure how to write "rubyesque" code. (Take a look at Ruby's standard library; it's for the most part very much out of date with "modern style" Ruby.)

I see the same kind of uncertainty with some Haskell projects, like the Text.Regex package, which I tried to figure out how to use, and failed, even with repeated google searches to find examples. The author seems to attempt at a certain ambitious programming style based on typeclasses, but since its usage is undocumented (or was, at the time I tried it ~6 months ago) you have to be a level 15 Haskell wizard to untangle its API. Similar Ruby experiments exist, and are eventually deprecated because of "too much magic".

Sure, Ruby developers create way too many projects that are never finished (or equally bad, are abandoned). But the stable of good-or-great libraries is actually very solid. Probably more so for web development than other things (Ruby doesn't have anything like Python's NumPy, for example); if you start a web project with Ruby you can get absurdly productive by just harnessing a few existing gems.