DHH, the creator of the Ruby on Rails framework(say what??), came today (via Skype) to speak to the Flatiron School’s Ruby006 class for a whole hour. It was rad that he took the time out to do that and awesome to hear what he had to say about Ruby and learning to program.
One thing he said that stuck with me was the following:
Programming with Ruby is more fun than any other language.
In fact, DHH said he didn’t really realize how much he loved to code until he started using Ruby to do it.
Although he could accomplish things pretty easily with languages like PHP (where there’s always a method that’ll take you directly where you need to go), the experience he had to get to that same program using Ruby was more enjoyable.
It wasn’t until he used Ruby that he could really look at code and say “This is beautiful.”
This was good to hear for a few reasons. I’ve spoken with a number of ex-programmers who’ve had negative feelings towards the profession (which I realize is not the same thing as having negative feelings towards programming in general). And it scared me that, although I’m loving what I’ve done so far with Ruby, that this would not translate at all to a work environment. But after hearing what DHH said, the negative feelings may make more sense, especially given the people with these feelings were using more primitive, “less expressive” languages like PHP or C.
On the flipside, if DHH didn’t love programming until Ruby, does that mean I won’t enjoy learning another language? That might pose a problem, especially because creating software for native mobile applications (so important right now) requires learning other languages, which involve frameworks which are closed- (not open source) like Objective C - the iOS language.
I can’t speak to these languages and their merrits personally, and I’ll deal with potentially not enjoying coding sometimes when it happens.
But the whole iOS app development thing brings me to another point DHH made- he said that the very fact that a language or a framework is open source changes the way it evolves and the way great developers (like DHH) will interact with it.
I loved the metaphor DHH used to describe what it was like developing an iPhone appilcation. In his early programming days, he programmed mostly for others, then he started his own business, BaseCamp and built this amazing framework, Rails - so, in short, he’s sort of surpasssed the whole “working for the man” thing at this point. And then all of a sudden he wants to create an iOS app, and it’s like he’s back in school; he has to submit an assignment and wait for the teacher to grade him (someone at Apple to approve it) for it to be available in the Apple store. Otherwise NO ONE can access it.
With open source software, anyone can create and contribute and immediately make amazing (or shitty software) available to whomever wants it.
Anyway, it was really damn awesome to hear this prolific guy speak to us. And full disclosure, I didn’t know he existed until a month ago, but Avi really talked him up so I was stoked when I saw him on the screen. Thanks DHH (and Avi Flombaum)!