RubyConf: Keynote The Return of the Bikeshed: Yukihiro “Matz” Matsumoto

Subtitle: Nuclear Plant in the Backyard

Tonight I’m goin to talk about the Bikeshed

Some people think that Ruby is a scripting language, and some think that Ruby is better than a scripting language.
Ruby is

  • a scripting language
  • a programming language
  • a lightweight language
  • a dynamic language.

Scripting is not a derogatory word in Japan, LL or Lightweight Language is very popular in Japan

Agile Manifesto 4 Values

  • Individuals and interactions
  • Working software
  • Customer collaboration
  • Responding to change.

Applied to languages.

  1. The Language design should focus on users
  2. The language should encourage readability
  3. The language should be expressive and helps communication
  4. The language should embrace changes and be dynamic

So I believe Ruby is Agile Language.

Ruby has the Good, Bad and Ugly

Good

  • Sweet Language
  • RoR
  • The Community
  • “Ruby People are Nice” says Martin Fowler

Ugly things

  1. eval.c
  2. parse.y

Bad things

  • Ruby2 vaporware
  • close to be the longest vaporware in the open source field Ruby2 is older than Parrot.

Do you know what bikeshed is?
Bikeshed is a easy problem.

People tend to argue about every little things that they know enough to do so

The Nuclear Plant is very important That can effect our lives, especially when some things go wrong
Its to comples

As a result w e spend mose of our times for unimporanat things

Leaving important things less discuessed.

Many want about the language to change.

  • string symbol
  • what #lines returns
  • remob

Some Consider Ruby as Fragile Language

Ruby 1.8 is good Enough.

  • We are not in hurry
  • Every idea has its own value.

So instead of arguing about bike sheads Accelerate them

Extreme Arguing

  • If arguing is good make things so easy that eveyone can argue about them.

Design Game

  • Gather wilde Weird Ideas.
  • Try to make Ruby the Best language ever
  • Shed light to undefinde dcorners of Ruby
  • Finally (if possible), document Ruby specification.

Rules of the Game

RCR – Ruby Change Record.

Ruby will stay to be Ruby

Not just vauge ideas

But with rationale analysis

Discussion on mailing lists
Ruby will stay to be Ruby

80-90% compatibility

Follows same philosophy that we love

Not just vague udea

hard to start concrete discussion

Hey, we need optional explicit typing in ruby.

But with rationale analysis

like Python Enhancement Proposal (PEP)

seems to be working well

Discussion on mailling list

mailing lists are more suitable for discussion

may utilize RCRarc as a starting point

mays set up new system to contraol TR

But Why(2)

I want to share fun of language

But Why(2)

  • Educate developers in the community.
  • I may be hit by a truck someday.

The deadline

Submission Deadline

  • Not fixed yet
  • May not be needed
  • thinging 2007-4-19
  • Like Perl6 RFC time.

What we Will do

  • Classify proposals
  • Good Bad and Ugly
  • 1.9 or 2.0
  • Implement them
  • Merge Them
  • Then we will implement some of them to investigate them.

    Some know proposals will be know as good and bad only after implementing them.

    We need the actual experience of implementing them to tell.

    If they are good we will merge them, or throw them

    If it doesn’t work out

    • No Problem
    • We will try something else

    See You Next Year

    • Hopefully with good news
    • Ruby 1.9.1 will be out Christmans 2007

    Slides will be at

    http://www.rubyist.net/~matz/slides/rc2006

    Q: Will this apply to core and the standard library
    A: Yes anything in the standard distribution, but primarily the core
    Q: How do we get up to speed on things that are already being implemented or discussed.
    A: Go look at the RCRarchive http://rcrchive.net/ We will create some wiki+mailing list solution.

    Q: Windows Vista Support? SymLinks will be added Will ruby support this.
    A: Yes the WIN32 maintainers may need a reminder, but yes.

    Q: As Ruby grows Large companies are having more interest, are you going to accomidate them?
    A: This design game is for the community we have now, I don’t have anything against companies and commercial.

    Q:If we are going to be agile we should have tests
    A:Was that a question?
    Q: Have you given any thought to giving 1.8 to someone else.
    A: I will stay involved in 1.8, but no new features will be added, so language design tasks will be minimal.

    Q: Chad Fowler How might the parse.y parser in 2.0 be not so ugly? I assume that YARV will replace the uglyness of eval.c
    A: I don’t know parsers are hard.
    Q: Ryan Davis Will you be open to changes to how the parser works which will make it easier to re-implment.
    A: Yes I’m open to suggestions, but parsers are hard to write. Harder than virtual machines.

    Q: With different impementations without a comprehensive test suite how worried are you about a fragmentation in the community.
    A: I don’t worry, I don’t have any trade mark on ruby. Its a competition. We might have several different VM’s, a fast one, a stable one, etc.
    Q: Do you have more room to go in terms of asthetics.
    A: I don’t know how much room we have to got to get to the best language. We will continue to polish or make drastic changes if we are further from the perfect language than we think we are.

    Comments are closed.