Archive for December 19th, 2005

A TurboGears Book and Class


Well, the cat’s out of the bag! (I’ve always wondered, why would the cat be in the bag in the first place….)

Kevin Dangoor and I have just signed a contract to do a TurboGears book for Prentice Hall. Work has already begun, and now I know what I am going to be doing with all of my free time for the next several months!

In connection to the book publication I will be offering a class on TurboGears (the first ever) for those interested in getting up to speed quickly. For those who sign up for the class, there will be links to information and tutorials from the book, and I’ll be doing presentations from the Humantech offices every couple of Saturday’s starting sometime in January.

If we can get the distribution methods figured out I’d also like to offer the class online to others around the world who are interested in helping to review/polish the book and learn to write kick ass TurboGears applications in the process.

If you have any ideas about how you would like to online portion of the class to work, please feel free to drop me a note anytime.

Ruby and Python (Can’t we all just get along?)

Over on Loud Thinking, David Hanson creator of Rails, seems pretty frustrated with Bruce Eckel’s recent blog post about Ruby, Rails, Python and Tate’s Beyond Java book.

“I’m losing track of the ill-conceived comparisons, but I do know what’s astoundingly clear: Bruce Eckel doesn’t like Ruby, he doesn’t like the attention its getting, and he doesn’t like people such as Bruce Tate fueling that attention.”

Bruce isn’t a huge fan of Ruby, but he doesn’t slam it either. So he does have some critical things to say, but on the other hand, here are a few quotes where he praises Ruby and Rails:

Clearly Ruby is making important contributions to the programming world.

Rails approach isn’t the ultimate solution; there will be plenty of other problems that we need to solve on the way to making web development easy. But it represents a fundamental restart in the thinking process.

He does however criticize Tate’s Beyond Java for announcing Ruby to the be the successor to Java without considering Python in any depth. And from what I can tell this is a reasonable critique of that book.

I know that a while ago on the Ruby list there where some quotes from one of Bruce’s posts which were not favorable to Ruby. And there might some bad blood from those quotes. But that post is no longer available in it’s entirety, and the only thing left is a few out of context quotes on the Ruby mailing list.

So, as far as I’m concerned the Ruby folks should get over it, and start engaging Bruce in a reasonable dialog. Especially since his current stance is that Ruby is nice, but he’s not yet convinced that there’s enough benefit to switching to let go of the advantages (and yes there are some!) of Python.

Bruce Eckel on Python and Rails

Over on Artema.com Bruce Eckel reviews Beyond Java and is somewhat critical of the way that Bruce Tate jumps on the Ruby bandwagon without considering the merits of other languages, and python in particular. I agree that a book like Beyond Java ought to be looking more deeply into the future alternatives before declaring a “winner.”

And while Ruby has a lot going for it (blocks), so does Python (mature libraries). I hope there is room for both in the post-java-as-a-tool-for-every-conceivable-job world, because I really like both languages.

Bruce also brings some much needed perspective to the Rails hype:

I’m sure we will find that the Rails approach isn’t the ultimate solution … But it represents a fundamental restart in the thinking process.

In other words, Rails is light-years better than what came before, but it isn’t at all likely to be better than what comes next.

And as far as what comes next in the Python community, Bruce has this to say:

And [Rails] has caused, in the Python community, attention to Django, the development of Subway (although I don’t know how that one is faring), and the creation of TurboGears, which seems like a very good solution because it builds on best-of-breed existing pieces using a Rails-inspired approach.

TurboGears is my pick of the Python litter. And interestingly enough as far as TurboGears goes, the “rails-inspired” approach is less about API than marketing. Sure both frameworks are “full-stack” and both frameworks are “Ajax-enabled” and both frameworks include and easy to use ORM. But the syntax and developer workflow for the two projects is still pretty different.

But as for marketing, the Kevin Dangoor creator of TurboGears, learned a lot from the Rails folks about intelligent use of screencasts, and the need for a good looking web-site. But I also happen to know that both Kevin and David read the Creating passionate Users blog, which is a good source of “marketing” ideas for framework developers.

I think the most critical piece of marketing advice a framework designer could read is “You can’t out-spend or out-teach.” I think the key to developing mindshare in “the coming framework wars” is not necessarily having the best framework with the cleanest code, and the most features. It will be which framework can grab a users attention long enough to teach them something significant, so they can actually start using the framework.