Here’s another highlight from RubyConf 2007: watching Jamis Buck and
Michael Koziarski give a terrific keynote based on their joint blog, The Rails Way. I leaned over to Alan
Francis and mentioned how encouraging it is to see young programmers with a
solid, confident grasp of design and development principles that I
didn’t learn until I was much older. I don’t mean to embarrass
either Jamis or Koz by this; I admire them greatly. They make me optimistic
about the future of my profession. (And calling them young says more about
me than about them, perhaps.)

It’s absolutely certain that the biggest factor in their early
maturity as programmers is that they’re just very smart guys.
I’m also sure they started programming at a younger age than I did.

But Alan and I think there’s a third factor: Ruby itself. Ruby helps
to teach those good programming skills, and makes them easier to learn. I
got the chance later to talk to Koz about it, and he enthusiastically
agreed.

The first thing I said in my talk on
Saturday was that Rails is like an instructional laboratory for how to
build good software. I think that’s the thing I like most about
Rails. A big part of that is Ruby itself. Ruby, its libraries, and its
documentation are filled with examples of clean, well designed code, and
Ruby makes it easier than most other languages to create clean code
yourself. The community values and encourages it. Ruby teaches good
programming by setting the goal, lowering the barrier, and providing a lot
of assistance and encouragement.

I was thrilled last year when Chris Pine’s Learn to
Program was published, and now _why has taken up the flag with his
brilliant Hackety Hack. We should
support efforts that are focused on using Ruby to teach children to
program. I think it’s the best way available right now to grow a
generation of great programmers.