. .


Rails to Seaside

May 6, 2010 10:50:54.448

I ran across an interesting post from a guy who's made the move from Rails to Seaside - not because he has anything against Rails, but because he decided that Seaside was a better choice for him. You should really read the whole post - he goes through his learning process (yes, there were and are some hurdles to getting into Smalltalk) - but I really liked this bit:

A real debugger - in reality, most development time is spent editing code, and debugging. Debugging web apps has always been a tough thing. With seaside, it’s really a matter of going to a debugger on a crash, and inspecting the objects. You can edit the objects (and their methods) while they are live. While the system is running. you can also set breakpoints willy nilly, and inspect and edit the system on the fly. It’s hard to describe how alive the system is. You just need to try it.

People underestimate the importance of this a lot. In fact, you can find plenty of developers (including Rubyists) who will tell you that you shouldn't debug at all; tests will do it all for you. What that really means is this: debuggers in other languages are very, very different from what we have in Smalltalk, and when you get into Seaside, it's even more cool:

  • It's not just a debugger - it's a live editor of your code that happens to be debugging a live process
  • In Seaside, you can debug intra-hit

That latter part tends to throw people unless they see it; here's a screencast showing it off in Seaside, and here's another, showing it off in WebVelocity - which moves the entire Smalltalk environment into the browser itself - allowing for a seamless develop/debug/deploy chain. I like to describe it this way: normal debugers let you play the part of forensic pathologist - you get a dead body, and have to figure out what killed it. With Smalltalk, you're a surgeon - the patient is knocked out, but you can patch him up and send him off after you wake him back up.

One thing that I just noticed - I haven't done new versions of those videos in a bit - so I guess I have a couple of screencasts to do in the near future :) When I do that, I'll update this post. Anyway - they show off what I'm on about. Give WebVelocity a try, and see what Smalltalk can do for your Web Apps - it combines ActiveRecord with Seaside, along with the full support of the Cincom Smalltalk team.

Update: The Seaside screencast has been updated

Technorati Tags: , , , ,

posted by James Robertson

 Share Tweet This