Lots of things.

* Ruby 1.9 string encoding is a PITA and gives me hard to diagnose
errors sometimes.

* I wish it had Python keyword arguments, like this:

  def f(a, b, c)
    [a, b, c]
  end

  f(c=3, a=1, b=2)
  # => [1, 2, 3]

Syntax for the function call could vary. I'd be just as happy with

  f(c: 3, a: 1, b: 2)

Some functions, I really don't care what order the arguments are
called in. And using hashes + symbols seems like a really ugly
afterthought compared to what's above.

* Something like this'd be nice:

require 'pathname'
Path = Pathname # shorter

* I get sick of seeing this, and everybody seems to have a slightly
different way of doing it:

require File.basename(__FILE__) + '/include_relative_to_this_file'

Should be a built-in or something:

require_relative 'include_relative_to_this_file''

* I do like object.transformation1(x,y,z).transformation2
{block}.transformation3 type code, but I sometimes wake up at night
thinking about the error and corner cases.

* Some Ruby devs make me sad when they munge everything onto one line,
abuse Array#inject, use metaprogramming poorly, or otherwise use
Ruby's expressiveness to write code that is much harder to understand
for the sake of saving a line or two, or because they're trying too
hard to be cool.

* They're having trouble adding default values for block arguments
because of the binary | operator or something. Language extensibility
is a concern. Syntactic dead end?

* It could benefit from being a little bit more........ Haskelly.

I still seem to love Ruby in spite of its warts though.

-- 
Gregory McIntyre

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
or Rails Oceania" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rails-oceania?hl=en.

Reply via email to