I started programming in BBC Basic on an Acorn Electron in 1985. I then went on to learn and use commercially C, C++ (there's no such language as C/C++), C# and Java. When I was a C++ programmer I looked down on Java with it's virtual machine, just in time compiling and garbage collector. When I became a Java programmer I completely fell in love with it and it's tool chain. Not so with Ruby, especially its tool chain, a lack of a static type system and lack of interfaces. However, there are some fantastic features in the language and a few of them I wish I could use in Java. For example, in Ruby, you can put conditional statements after expressions, for example: return '1' if a == 1 return '2' if a == 2 Whereas in Java you'd have to write: if (a == 1) return "1"; if (a == 2) return "2"; which is more verbose and less expressive. Ruby also has the unless keyword, which Java lacks, so in Ruby you can do this: re...