Now I’m getting really off topic. But, what was the topic anyways?
I used to be a programmer and had a spin-out company from Queen’s University in early 1980s where we had designed and implemented an awesome and mathematically robust parallel programming language, Nial http://en.wikipedia.org/wiki/Nial.
Listen, this was a loooong time ago – there was a bit of a Unix micro-computer bubble and the IBM PC arrived around 1982. Our research group was sponsored by IBM back then.
Anyways, the article below talks about how difficult distributed programming is. But, there is a new kind of application layering going on now with the cloud. I understand that it’s not easy to design a scalable application for the cloud, but I don’t think you have to worry so much about the grotty details that you do when distributed systems programming. I think you can achieve a tremendous amount by working primarily at the application layer and letting the virtualization and load-balancing do a lot of the auto-magic. I do know something about load balancing distributed systems as I wrote my Master’s on it and I also know that there is still a lot of promise that isn’t quite yet delivered in the cloud.
On the other hand I am not a programmer any more, so if it is still very very difficult, it’s not my problem!