Bindings, Platforms, and Innovation
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
Tracking change and innovation in the enterprise software development community
Posted by Alexis Midon on Apr 03, 2007 12:00 PM
Why is Ruby on Rails one of the most popular web frameworks? Does Ruby on Rails introduce many new and revolutionary concepts? Or does it simply offer better implementations of old, common and well-known design practices? That is the first question asked by Giles Bowkett. He illustrates his discussion by comparing the View/Controller patterns in Rails to Seaside's (Seaside is a full-stack web framework built in SmallTalk) components and rendering methods. Would it be worth replacing the Rails views/controllers with an approach more similar to Seaside?
Giles highlights the pros (e.g centralized management) and cons (e.g meaningless URLs) of such an architecture:
couldn't you just emulate Seaside's componentized nature by replacing Rails controllers and views with Builder templates containing objects with built-in render methods which call other Builder templates? And the thing was, it'd work, in fact you'd basically get everything but continuations, but the question was whether it'd be worth it if you didn't get Seaside's session management, and whether the session stuff would or wouldn't be a nightmare in any language but Smalltalk. The idea was that Rails' template system is a big fat smelly onion. We ended up with a design that would probably work much better than Rails, in fact, for Seaside-style development, and still have all the advantages of Ruby over Squeak -- easier DB/Unix integration, more developers, etc.
In the numerous comments, Assaf Arkin kindly responds by indicating how to implement a kind of template-less solution using a capture method in Rails, while Ramon Leon and Giles Bowkett go a step further and envision a best of breed solution implementing Seaside on top of Ruby on Rails.
Despite his innovative ideas, Giles Bowkett is a real Rails aficionado. The ease of development is the best Rails asset but could it turn into a weakness? That's the second question Giles Bowkett asked, fearing the Bram's Law: The easier a piece of software is to write, the worse it's implemented in practice:
...this has always been my fear for Rails; that in five to ten years, the worst jobs you could get will be Rails jobs where you're maintaining stuff built by non-programmers who figured Rails made programming so easy that they didn't really need to understand what they were doing.
Usage Landscape: Enterprise Open Source Data Integration
Agile Development: A Manager's Roadmap for Success
The Agile Business Analyst: Skills and Techniques needed for Agile
Yes, I am sure people laugh at that "fear" - but it has happened before anytime, with easy to use software. Although I am thinking of office automation type stuff, like Excel, MS Access etc (they are the big ones). They were never that popular with programmers, which is one of the differences with rails. If it sticks to its current niche, I don't see any similar danger. But certainly, the world is powered by apps build on MS Access, Excel etc that were built by non programmers - good or bad, thats just the way it is !
I spoke with Seaside creator Avi Bryant about these concepts here: http://blog.caboo.se/articles/2007/4/8/heresy-and-turtles-all-the-way-down-with-avi-bryant
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.
This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.
This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.
This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.
After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.
IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.
Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.
2 comments
Watch Thread Reply