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.
- The Language design should focus on users
- The language should encourage readability
- The language should be expressive and helps communication
- 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
- eval.c
- 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
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.