Making programmers more productive

Making programmers more productive

Summary: A decade or so ago, I was excited about Java.  The promise of Java as a language was that it would make applets, servlets, and other Internet programming tasks easier.


A decade or so ago, I was excited about Java.  The promise of Java as a language was that it would make applets, servlets, and other Internet programming tasks easier.  While I was and remain a Perl junky, I drank the Java Kool-Aid, believing that I needed to build my Web applications in a language with sophisticated infrastructure for them to scale and operate reliably.  And I wasn't disappointed.  My company successfully built eCommerce applications in the late 90's using Java, JSPs, EJBs, Struts, and other Java components.  They worked well and we had a development methodology that delivered on time and on budget.  Our efforts were rewarded by being bought by Excite@Home for $400 million in 1999.  But, it wasn't easy and it wasn't the sort of thing a lone developer could do--at least not without superhuman abilities.  Whenever I programmed Web applications for myself, I turned back to my beloved Perl.

Lately, the Java sheen has worn off for me.  Over the years, I've been involved in numerous Java projects and taught Java-based Web development skills to hundreds of students.  Java and its frameworks and infrastructures are what I term "heavyweight" development  technologies.  In my opinion, Java is best suited for large projects carried out by large teams of programmers.  We could debate whether such projects are a good idea in any event, but that's a different topic.

I've become reconverted to lightweight Web development.  The lightweight Web development framework that is on everyone's lips is Ruby on Rails.  I'm not a Rails programmer (yet), but everything I've read and seen has led me to believe that it is having a real impact on Web development.  Some of the students in my lab are Rails programmers and I've been involved as a consultant to a project that's using Rails as the development infrastructure.  Rails met the lightweight development methodology we were after and the results have beenastounding.  Especially when compared to the results of another Java-based project by the same group of programmers. 

Rails is the result of David Hansson's vision.  A recent CNet News article discusses the result of Hasson's  vision:

Hansson's quest to build a practical and productive Web development framework demonstrates how a single person can shake up the status quo, even in a development world where a few companies dominate.

The trick, said Hansson, is to "slaughter the holy cows," the well-understood ideas of computer science that dictate how programmers work. In many cases, software vendors design products for difficult problems, an approach that leads to excess complexity, he said.

I attended a tutorial on Rails by Hansson at OSCON earlier this year and came away impressed.  In the tutorial Hansson built a functioning blog application before our eyes.  Admittedly, the demo was scripted and not a full-featured blogging tools, but I couldn't imagine a similar exercise using other frameworks and languages I'm familiar with.  Rails favors convention over configuration.  That principle is a big part of Rails' success because it means that programmers can control applications as they write code without breaking trains of thought to think about and create configuration schemas. 

Whenever I listen to CIOs and IT managers, I hear about long project lists and insufficient resources.  The common tactics for dealing with the backlog is to ask for more money and people or to tell people "no" more often, but there is a third way.  The third way requires that IT shops become more productive.  My advice is that you don't let things like Rails and other dynamic languages pass you by: start some pilot projects now and get experience with them.  I think you'll be pleasantly surprised. 

Topic: Software Development

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • Ok, ok

    I have called for another round of meetings with PAPPL. Ruby seems to be just a small change from Perl - which PAPPL likes, so maybe just maybe I can get this thing approved. Those Japanese are questionable characters though, when it comes to languages. I was made into a human (child) guinea pig in the 60's as the Initial Teaching Alphabet (ITA) was used for the first time in US acedemica (phonics). It was great as I was able to read books a full 6 months ahead of my (TO) peers - however written English is NOT a phonic langauge - so my mind still tries to SPELL things phonically in English - leading to many spelling mistakes (usually with incorrect vowels). In any event, this ITA monster came from Japan! In terms of history, the ITA program was discontinued after a few years when those bright students that could learn to read SO much faster than the other kids (6 months), began to show "problems" in their spelling. So a nice phonic language caused PERMANENT DAMAGE to spelling ability. "Hooked on Phonics" is no different than hooked on crack . . .
    Roger Ramjet
    • Ok

      Roger That!--Hey you're funny.
      D T Schmitz
  • I though that problems was effectively solved by MS

    25 years ago with the release of Basica.... ;-)
  • I have my doubts

    Ruby isn't exactly a new language - it's pretty old, in fact. Am I to believe that if it hasn't gained much popularity by now, that all the sudden it's going to gain a bunch of popularity?

    And what's so different about this than other ways of programming for the web? Why is this any better than Perl or PHP?

    I have my doubts.