Skip to content

great web hosting with Dreamhost


Get MTW by Email

Enter your Email


Powered by FeedBlitz


  • Syndicate RSS 2.0
  • Syndicate with Atom

Creative Commons License

Blog Directory - Add Link

NoSpec!

Feedburner!

Performancing

Blog Directory

get camino browser

GeoURL


Learning Ruby and Ruby on Rails

My Reasoning

Web design is getting more and more complicated and client’s expectations are getting more and more sophisticated. People want both more flashier presentation and more interactivity for their sites. The presentation component calls for Flash or JavaScript effects. The interactivity calls for server side programming. Keeping current is a lot of work if not totally impossible. What’s a fella to do?

The simple answer is learn to program. Even Flash requires programming if you want to build any kind of interactivity into your movies. Great idea but I’m a designer and don’t really know how to program anything. Oh, I can do some simple PHP and JavaScript tricks and more or less know where to look in somebody else’s program to find the HTML part to tweak but that’s about it. If Dreamweaver doesn’t handle my PHP needs I’m basically SOL.

Where to start? As a middle aged HTML jockey I’m not going to go back to college for a computer science degree, so it’s pretty much learn as you go. Obvious, but where to start?

If you keep at all current with the current web buzz you know that Ruby on Rails (RoR) is the wonder child of the year. Twitter and 37 Signals have gotten a lot of press and have put RoR on the map.

But does popular equal good or appropriate? In this case I think the answer is a qualified yes. Ruby on Rails is what’s called an application framework. A framework is a combination of a program to program and formal conventions designed to speed up development time. The idea makes a lot of sense. Much of programming web sites involves doing the same kinds of things over and over, not anybody’s idea of fun. The RoR framework automates many of the repetitive tasks involved in creating an interactive website and greatly speeds up development time. Cool.

Of course, Ruby on Rails is not the only web development framework around. And whether or not it is the best is a subject of debate. But it is popular, and in large part because its creator inventor, David Heinemeier Hansson, is an exceptional salesman, which creates a sort of self-fullfilling prophesy loop. More people are convinced that RoR it the place to be so more people work on the project. With more programmers involved RoR gets more mature and feature rich more quickly.

If you are already comfortable in another language like Python or PHP you might want to look at frameworks written in those languages Django, a Python offering probably fits my immediate goals better than RoR. There are other Python frameworks that bear consideration. I’m just not qualified to judge their quality.

I also took a look at some PHP frameworks. It’s probable that my small knowledge of PHP might save a bit of ramp up time in learning. But two factors influenced my decision to learn Ruby and RoR. The most important is that the tremendous popularity of RoR has influenced a lot of very talented people to write some good books on the framework and on the mother language, Ruby. Programming is enough like mathematics that my experience with calculus probably offers a good preview of what learning Ruby will be like.

Simply put, calculus was hard for me. My brain doesn’t easily follow the kind of logic tracks that it requires. I needed five textbooks, all covering to same material to grasp some of the concepts. Often I just couldn’t understand one author’s explanation and needed another take to clear the mud out of my head. My small experience with programming has been similar. I sometimes need to have the same concept explained multiple times in multiple ways before it becomes clear. Ruby on Rails and Ruby have enough reference material published that I have access to the different explanations that I need. PHP, in general, does but none of the PHP frameworks has anything that I can grok. It’s the same with Python. I would need to spend months getting enough of a foundation under me before I could even begin to grasp the details of Django or it’s competitors that the possibility of bootstrapping myself into productivity this year is virtually zero.

The other reason is simple. Apple will bundle Ruby on Rails into the version of OS X. I’m enough of a fan boy to appreciate that. If another framework like Django or CakePHP were included instead my choice might have been different.

To Date

I tried to get myself ramped up with the first, and most popular, Ruby on Rails book, Agile Web Development with Rails but it was simply over my head. So my venture into Ruby on Rails has been slow.

The learning options a year ago were slim. There were a number of tutorials online. I tried most of them out but they weren’t geared to a novice like me. Like most tutorials they are quick looks into the potentials of RoR but not complete enough for a non-programmer to do more than follow along. That’s not saying that they aren’t valuable, just that I need a more basic and systematic type of instruction. I imagine that real programmers can use them to kick start a real project. Maybe someday…

So to facilitate learning I bought a couple of RoR books. The first was last September, Ruby for Rails by David A. Black. That was still a bit advanced for me, though I look forward to re-examining it shortly. What I can understand seem well written and it gets good reviews.

Finally I found something written to my level, Ruby on Rails for Dummies. It explained some of the terminology that more advanced texts assumed I already knew and it provides a gentle introduction to RoR. It is a good first baby step for the non-programmer into the world of Ruby and Ruby on Rails.

Another advantage I realized from the Dummies book is that I really needed a basic grounding in programming in general and Ruby in particular. So, I’ve taken a short side trip into Ruby with Learning to Program With Ruby.

More on that soon.


Possibly related:

1 Comment Add your own

  • 1. virtual receptionist&hellip  |  July 5th, 2009 at 3:13 pm

    virtual receptionist…

    Answering the phone is a critical function in any business. It shouldn\’t be a big deal, but for many small businesses, making sure the phone\’s answered and answered professionally is a very big deal….

Leave a Comment

You must be logged in to post a comment.

Trackback this post  |  Subscribe to the comments via RSS Feed