Yukihiro Matsumoto spoke about The Power and Philosophy of Ruby on Thursday morning. The talk was all philosophy, no code. Very entertaining.
We started off by discussing natural languages and the Tower of Babel, with a comparison of Japanese and its use of ideograms versus English. Matsumoto said that he was heavily influenced by the science fiction novel Babel-17. In some part, the power of the “super-language” in this book inspired him to create the Ruby programming language.
He spoke about the importance of choosing good names; those that are short and well-chosen usually convey meaning very easily. He also spoke about the importance of the machine making it easier for humans (Moore’s Law, evolution of programming languages to higher-level concepts). He feels it’s important for programming languages to cause the programmer as little stress as possible, and pointed out that one metric of a good programming language is that the programmer still has time to go out and have fun.
However, Matsumoto made it clear that simplicity is not a goal of Ruby. After all, human thoughts are not simple, and programs are essentially complex things. Rather, the design adheres to the principle of least surprise. If some aspect of the language meets your expectation, then it’s achieving its goal. Succinctness is highly valued because Matsumoto believes it leads to productivity and efficiency.
In Ruby, like in Perl, There’s More Than One Way To Do It, but the language can encourage one way. For example, Ruby does allow global variables, but you have to put a $ character before globals. Since too many $ are considered ugly, it discourages use of globals. “Dangerous” methods in Ruby have a ! in their name, for example sort
and sort!
. The “dangerous” methods might be faster, but they have side-effects, and the ! character reminds you to be careful.
Very cool, haven’t used Ruby, but some of the reasons-behind-the-madness make such sense I may have to give it a whirl. Great notes 🙂
Ruby
Attended the Power and Philosophy of Ruby talk, given by Matz – the author of Ruby. It was a really
hi do you hapen to know where to find dig in pokemon sapphire? because i cant find it so can you tell me were to find it and what to do pleaz.
hi do you hapen to know where to find dig in pokemon sapphire? because i cant find it so can you tell me were to find it and what to do pleaz.
i deleted dig and i need it bac how can i do that please somebody reply!
i deleted dig and i need it bac how can i do that please somebody reply!