First Thoughts on Ruby

Following my first experiences programming with it, here is my current braindump on Ruby (pros and cons mixed):

  • cool, it looks like an intersection among Python (clean way of doing OO with steroids here and there, e.g. mixins), Perl (quick and dirty syntax when dirtiness is needed, e.g. regexp), OCaml (functional stuff to improve abstraction and reuse);

  • functional stuff is syntactically constrained (e.g.: why in the world a method has the concept of the code block passed to it and the nice yield syntax is meant to work on it only?, why can't we just handle code blocks as first class values?);

  • some paradigm which are hard to program in other languages are amazingly easy to program in Ruby (e.g. heavy threading);

  • the documentation of the language and of the library is probably the most chaotic I've ever seen: I'm still unable to find a rigorous definition of both the grammar and the semantics of the language. The standard library is well-documented/poorly-documented/read-the-code depending on which module you choose.