Tuesday, February 13, 2007

The UI of programming languages

I've started to run unit tests and functional tests in Ruby on Rails. This is a milestone. I haven't done much of this in the past - as this is usually a "core developer task", but I have found with Ruby, that many of the tasks that traditionally have been devided by Front-end and Core dev has become much blurrier. And, I found out I like writing test cases.

I am a pretty traditional front-end developer - HTML, Javascript, Scripting languages (JSP, ASP, PHP, XSLT), and CSS. Throw in Ajax and DHTML if you want to cut up the Javascript area further. But now, with Ruby on Rails - the ability to do the controller logic, model development, and TestCase development has opened it up so I can contribute at a much deeper level. I still don't get into the trickier SQL or performance issues, but it's clear to me that with Ruby on Rails, and specifically the improvement to the Application Developers User Interface that is writing code - it is easier to understand the process and to develop the application in a shorter period of time - that I am able to accomplish more where before I would have had to work with a core developer. I assume this is also true for the core-developer. With all the built in "helper" functions in RoR, it's very easy to make a web page look great and use all the latest Web 2.0 gadgets.

This is pretty interesting. Donald Norman's book "Things that make us smart" included examples of everyday tools that make you feel smart or powerful - like the calendar or road map.

The Ruby on Rails development environment has a similar effect. You just feel like you can do more, cover more ground, in a shorter period of time. I suspect this is similar to the feeling early Java developers got in 1995-1996 when Java started to be used for large-scale web applications.

I expect we'll go through another leap in usability in the future - maybe 10-12 years from now - one that will allow more people that want to, to create a web application. Putting this power in the hands of the artists and authors, skipping the developers, seems like the ultimate goal.

No comments:

Post a Comment