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 Sam Aaron on Dec 11, 2007 10:19 AM
Pragmatic Programmer Dave Thomas, author of the ‘pickaxe book’ Programming Ruby, and co-author of Agile Web Development with Rails and The Pragmatic Programmer, found some time to talk with InfoQ about Ruby, Rails and the importance of choosing the right tool for the job.
Watch the full interview here (22 mins)
When asked what he thought about the influence of Ruby and Rails, Dave hoped that it would encourage developers to explore and discover new options, rather than sticking to the same set of tools:
“People have seen the success of Ruby, the success of Rails and said: “Oh, it is possible to use something different.” and that’s encouraged people to go out and explore.”
When asked why people should explore other options, Dave described how in certain contexts it made business sense to use instead of one of its competitors: J2EE
“If you look at Rails, most of the consultants that I know that are experts in both Java and Rails will tell you that they get between maybe 5 and 15 times performance increase, let’s say 5. They can write their applications maybe 5 times faster, so for domains where Rails is applicable, and that’s not all domains, but in those domains where it’s applicable a shop can turn out an application with 20% of the effort, if they were to use Rails over say C# or Java. If that’s the case then really you could say that developers who stick with the Java model and C# model are actually being negligent, because they are costing their shops so much extra money”
Dave also believes that some of the more ‘enterprise’ solutions can also be very hard to learn:
“I don’t even know how a beginner J2EE developer gets started, because the stack of books you have to read just to write a simple J2EE application it’s probably 5-6 feet tall”
“It’s a lot of pain for not much payback”
Dave cited a lack of vendors as one of the advantages of lesser-used technologies such as Ruby. In fact he believes that vendors can actually get in the way of choosing the right tool, as they have an agenda for just one technology:
“I think anybody who tries to push any technology in as the solution is missing the point.”
However he emphasised that Rails wasn’t always the best solution, and that the important thing was to make sure that you choose the right tool for the job:
“Rails is a particular solution for particular set of problems and part of the trick is making sure you use it appropriately.”
Dave described how Rails is an example of a framework that focusses on one particular problem-set and doesn’t try and solve every developer’s need. He hopes that people start to realise the benefit of this approach, and start to write more similarly focussed frameworks for particular problems:
“I think what we are going to see, or at least I hope what we’re going to see, is people realizing yet again there is no one single best solution and that maybe we can look to have smaller and more focused frameworks or solutions for individual styles of problem”
Finally, when asked why Ruby made him happy, he was only too pleased to answer:
“Coding in and Ruby makes me happy because it’s one of the shortest paths between my brain and a computer. I can think of something and I can express it very succinctly and typically fairly elegantly in Ruby without all the kind of extraneous fluff that you need in most of the languages and that makes me happy.”
Watch the full interview here (22 mins)
Give-away eBook – Confessions of an IT Manager
Usage Landscape: Enterprise Open Source Data Integration
Ensuring Code Quality in Multi-threaded Applications
The Agile Business Analyst: Skills and Techniques needed for Agile
It would be really great if you could make interviews like this available as podcasts, for those of use whose best time to listen and think is the daily commute.
I second Joel's request. The iPhone doesn't support Flash yet so it would be great to watch these via QuickTime.
Calling developers "negligent" for not trying the latest domain specific solution is indeed strong words from a book author/consultant. At least that was my take (admittedly I was doing other stuff while listening). On another note, why is this a video? Surely more people would "tune in" if it was an audio only podcast (not to mention bandwidth saving, potentially). In this case the video doesn't add much (although its nice to see people talk from time to time, so some videos are nice of course). Just a thought (I am sure its already in the pipeline).
I should clarify its not "trying" - its "using" that he meant. (trying would of course be ideal, in fact all professional should try lots of things, lots of the time).
I should clarify its not "trying" - its "using" that he meant. (trying would of course be ideal, in fact all professional should try lots of things, lots of the time).
On this topic of offering interviews in multiple formats, I wholeheartedly agree. Every interview should be available in the following formats: Text transcription Downloadable mp3 Streaming video (when applicable) Podcast video If these options were present, I would probably watch/listen to/read 3x more interviews and visit the site more often.
Some people feel so strongly about Rails, it's nice to see someone suggesting that neither Rails nor the alternatives is the one and only solution: that developers should choose the technology that suits the task.
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.
7 comments
Watch Thread Reply