Monday, August 30, 2010

Ageism and mis-tuned loops

According to TechCruch ageism is alive and well in Silicon Valley. As I've stated before... you have to be careful what you tune your feedback loops to optimize on, in that case it was the subject matter of blogs and conversations... in this case, it's the nature of the technology that gets developed.

When you optimize along the lines of youth and vigor, you lose experience as a lever in the bargain. You end up wasting a lot of time re-exploring parts of the design space that have already been explored, several times in some instances.

Example....

In the early 1970s, the problem was that an explosion of processor types meant that compiler writers found themselves overtaxed trying to keep up, so they came up with a virtual processor as a means to help contain the extent of code they had to write on each new system, and thus the UCSD Pascal  P-system was born.

However... it was slower than native code, and it had no separate process space to run applications on separate from the development environment, so it tended to crash a lot.


In the 1990s, the problem was that an explosion of web browsers meant that developers found themselves overtaxed trying to keep up, and so they latched on to Oak (now Java) as a means to help contain the extend of the code they had to write on each new system, and thus Java is run almost everywhere.

However... it is slower than native code, it has no separate process space to run applications, and it's security model sucks (again).



Meanwhile, Microsoft had a problem with security and applications. It chose to implement a new virtual machine platform in an attempt to isolate applications and ensure their security by clever design of compilers and runtime systems, this gave rise to the .NET platform.

However... they seem to also have chosen the wrong security model, and because they are trying to include the entire operating system in the .NET framework, there are a huge number of libraries involved, and the performance and maintenance of it has a very high cost.



So... as you can see... the same bad choices for building a VM keep cropping up... something an experienced programmer would know about and avoid, at least by the 3rd time. 8)

No comments: