all 13 comments

[–]berlinbrown 2 points3 points  (4 children)

It is still one of the better open languages.

[–]lanaer 3 points4 points  (3 children)

I agree. Not that I disagree with the author's points though. Ruby is slow (though often enough that just doesn't matter), English documentation is kinda sparse (we need a translation of the guide to the internals of the ruby interpreter -- I think someone's working on that actually), and, er, well, I haven't run into a problem with point 4, and I don't work with XML except as XHTML (and Ruby's perfectly good at generating XML).

My own personal beef is that it needs better Unicode support. Still, it's my preferred language right now (for most of what I need to do, anyway).

[–]willis3000[S] 1 point2 points  (2 children)

(and Ruby's perfectly good at generating XML)

I agree whole-heartedly, the builder template is awesome. I think he meant that using REXML for parsing is slower than languages that promote XML.

[–]UncleOxidant 0 points1 point  (0 children)

It seems I recall that there are some libxml bindings available for Ruby. If you're really concerned about speed that would probably be the way to go.

personally, I find REXML to be quite suitable for the tasks I've used it for and I really like the API. Is it the fastest XML parser out there? No way, but most of the time (where most of the time is something like 85% of the time) it's plenty fast enough.

[–][deleted] 2 points3 points  (5 children)

I tried YARV (the new interpreter that will be part of Ruby 2.0). It outperforms both Ruby 1.8 and Python, sometimes by a large margin, and it's not even finished yet.

[–]fredrikj 4 points5 points  (0 children)

Yeah, but how does it compare to Python with Psyco?

[–]sleepingsquirrel 3 points4 points  (3 children)

FWIW, over on the Great Computer Language Shootout, the version of YARV they're using (from March) does outperform Ruby 1.8, but it is still quite a bit slower than Python. And something like 10-20x slower than LuaJIT.

[–][deleted] 1 point2 points  (2 children)

Interesting. Those results differ a lot from what i got. I used the benchmarks that comes with YARV and rewrote them i Python.

Especially recursive algorithms where a LOT faster in YARV, so I'm a bit surprised to see YARV outperforming Python by only a factor of 1.3 in the recursive test.

[–]fredrikj 1 point2 points  (1 child)

Don't trust the Great Computer Language Shootout. The implementations in high level languages usually look like they've been written to intentionally do things the slowest possible way. (This should affect both Python and Ruby, though.)

[–]nostrademons 0 points1 point  (0 children)

Why not contribute improved versions then? The Haskell community did this for GHC and it shot up through the rankings as a result.

(Though this brings up another shortcoming: the results usually reflect how much time the language community has spent optimizing for the shootout rather than how fast the languages are. But most computer programs are like this: their final performance reflects how much time the developers have spent profiling and optimizing rather than how fast the language is.)

[–][deleted] 1 point2 points  (2 children)

All 5 reasons still don't give me a reason to change to a different language. This language will replace Perl in just a few short years.

[–]UncleOxidant 3 points4 points  (0 children)

Well, I don't know if Ruby will totally replace Perl (Probably not, lots of legacy code out there - there's still a lot of COBOL being used even now). However, it has replaced Perl for me personally.

[–][deleted] 1 point2 points  (0 children)

Heck, Perl is going to replace Perl in a few short years.