
Photo by Nathaniel Talbott.
This was not quite the largest audience Matz has faced there were about 500 in attendance at this evening's "Town Hall Meeting", he asid that he had spoken to a group of over 1000 in Japan, but that was not to an exclusively Ruby audience.
I captured most of the questions and answers as best as I could. Any errors of paraphrasing are mine:
- Q1
- What about backwards compatibility. My program broke when Ruby 1.9 changed File.exists? to File.exist?
- A1
- We try to keep the language as backwards compatible as possible, but File.exists? was an old method inconsistent with the naming of predicates.
- Q2
- (From an Engineer from TI looking at putting Ruby into new calculators) I don't like the licence on the regexp library function in 1.8. The regexp engine in 1.9 isn't "encumbered" by the GPL?! When will 1.9 be out.
- A2
- Ruby 1.9.1 will be out by Christmas 2007, but might not be as stable as we want.
- Q3
- We had a problem with our app due to integer performance, why not change Fixnum to not go to Bignums automatically?
- A3
- We won't "bend the language" for performance. Big Applause.
- Q4
- What do you think about the competition from JRuby, Rubinius, IronRuby?
- A4
- Having the alternative implementations is wonderful. They open up a new world for people who couldn't use ruby for various reasons.
- Q5
- Is working on Ruby still something that makes you happy? What's the most enjoyable thing about it.
- A5
- I started on Ruby in 1993 with the goal of enjoying myself, I enjoy programming in Ruby, I enjoy designing it, and I enjoy implementing it. I still enjoy it very much.
- Q6
- What's the Ruby community and presence like in Japan.
- A6
- It's pretty much the same as the people here at RubyConf. They're nice people, fun, and interested in new technology. More people are actually earning their living from/with Ruby in America than Japan.
- Q7
- Does the increasing use of Ruby here in the States cause you to feel pressure? For example the TI question about licensing?
- A7
- I try to stay away from the enterprise contracting issues.
- Q8
- What Editor do you Use?
- A8
- Emacs. Mixed reaction.
- Q9
- (Charles Nutter) When can we expect a final 1.9 spec?
- A9
- The features are almost fixed. I'm now in the process of auditing 1.9 changes. I'm going to reverse some of the 1.9 changes in a week or two. By the middle of this month (November 2007) the features will be pretty much stable.
- Q10
- In the matter of Ruby, do you consider yourself a Scientist, or an Artist and why?
- A10
- A Hobbyist. Ruby started out as my own toy language, I expected just a few users of the language. Now we have 500 ruby users in this room. I don't know how to count the number in the world, perhaps hundreds of thousands.
- Q11
- Would you ever consider exposing the parse tree to ruby programs?
- A11
- The parse tree is pretty implementation dependent so exposing it as a spec would be tough for us to support in the future.
- Q12
- What other languages are you looking at now?
- A12
- Erlang, I don't like the syntax but there are some interesting ideas in it.
- Q13
- Someone said that there wasn't much room to improve the implementation of Ruby/YARV, but a Smalltalk programmer told me about two techniques used by Smalltalk VMs, Polymorphic Inline Caching and Dynamic Compilation are they applicable?
- A13
- Did I say that there was no room for improvement? We know about such techniques and are looking at them for Ruby.
- Q14
- Rails has done a lot to boost the usage of Ruby. Do you see other areas which might provide similar frameworks/things to boost Ruby.
- A14
- We're looking at things to improve processing large data sets on multi-core platforms.
- Q15
- Some people in the Java world say that Ruby is great for fast development, fast compile times, but needing static typing and other less dynamic features to scale up, is this a problem for Ruby.
- A15
- Well there are things which make Ruby harder to use with extremely large teams. Java still shines in large scale enterprise development, but the rules are changing, there's more emphasis on smaller quicker projects, and Ruby shines there. We will probably look at some things like better name scoping to help with larger team projects but that won't be until the version of Ruby after 1.9.
- A16
- The beauty of Ruby to me is that it's "just one step ahead" of the programmer compared to say lisp, erlang, which are harder to understand.
- Q17
- What's your second favorite programming language?
- A18
- Several
- Q18
- What would you remove from Ruby, is there anything that doesn't belong?
- Q18
- Matz didn't seem to be able to think of anything.
- Q19
- Have you looked at the Toyota Lean Process? Are you familiar with it? Is it applicable to Ruby/Software development?
- A19
- It's interesting that there are so many parallels between auto manufacturing and softwere development.
- Q20
- Are continuations in or out of 1.9.
- A20
- You now need to require a library file, so they are out of the core language, but they're not completely out.
- Q21
- What about parallelism?
- A21
- We are looking at options like running multiple independent VMs on threads in the same process, with shared code.
- Q22
- You had talked before about selector namespaces
- A22
- It's tough to implement but we are looking at it for Ruby 2.0.
- Q23
- Do you see a difference in the coding style between American and Japanese rubyists?
- A23
- I don't really focus on it. Although recently code 'golfing' has seemed to become popular in Japan.
- Q24
- One of the key features of the IO language is that it has no keywords. Have you looked at that as a potential goal for future versions of Ruby.
- A24
- IO is interesting, but that's not the way that Ruby is going.
(Note from Rick) I'd talked earlier to Matz about this. The Christmas release will freeze the language and library APIs, it's the implementation which is expected to change to fix bugs and improve performance. That's what he means by "not as stable."
Trackbacks
Use the following link to trackback from your own site:
http://talklikeaduck.denhaven2.com/trackbacks?article_id=480





Thanks for doing these write-ups! This was a great QA. I like how Ruby started as a personal toy language. Matz is so darn cool.
Thanks for the printed version. I was at the meeting, but could not hear every answer clearly. After reading, it all came together for me:-)
Hey,
what’s question 15 ?
Thanks for reporting this!