Developer Productivity - MIA?
Darren Neimke has a thoughtful post about a Dot Net Rocks show he recently listened to. He said he gets really annoyed when people start knocking HTML and Javascript. Darren mentions sites like Amazon, Flickr, YouTube and Wikipedia as examples of what these technologies have brought us.
For me, the real story is developer productivity, which I now feel is missing in action.
My take on it is that sites like these have been built in spite of the tools being used. I wonder how much richer these sort of sites would have been, had we not been spending our time dealing with the technologies. The main reason they are successful is the ubiquitous delivery platform, not the quality of the development experience.
Darren said he'd rather maintain 10,000 lines of Javascript than 10,000 lines of VB.NET. I sure wouldn't. Assuming the code was written by people with the same skill levels (and that's usually where the argument starts), the tooling supplied for Javascript work still isn't at the same level as the tooling for VB.NET (or C# for that matter). Tooling quality directly affects developer productivity.
Browser inconsistencies is my biggest pain point. I see great web-based projects wasting huge amounts of developer time trying to make the end-user experience even similar across different browsers. This is something our industry should be ashamed of. We are wasting great amounts of clients' money on this nonsense.
Earlier this year I was involved in a public web-based project for a client. We (at the time this was Readify) had a team of four or five good developers working on the project for around seven or eight months. There was no lack of developer talent involved. What struck me when I saw the final result though is that (years before) if I had needed to quote the development of that same project as a winform app, I would have quoted several weeks in total, not several months and just for me, not for four or five people. What on earth have we done to developer productivity in recent years?
Now, you could contend that it's not a fair comparison, given the winform app couldn't have been deployed in such a public and cross-platform way but again that is a delivery platform issue, not a developer productivity issue. It's a problem that could have been solved rather than many of the other problems that the industry has tackled instead.