Last week I read a superb article in an August issue of Communications of the ACM titled "The Singularity System".
The article talks about Microsoft's effort to create an experimental operation system written in a high-level garbage collected language (the language is called Sing# a dialect of C#).
Microsoft rethink the trade-offs of traditional architecture where resources (CPU, memory) were limited (it dates back to early days of computers in 1960s). Now with multiple cores, X GB of memory we are freed from such limitations. At least Microsoft researches did so, and decided to write an OS from the scratch using the latest technologies and achievements.
This experiment and the advance of cloud computing tells us one thing...
If an OS can be written in a high-level language, servers/boxes can be dynamically added with a single click, we (architects/application developers) should also rethink our approach to designing systems. We should be a little bit more braver and not afraid of using modern frameworks and technologies like queues, integration engines, computing engines, new dynamic languages like Scala/Groovy atop of Java, or features-loaded ultra-rich web frameworks.
And even if you hit a theoretical "performance issue" (which I seriously doubt you will), then who cares? In today's "clouded world"? Just scale it up!
What are your opinions? I'm more than happy to see your comments.
cheers,
Łukasz
2011 in review
-
It’s end of January 2012 by now, but I decided to share some stats on what
was going on with this blog in 2011. If you fancy reading my stuff (is
there any...
1 week ago
