The things that I still don't like about Ruby's syntax & semantics (even though it's my second favorite language):
- No keyword arguments
- No good syntax for creating pure functions
- Metaprogramming seems tacked on
- HERE doc manipulation is atrocious
- There is no 'fundamental unit' of a Hash
(other than a destructured key-value pair),
so mapping a function onto hash keys or values
is always a call to #reduce or a Hash[array]
- Creating a Hash with #reduce is not pretty
- Destructuring isn't so sophisticated
- Local variables become defined even if they aren't in your
current code path
- I already mentioned method passing
These are all things, by the way, that Clojure does much, much better.