Notes from today’s opening keynote at RubyConf 2008 by Matz, the creator of Ruby. It was an absolute pleasure to hear him speak and he did a fantastic job. Here are my notes from the talk….
First RubyConf – 30 or so users. Has grown a lot. (~500 here today)
Keynote Topic: Reasons behind Ruby
Matz wanted to create a programming language.
Matz _loves_ freedom and wants to maximize it.
Ruby is Imperfect.
• Ruby is slow
• Ruby lacks features
• Ruby is too complex
• Ruby inconsistent
• Ruby consumes too much memory
• This list goes forever
Why do we love Ruby? …Or how I learned to Stop Worrying and Love Ruby.
Love matters. It’s the greatest reason behind Ruby.
But why do we love it? It’s enjoyable. It made programming fun again. Again? It used to be fun. But no longer.
In 1980, BASIC. Matz first computer – Sharp pocket computer
• Great pleasure
• Matz could make intelligence
• Gave a sense of creation
• At same time though, great pain
∘ Language designers and implementers on top
∘ Programmers on the bottom
∘ Barrier between
No command can be added. No data type can be added. No abstraction.
Lisp, found a year or two later
• Everything was opposite of BASIC
• No discrimination
• Extreme abstraction
• You can change everything
• Great pleasure
Matz used Lisp
• Didn’t make him THAT happy
• Smart people just underestimate ordinarily of ordinary people
∘ Happy with it (not in real life)
∘ As long as he has power
∘ And to be able to become designer when he wants
Conflict between owelty and safety.
BASIC gives you no power. Lisp gives you full power.
Why not go all Lisp? At both ends, we lose popularity.
Language popularity chicken race
If you stay with BASIC you are a coward …
If you go to Lisp you are brave … or you risk your life
(Photos from Rebel Without a Cause)
Balance. We all love power. Flexibility Freedom. But it’s not free. It’s like a pilgrimage or walking in the minefield.
Do you want that? It’s not a task for everyone. Matz wants it. He’s done it for 15 years. And willing to continue. Help him.
You don’t need to learn Lisp because we have Ruby!
Policy matters. Policy matters most.
“Ruby People are NIce” – Martin Fowler.
Money matters (sometimes).
Why do we choose Ruby?
Ruby on Rails…
Turned Ruby into a web DSL
Rules (or syntax)
“Programming is a process of designing a DSL for your own pplication” — Dave Thomas.
Lisp is very good at being a DSL.
Increases overall productivity
Four million plus Ruby developers by 2013. Under one million now. Professional developers. (eWeek projection)
The future is bright. Too bright, maybe.
Beware of commercial success.
If we are driven by money, we may lose something very important.
What we have
• The community
• Rise of commercial success
What we will have
• More money
• More job titles
• More resources
• Better implementations (faster JRuby makes him sad) (Rubinious, good try!)
• Feature rich
• Provide more satisfactory experiences
• Most Importantly…
∘ We will have more poeple in the community
∘ Some people behave nice… Some just troll. But people count.
∘ Matz welcomes them, asks others to welcome them
∘ Nourish them
∘ Feed them better projects, themes, inspiring ideas
∘ Love them. Great power behind Ruby and the very reason behind Ruby
∘ Matz loves you all. Loves people using Ruby.