notkeepingitreal.com

software, business, and other business

RailsConf talk: Martin Fowler Keynote

“The conference people must have thought I would be interesting. I don’t know where to begin to talk about what’s wrong with that.”

“I think rails has legs to carry it into the future. I actually thought smalltalk had legs, but hell, hopefully I can’t be wrong twice about the same thing.”

  • I’m really interested in enterprise design, even though enterprise is a pretty bad word in these circles.

  • I’ve never actually used rails. I would, but I just haven’t needed to build a database-backed web application.

But rails is certainly interesting. Why is that

Opinionated

  • This is not software for everyone; it’s made for certain kinds of applications.
  • One object to one table. I never really thought it would work as well as it has. ActiveRecord is the best implementation of the active record pattern I’ve seen.
  • There isn’t one architecture that can be used to solve all problems.

Drive Towards Simplicity

  • Enterprise Javabeans (EJB’s) was a framework with enormous power that was difficult to use for practically any purpose.
  • There were backlashes against EJB’s in java (hibernate), and they went still further in ActiveRecord.
  • Ruby and Rails challenge the notion that to do something quickly, it must be a dirty, hackish, unmaintainable mess. Like smalltalk (nice plug_), things can be quick and clean. And they can even have testing built in. Awesome!He had the ill English accent and would probably never actually say the world ‘awesome’._
  • Agile dude Kent Beck liked to talk of Conversational Software Development get a feature request, do it in two hours, and talk about it with the customer again.
  • Is it good to fire first and aim later? Perhaps so, depending on how many bullets and how much time you have. If you release software and see how people use it, it’s a great way to gather requirements (despite the fact that the order seems totally backwards).
  • Rails keeps you out of the plumbing and allows you to work on the interesting business aspects of the software.

Ruby

  • My progression in terms of scripting languages I used was: Shell > Perl> Python > Ruby.\ * A lot of what makes rails great is ruby.\ * Railsconf was a bit of a failure since it was necessary to have a conference at all. The best thing would have been if rails was so simple that it didn’t needed a conference at all.\ * He likes throwing stuff together, as long as it’s designed well, and ruby is a great glue language.\ * Smalltalk likes to put everything in a nice neat package, while ruby goes ahead and recognizes the complexities and works at dealing with them. \ h3. People in the Community \ * Interesting stuff tends to pop out of an interesting community of people. In fact, that’s why I got into ruby in the first place Dave and Andy were so passionate about it.