The birth of software

Here’s a really well written article on the birth of software and how the new breed of web applications are going through the same steps as the first desktop apps; it’s amazing how much humanity repeats itself.

Joel suggests that a new programming layer should be added to client-side development. In his view, the way we program in Javascript now can be equated to old developers programming in Assembly, and that we’ve yet to find the web’s C.

A lot of what the author’s talking about makes plenty of sense, but I can’t help but think he’s trying to carry over desktop programming concepts into the web world. The way I see it, the big limitation for JS development isn’t the bandwidth issue, the relatively slow performance of JS compared to a traditional app, or even the bugs and quirks each browser spits out; it is in fact the drastically reduced amount of control JS has over a system. To reference the author’s analogies - we don’t even have the option to sit down and tinker in assembly and to develop that advanced cross-browser communication stuff, simply because the JS language has been blocked off from even theoretically being able to do all that stuff.

Obviously there’s a really good reason for limiting the level of control Javascript has over a system, but as more and more complex apps pop up Microsoft & Mozilla will have to start dealing with giving some control back to developers. How do you grant full control over a computer to a website without facing huge security risks? Humans have already shown their reluctance at reading warnings, and hackers are getting better at understanding the human psyche.

posted : Friday, December 7th, 2007

tags :