5/29/2008 - By: Todd Spatafore
Today I was pointed to an essay by W. Daniel Hillis titled "Richard Feynman and The Connected Machine." This essay started off with a phrase that I wish I could say, but never will get a chance to, "One day when I was having lunch with Richard Feynman." Start an essay like that an I am hooked. Most of the essay is about Mr. Hillis starting a company that was building a massively-parallel-processor computer. About half way through the essay is this paragraph:
To find out how well this would work in practice, Feynman had to write a computer program for [Quantum Chromodynamics]. Since the only computer language Richard was really familiar with was Basic, he made up a parallel version of Basic in which he wrote the program and then simulated it by hand to estimate how fast it would run on the Connection Machine.
My first thought was, "he did what, in what language?" I have a co-worker who will turn off if you suggest writing anything in basic, and here is one of the finest minds of the 20th Century making a version of basic that will run on a machine with 64,000 processors in 1983. Then he's simulating the code by hand. A-frackin-maz-waitforit----ING!
Stop for a moment though, why write it in basic? Would I write it in basic? No. Why not? Because I am not familiar enough with basic to do that kind of work. I'd write it in C#. The reason I would use C# is not because I drink the Microsoft Kool-Aid (even though I do), it is because I'm most familiar with C#. It may not be the best language for the job, but if I need to get something done I need to go with what I know right now.
What does this have to do with Silverlight? I am regularly asked in the course of a day why someone would write something in Silverlight instead of Flash. The answer is the same as why Richard used basic to code his program. It depends on what you know today. I know how to write C# very well. I don't know anything about ActionScript. Why would I go out and learn ActionScript to do something I could write in C# today? When people ask me why I like Silverlight, my answer is that as a .NET Framework engineer, and a C# coder to be more specific, Silverlight has a lower bar of entry than Flash does for me.
Does that mean everyone should use Silverlight? Heavens no, but if you are a .NET Developer and already know the framework you have a good head start to learning Silverlight.
As for the rest of the essay, the ending is a bit of a downer. I'm sorry that Richard Feynman is no longer with us. I'm glad that he has "told most of the good stuff [he] [knew] to other people." At least we have stories like this one to read.