From: Martin Coxall [mailto:pseudo.meta / gmail.com] > > Every language feature that reduces how much typing I have > > to do is a tangible benefit to me. It eases stress on my > > body machine, and speeds the delivery of my code. > > That seems a ridiculous thing to say to me. Time taken to type out > code is not the limiting factor in your productivity. You're right, it's too much of a blanket statement. I would not want to program in APL[1], for example, despite it's terseness. On the other hand, I wouldn't want added to Ruby requirements to: * Declare all my variables before using them. * Write out Block.new( arg1, arg2 ){ body } for all blocks. * Use 'definition' in place of 'def' * Put parentheses around all method calls * Use .send( "foo=", 12 ) to invoke a setter method * Include types for every variable, argument, and method return (either as static types or 'suggestions') etc. The original post in this thread suggests that omitting declarations of variables leads to debugging problems for no real gain. My intended point was that (for me) a lot of Ruby's elegance comes from its simplicity of expression. Ruby doesn't do anything that I can't do in Lua or JavaScript, except make my life as a programmer way easier. [1] http://en.wikipedia.org/wiki/APL_programming_language