This post originated from an RSS feed registered with Ruby Buzz
by Obie Fernandez.
Original Post: Matz Roundtable Notes
Feed Title: Obie On Rails (Has It Been 9 Years Already?)
Feed URL: http://jroller.com/obie/feed/entries/rss
Feed Description: Obie Fernandez talks about life as a technologist, mostly as ramblings about software development and consulting. Nowadays it's pretty much all about Ruby and Ruby on Rails.
[It's Friday night at RubyConf 2005. I'm here typing up whatever notes I can capture from the roundtable discussion (really just an interactive Q & A session) with Matz, the primary author and inventor of Ruby.]
David Black introduced the session by telling us that 39 people attended the first Ruby conference in 2001. In that year, 1 person was writing Ruby professionally - Matz, writing Ruby. (Lots of laughs). Last year 3-4 people were writing Ruby professionally. This year, he asked the question Who is getting paid to do Ruby professionally? and most of the hands in the room shot up, almost 200 people (big applause).
Sydney is an experimental ruby interpreter that adds OS thread support and a number of other goodies.
There has been talk of needing a specification for Ruby. How would that ever come about?
If anyone is willing to write a spec for 1.8 please tell Matz and he will cooperate, but otherwise it ain't going to happen.
What really cool stuff are we looking forward to in Ruby 2.0?
Have to wait til the keynote tomorrow for that info. Matz will write the slides tonight. (Lots of laughs)
What are the reasons that Ruby has become so successful this year?
Rails. (laughs) Non-technical answer: Ruby attracts people that love programming. Someone called out that it's like a motorcycle-with-trainingwheels.
Austin: Please weigh-in your opinion on RubyGems packaging controversy.
Matz told Chad it is okay to put RubyGems into the standard distro, but there are challenges remaining to integrating well with other packaging systems. Also, there aren't changes to core yet in RubyGems and it is too late to include them in 1.8.4.
When you started, did you have any expectation for it to grow into something this big?
No. Never. It was my toy. Small toy. (chuckles) Jamis followed up by asking if he wrote it to solve any particular problem and the answer was no. Matz was basically killing boredom during the depression in Japan.
Do you see Ruby being used very differently around the world, for example in Japan vs. USA?
Not sure. He does know that some college teams are using Ruby to control FORTRAN functions(?) on supercomputers to process 1TB of census data per day.
Are there some features that you want to put into Ruby that you're not sure how?
Selector namespaces like in JavaScript (?) and Smallscript.
Should there be a hold on new language features until YARV is out?
Basically, talk to Koichi about when YARV will be out and Matz is worried that YARV might be too complex for him to understand.
Are there any projects in Ruby world that need someone to come in and help out with?
Matz doesn't think that there is much like that, but they do need people to give more support in using latest versions and submit bug reports. Particularly people should try 1.9 and find weirdness over new features.
There was talk on ruby-core about moving to Subversion (off of CVS). Any plans to continue those plans?
It would be good to move to something new, but the current toolset is built up around CVS so there is cost to move, so we wait until there is some really strong reason to move.
Any examples of how Japanese culture has affected the language design?
The example given in the question was the use of underscores instead of camel-case was partly because Japanese readers find it easier to understand english with underscores. Matz added the naming of methods such as exist? instead of exists?
Can Ruby be a good educational language?
Ruby was not meant to be a language for beginners. Matz wrote it for himself, and he feels there are some corners of the syntax that are quite complicated. Perhaps if the beginner had limited exposure, only to the basic features, Ruby could be but Matz isn't sure about that. There was a question about Matz' kids interest in programming. No interest yet: son wants to be baker, daughters want to be other things. If they were interested he would teach them Ruby.
What are the Ruby core team's attitudes and acceptance of Agile techniques? What do they use and how are they influenced by Agile?
Matz confesses he is horrible software manager. [Obie: I think the answer was basically a non-answer, hehe.]
What about future growth/direction of Ruby?
Since Ruby is human-oriented it shouldn't change that much, but the scale of the data being processed will change, so scalability is key.
There was a followup comment from someone running Ruby on embedded systems and is concerned about bloat of the core libraries. Matz replied that additions to core will be minimal; that the standard distro will certainly grow but the core language should be easily separable. So for example, the internationalization framework is in the core, but the specific routines (huge) are outside. Request was made for changes to the build procedure to allow trimming down the build to leave out non-mandatory components. Good point was made about difficulties in migrating to newer versions due to needing to do custom builds.
Which of the Japanese-language Ruby books should be translated to English first?
After some volleys of Japanese conversation back and forth with some members of the audience: Ruby Hacking Guide or Ruby Recipe book.
For those that adhere to learn one new language per year which other languages should we learn?
Matz suggests io (or Haskell but he admits it makes his brain explode). As for older languages, Common Lisp, Scheme and Smalltalk. Perl would teach you what not to do (laughter). Then other brainfuck type of languages mentioned. :-)
Now that it has been 10 years, should Matz write a book about the history and his experiences while creating Ruby and introducing it to the world?
Matz lacks motivation to do this. He spoke about it changing his life a lot. He doesn't believe this to be true, but he is considered an open-source leader in Japan. He has written at least one book and many articles in Japanese. [Obie's note: It seems like Matz is a pretty humble guy and this question was perhaps a little awkward.]
Since io was mentioned, if you were starting Ruby again would you make it prototype-oriented?
No. The followup questions included whether it has been considered to make Ruby run on Self, which is a virtual machine that already supports dynamic-language features.
Any features of Ruby that you regret?
Multiple assignments.
[At this point Gabriel distracted me by giving me a link to Comega, which has a very interesting concurrency model.]
Any plans to introduce an ordered Hash?
There are performance concerns. No idea if it would be added as part of the standard library.
What do you dislike about other major languages?
They aren't Ruby.
What do you expect out of Codefest this year?
Matz: "I don't know, every codefest goes beyond my expectations. They're great, so. I expect something, something that will make me surprised. I mean, good surprised."
Have you tried Rails?
Yeah, what is the big deal? (got lots of laughs)
How do you feel about the success of Rails?
He is glad. Makes it easier for Matz to continue making living doing Ruby, which he likes.
[The roundtable was winding down at this point. Someone got up and polled the audience about where they had travelled from to come to the conference. Someone posted a link to the conference statistics page on the #rubyconf IRC channel.]