Report: Ruby Seminar, 13:00-15:00 On 1999.11.13

In Open Source Festa '99 in Akihabara, Tokyo

Firsthand document

All slides are compiled by MATSUMOTO Yukihiro (matz), the lecturer. Almost all of thosethem are originally written in Japanese.(With automatic-translation service aided: 2000.10. 1.)

  1. Top page
  2. Today's Topics
  3. Human-Computer Interface (HCI or CHI hereafter)
  4. Consistency
  5. Flexibility
  6. Pithiness
  7. Programming language as HCI
  8. Drawbacks to the Principle of Interface
  9. Unlock the Drawbacks
  10. Language with HCI Nature
  11. Language With Consistency (ex. Lisp, Smalltalk)
  12. Language With Flexibility (ex. Perl(?), Python)
  13. Language With Pithiness
  14. In short, what kind of language?
  15. Is there such language? "Sure. At lastleast I believe that exists."
  16. What is Ruby?
  17. What more is Ruby?
  18. What moreover is Ruby?
  19. Happy Programming
  20. Drawbacks to Happy Programming
  21. Free from obstacles, and happily you can do everything.
  22. Design Principle of Ruby
  23. Not at first "What can I do?", but "HOW can I do it?".
  24. Harmony of Simplicity & Complexity
  25. Ruby Programming
  26. Ruby Network Programming
  27. Ruby GUI Programming: Ruby/Tk
  28. Ruby GUI Programming: Ruby/Gtk
  29. Further Applications
  30. Contrast with Other Languages
  31. Object-Oriented Design in Ruby's Style
  32. Open Source Software (OSS hereafter)
  33. Definition of OSS
  34. Why OSSs can be alivetake hold?
  35. Point of Happiness on OSSs
  36. OSSs For Users
  37. OSSs For Developers
  38. OSSs For Enterprises
  39. OSSs as A Source of Revenue
  40. Is OSS actually profitable?
  41. Today's Conclusion…

…If you want more, this is small free extra.

(oops, not small…)

[Mon, Nov. 15 1999, Somewhere]

(Capture in the office, and first…) Hm, How was that?
"Because it's a contribution onto the humankindddd!"(Takarazuka style)
( it ..natural of her? yeah..) Have you caught by a kind of cults, or do you tell me your private affair?
Excuse my kidding, the source may be both of them.
Oh yeah, the subject is that you got to past Open s*au*ce festa, and how was that? Any trend on the flavor?
…You mean the smell around cute companions?
Do you know the words `sausage' and `sauce' have the same origin?
…Isn't it hard for you to go with your veryn (n>>2) Japanized accent?
Just joking. Is it large festi*b*al?
(Ah,…) It was held on 3 floors (B1F,1F,5F) in a building. Not too big.
Do you have any impression of the software world?
For me, this was the first experience of the open source programmers' circle which I'd heard only by rumor till then, however there are, to my little suprise, many good persons. They also are optimistic, in my impression.
I have other impression; they've withdrawn into their private circle.
I can't swear it's true. Actually, there was someones in the festa, who are clearly in different field; though I don't know they're only playing at there or not. The whole landscape raised me new question about the industry.
Very well. What?
What is `software-business standard proportions'? Mr. Matsumoto (matz) had a completely different figure from about what I'd heard to be standard.
(…Absolutely nonsense…) Who is Matsumoto?
He is the author and the maintainer of Ruby, an object-oriented programming language, recently with very high renown.
Ku- Mo- Ri- (interrupted)
(oh that was close…) Anyway, that might be the symbol of the language. OK let's bring the topic around Ruby. On the second day of the festival, it had the charged seminar of Ruby. I entered it, since I was looking forward to it.
(I remembered you looked somewhat merry then…) And, wrh, was that Mr. Matsumoto the lecturer at the seminar?
Yes, he was. The seminar was the first session in the afternoon.
What was the aim or the purpose of the seminar?
The introduction to Ruby, I think. Its design thought was introduced, attaching the subject of the opening source along the purpose of the festival, and was told some possible business models with Ruby, etc.
How many participants are there?
Were there about 70? Yes. Since I sat down the front sheet, the run of the room couldn't make me sure.
How was the man-and-woman ratio?
A few ladies were there. Ah so, I caught very innocent couplashot…(deep riddle)
(…Was it not you and matz?) How about the age bracket?
(No; It's my regret not to do so…) Main group was the youth. The extremely younger one -- wasn't found there, I remember… it was charged, that's why.
Now I look over the information about Ruby, and I find that a book has seemingly come out recently.
That's right. He matz advertised the book. (he is also one of the authors of the book!) I have seen that the book with the author's autograph, which 10 copies were prepared at first in the festival hall, has been sold out on the morning of the second day.
Of scourse an author's autograph on YOUR book will also be given by this opportunity(, even if You'd bought it independently)?
Of course so I did. To get his autograph, a good many in there were tied in a row, to the extent that the lecturer had at last not taken a rest in a breaktime. I'm afraid we were unkind to him.
Enthusiastic, didn't they? He seems to have been quite popular with the audience.
I think so.
"Through long days and months to three years of unflagging endeavors…(cresc.), finally(f.), FINALLY(ff.), the Ruby book came out!" (surgingly whirlpool of applause arises) "Thank you!! (Horiuchi Takao taste; ^_^) -- oh it's too far."
Did he become a boaster when lionized?
He performed there, I think. There was no sign to boast, at least in public.
"It's a regret to say you have sad news from the author that there is a lot of misprints in it now. Please quote matz apologizing the failure. `I beg your pardon'."
It is unable to be so much.
He flapped three or four sheets of misprints list in front of us. I've heard it will open to the public one of these days, in the form of PDF and textfile. (Note: Already opened; it is, of course, originally written in Japanese.)
Will the actual articles be corrected?
I've heard second print will be out in Nov. 26. (Note: It has come out.) Is it true it's not new of this field in Europe that a book will be rewritten as often as its reprint?
No matter where have they been published, I think. It might be parametrized to some extent by the firmness of the authors, besides a question of the degree of their completeness. So much for asides, I want to have your comment of the seminar in a word.
OK… It was the portrait of the frankness!
Too abstract. What more about it?
Please refer to <URL:> (already linked on the top). There are original slides for this lecture.
Huh I'll wait it. What else were held on the other side?
Two free seminars, and Mr. Nakamura Shozaburo's autograph sales, etc.
Weren't something mentioned in the one of free seminars about Ruby, or the other side free seminar?
…Sorry I don't understand.
Naturally, at least coverage should be carried out. How about vise versa?
Let me see I remember…
(Laughter from the next-door room…) "They're warming up in a good way… natural, since it is a seminar of Mr. Miyahara."(^_^)
How about on the autograph sales place?
…I really do not understand. I'm sorry… Ah in Ruby's side, matz took care the people who want to go to the sales.
(On opening the lecture, explain the overlap of the contents with the past JUS seminar, and) "If you're not want to hear it moreover or think it disagreeable, feel free to go to sleep, or get loose and queue up for Mr. Nakamura Shozaburo's autograph sales."(^_^)
; or,
(Noticed him watching his clock in the cream of the story…) "I think you soon had better queue up for the autograph sales."(^_^)
Was Matsumoto vs. Nakamura, big 2's direct confrontation realized?
(…What's your expectation? Confrontation?) I don't know whether -- their timing didn't seem to be well.
Now let me have the waited materials. I'm interested in a relative evaluation of Ruby between many programming languages. What did he say?
Let me see. He insisted to say better to Ruby than the programming language `P-blank'.
(Noted P-blank is too terse to understand, and)"Now I want to say I know a very good language to start with a char `R'. -- What's with a `Q'?" <--This joke seems to be slipped.
(Is it Pascal or PL/I? …just kidding.) Was Lisp mentioned?
Yes, as the oldest language but still in the active field.
"It is considered that a fault is that "it is unfitted to human". Although there's are adorers, if an ordinary man sees, he should feel it as `how strange is that parenthesis(appearance)!'".(^_^) In Japanese, `the parenthesis' and `the appearance' have parallel sounds; "kakko" and "kakkou" respectively.
Even FORTRAN can be said active. Was he affirmatively mentioned?
He looked to have an attention to Fortran9X, though he said it as "X=10."
Is the lecture not only to compare with other languages?
I think no. He stood on a viewpoint how to communicate between computer and human, and the fault which old programming language holds in common, then the programming-language image of an ideal were shown, and was tied to introduction of the new language Ruby. Don't you feel it as natural and strong thinking? I strongly felt it so. This was the first theme of the lecture.
Oh talks on `open source' had turned at the end.
This time the way of storytelling should be successful. UNIX sprit was of brimful, and was not contend with normal business logic.
Do you think so? In my op*ii*nion there should be of no use in our daily business if we can use Ruby but Windows.
Of course our Ruby keeps up with the trend of Wintel, but the topic was not digged so far. And for sure, I sensed on-and-off ironies which is like to hostility to that camp.
(To evaluate the existing HCI and…) "In famous OS Wi..something, every operation have an icon spinning and flying-away… My strong desire is `Give me this wasting CPU power!'"
And nowadays the range of our business comes to be worldwide. Is there any foreigners?
(What do you say suddenly? Suprises should be minimum…) Indeed there was not such a man who I can tell by appearances, but…
I recommend you to turn in your detail report of the lecture. Was there any question-and-answer session?
(Oops, another unforeseen assignment…) Yes. Let me mension here at once.
(01)If Ruby compares with Java, how is it?
Matz redirected the question to Mr. Koshimizu's page (orginal: written in Japanese, encoded by iso-2022-jp.).
"Java is a language to carry out system programmings. If it regulates, probably, the Java is probably faster."
(02)Is there an example embedded onto environment?
There were some introduction (jed, vi clone). The answer was assigned to Mr. MAEDA Shugo (he was there).
"At first I suffered many troubles." (by shugo. See also [ruby-list:19004] by him; originally in Japanese, encoded by euc-jp.)
(03)What is the difference from the compiler language?
"To say from the viewpoint of specification, there is `description which can be written shorter will be shorter' as tendency of an interpreter system. Therefore it is not fit for optimization of execution efficiency, since the informational amount of offers is so few."
(04)Is there any advice for men which enters from various fields, especially from C++ or Java?
"How's to say `please get it over'? It is interesting what they feel on the advice. If they say that there is no type check and it's eerie, I will answer `It does not say', because this is such world that there is no type."
(05)Perl and Python have XML parsers. Does Ruby have it?
"Sure it is. For example an extension library of James Clark's `expat', by Mr. Yoshida."
(06)Is there any limits on Ruby? I'm afraid to write big arrangement to 100 dimensions etc.
"You should recognize the limits directly comes from architecture as the restrictions. Limits except above all, I recognize, are bugs. (However the only secret limit is there which had never been unconquerable. It is the line number of the script at the time of debugging, and is taken and twisted only 16 bits.)"
(07)Ruby2somelang or somelang2Ruby, is that possible?
"Theoretically possible, with certain accuracy. Ruby2Perl and its contrary will be both possible, and the former will be more concise. Since I do not want to die, I will leave them for someone. The language with goto (ex. sed) maybe impossible. Awk -- just a moment -- even better?"
(08)I want to have your experience of failure, something great, in the developing process of Ruby.
"Under the serious sacrifice on the elder users, back interchangeabilityupper incompatibilities to some extent had Ruby lost."
(Example. though old manner of exceptions was only with the character strings (it was not with classes), it was corrected to the classes.
"In the past, almost everything was allowed to say "Oh, pardon me!" even if I had changed specifications, when they were only 100 users or so. However now, it isn't in such circumstances any longer…"
(09)The case of failure in the development of `open source', it had often said of Mozilla, but Ruby seems to be comparatively well. What is the difference?
"It can be said at first that the scale of a source code of Mozilla had to be too big. Since nobody has understood it until now, the development would be in little progress. If the latest situation is seen and it shines, isn't it rather bright future? As for this side, in early stage the community had smoothly been formed and its source code scale was small…"
(10)May I assume a version from 1.4.2 as a platform of my current development?
"What does `from 1.4.2' mean? -- what I can say is just recommend you to use 1.4.x as a platform, although a function name grade may change a little by future upgrade."
(11)Is there a schedule to incorporate `goto' sequence?
"Why you laugh?"
(For details, see [ruby-list 18569] by Mr. Eguchi; originally in Japanese, encoded by euc-jp.)
(12)Is it a far future story to release the following stable version 1.4.3?
"The reasons which I do not release the following version are only that the book has come out quite recently and there is also no reason to change it excessively. It will not be so far to the next release."
(Note: already released.)
(13)While I'm at it, when will 1.5 come out?
"The branch 1.5 already begins, but -- I have no intention to accept offers to serve it in the form tarball. Only who can use CVS can get it. When set to 1.6, the tarball will be made."(Note for 1.6 series: already released.)
"… It'll be the last! any questions? …OK, if it can say in 5 seconds."(^_^)
(14)It's not a question however. In 1.4.2, I'm afraid there might be a shift where tag strikes (in CVS), diff would come out and it should be the fault.
"God! I will fix it."
(Note: already fixed.)
That's all.
OK. Let me ask the last question.
Was therrre a nice Meganekko???
Oh, in front of you, there's a gem, my dear(^_^)
Not you, you're not, Miss Ruby.
Ah so… Ummm… Se-cret.
Salary cut.
(She weeps)


Ruby Annotation(W3C working draft):
Document(originally in Japanese, encoded in shift_jis.): <URL:>;here this document new situation is set up(^_^)
Portrait: <URL:>
Icon: <URL:>
Next Generation(Document & many portraits): <URL:>(2000.10. 1)
On IRC: <URL:>(2000.10. 1; Its old nickname was (^_^))
Added for Japaneseonlys': (Rather poor^_^) automatic-translation of this document (by Excite translation service; the output is encoded in shift_jis).