I’ll admit it: I’ve been bitten by the Ruby bug. I LIKE RUBY. There, I said it. It’s concise and easy to write code in once you’ve memorized the specific ways you’re supposed to do everything. So now that I have some basic introductory experience with Ruby, I decided to fiddle around with the GUI tools. I heard a recent Pragmatic Programmer podcast entitled FXRuby with Lyle Johnson and was entirely sold on the idea of learning FXRuby as my Ruby GUI framework. If only things were so simple…
Let’s begin with what I should have done. I should have just bought the book and PDF like I always do and spend a week and chug through it and be thrilled with the whole thing. But since I haven’t quite finished either the Developing Rails Apps book or the Deploying Rails Apps book yet, I decided to finish those first and read about FXRuby at its home page.
This seemed like a great approach at first; hell, the FXRuby online walkthrough was done by the same guy who wrote the book, so how much different could it be? Well, I don’t have the book, so it’s hard to say, but suffice to say I have high hopes for the book after being let down by the online walkthrough.
The walkthrough starts off great: you write the obligatory ‘Hello World’ app, and you extend it with a button and then the button gets an icon. Great! And next we get to do copy and paste. A little bit of a jump there as far as difficulty is concerned, but ok. And then…drag and drop. Wow, that got complicated really fast. Here’s when I realized that I wasn’t going to learn FXRuby from this web site:
The top of the page tells us that we’re in a section called “The Basics”. The second sentence also tells us that Drag and Drop is “one of the most complicated”. Why is one of the most complicated features discussed in the introductory basic section? There’s no reason for it! In the “basic” section, we should be tought about “basic” things in FXRuby. Labels, buttons, layouts, events! You know, basic stuff. In fact, even though the walkthrough is called “Designing GUIs with FXRuby”, not too much is really covered and the reader is referred to the appendix for more info. There are other minor gripes I have but I’ll relent for the time being.
Then why do I have high hopes for the book? I think the podcast really sold me on it. Lyle talks about how you can’t learn FXRuby by looking at the appendix and how you need to dive into it and use it. And that’s exactly the point I’ve just spent the last paragraph beating into you! From the table of contents you see that a Photo Library app is constructed and eventually you learn about the details. Great! This looks like the Pragmatic Programmer series of books I’ve come to thoroughly enjoy!
The downside of this is that the web doesn’t really have a great reference on FXRuby. You need to get the book. Maybe that’s a bad thing, maybe it’s a good thing. At the least, however, I think the walkthrough should really state what it really is, which is more of an advertisement. It should say “Here’s some random cool stuff you can do in FXRuby”, because that’s what it really is. It’s not a user’s guide, or walkthrough. It shows you a couple features and that’s that.
Once I finish the other books, I’ll be sure to pick it up and revisit this topic. Hopefully the book will live up to the other Pragmatic Programmer books!