(This interview appeared before on 17th Aug. 2006 on the PuneRuby blog).
There is a lot to learn from experienced Ruby developers and in our continuing series of talking to such Ruby enthusiasts from around the world, Satish Talim today talks to Peat Bakke.
Satish Talim>> Hello Peat, and welcome to PuneRuby. Could you tell us something about yourself?
Peat Bakke>> Hello, and thank you for the opportunity! I’m a somewhat entrepreneurial software developer, and at the moment I’m particularly keen on e-commerce and helping small businesses compete in larger markets. Software and computers have been a constant interest since I was a little kid, but haven’t always been my focus. In school I studied economics, philosophy, and linguistics; I’ve lived on three different continents and travel as much as I can; I’ve worked as a photographer, video engineer, and all over the software industry. I really enjoy exposure to different cultures, professions, and responsibilities … and I hope it’s improved how I approach and write software!
Satish Talim>> Given the choices out there, why did you select Ruby?
Peat Bakke>> I’ve built websites for about ten years, using Perl, PHP, Java, and Python … so it was the advent of Rails that really made me pay attention to Ruby.
I’ve stayed with Ruby because it’s so darned fun to work with, and the Ruby community in my home town (Portland, Oregon, USA) is really great. The language is very well suited to the work I do, and I’m finding it’s also well suited for a lot of work I don’t do!
Satish Talim>> How did you learn Ruby and when?
Peat Bakke>> I first fiddled with it about three years ago, but couldn’t find a good application for it in web development. It was like stepping back ten years to when I started building web sites with Perl and CGI.
However, last April someone introduced me to Rails and my local Ruby group, and since then almost 100% of my development efforts have been in Ruby.
Rails is a very pleasant way to learn Ruby if you have a background in web development. Rails takes care of all the magic, and only requires knowledge of the very basic bits of Ruby to accomplish some very cool things. It’s a very rewarding system to learn, and the more you learn, the more it rewards you.
One specific example is that early on I wrote some really terrible scripts to interact with Amazon’s Web Services, and as I learned about Ruby’s facilities for mix-ins, blocks, and introspection, those scripts became leaner, cleaner, and more readable.
I guess that’s just the long way of saying that I learn by doing. I’ve bought all the Ruby books, but I have to admit I haven’t been able to read more than a couple of chapters of them. I don’t even reference them. I’ve found Ruby enthusiasts on the Internet and in real life to be the best teachers.
Satish Talim>> Which features of Ruby do you like the most?
Peat Bakke>> In order: syntax, mix-ins, introspection, and runtime extension.
The Ruby syntax feels cleaner than most — it’s well structured, and there are shortcuts when you need shortcuts … but not so many that it becomes unreadable in the hands of the impatient. Mix-ins are a good approach to multiple inheritance. The introspection features and ability to extend classes at runtime make some terribly hard problems very easy to solve.
Specific features aside, I think Ruby just hangs together very well. The whole is greater than the sum of it’s parts, so to speak
Satish Talim>> Do you think Ruby has the potential to be a mainstream programming language?
Peat Bakke>> The potential is certainly there: the essential bits are very easy to learn, the features go very deep, and there is a lot of buzz right now about Ruby and Rails.
That said, it’s terribly difficult for languages to become dominant in any industry, much less the several industries it takes to become mainstream. To make that break through, Ruby needs to be recognized for more than just Rails — it needs a hot development environment, a killer desktop application framework, the support of major businesses, and legions of developers who are eager to show that it’s not just a “web” language. I think it’s on the way, but there’s still a long way to go!
Satish Talim>> What applications, utilities have you developed in Ruby and what platform are you running these applications on?
Peat Bakke>> Too many projects to list here, but one of my recent public sites was Cuppin.com, my team’s entry into the RailsDay 2006 competition. It’s a fun little app that lets coffee aficionados track, discover, and talk about coffees they enjoy.
Most of my development happens on my Apple MacBook, and I prefer to deploy on FreeBSD. I like my Apple because the development environment is solid, and TextMate is a great editor. I love FreeBSD because it takes under an hour to go from an unformatted system to a rockin’ Rails application server with the latest and greatest tools.
Satish Talim>> Anything else you would like to share with the PuneRuby members?
Peat Bakke>> Ruby is a great language, but it’s still just a language. Software is built to serve the people who use it — so do your best to make your users happy!
Also, if any of your members come to Portland, please feel free to send an e-mail to email@example.com … I always enjoy learning about people’s projects and cultures, and I’ll buy the first round of drinks!
Satish Talim>> Thanks Peat for sharing your views with the PuneRuby members. You can be in touch with Peat via his blog.
Update: Peat’s blog talks about this interview and mentions – “I’d love to hear more about how (if?) the Ruby language is catching on down there, in India. Would request PuneRuby members to voice their opinion on my blog.”