A new era: Role Reversal.
![]() |
Now, over the past 10 years there have been many new and exciting technologies appear which help us create and develop more advance apps. Over the past 3 – 4 years, companies and individuals have been taking a different approach on the research they have been doing. Instead of creating new technologies (languages, software, etc..) to solve a problem, they have been using existing products in different roles. The two best examples of this is Adobe Alchemy and the Microsoft Research project, Singularity. If you don’t know what either of these are them a) be ashamed ;) and b) keep reading. |
Adobe Alchemy.
This is a project Adobe developed that lets you take any C/C++ library/code and use it in Actionscript. Now, if you know anything about C/C++, then you will be aware that the number of libraries and open source tools out there vastly exceeds that of Flash’s, so there is something for everyones need, and now the need to write you own is going to be almost completely redundant in the future. You may have seen some of the extreamly cool projects being developed out there, like Doom in Flash (don’t open this at work, you’ll never close it). Although this isn’t perfect, it is still quite an achievement. In time, the desktop will become the web. Going back to the original topic of this post, role reversal, who would of thought a few years ago, that the same type of code that powers the worlds most famous operating system would be able to run on the web? Now, I hope you see what I am getting at. Instead of Adobe creating a whole new language, they just took an existing language, original designed to be a low level language and made tools that let people use it in another way, which was completely unrelated to its original purpose.
One way to look at this is that nothing new has been created here, nothing has moved forward. You could say that things have moved sideways or expanded in a different direction to what has been happening in the past few years. Using the same thing, just in a different way.
Singularity.
Microsoft Windows is developed using a mix of Assembly, C and C++ (the well know ones all are), and anyone who has done some serious development with these languages know that it is very easy to go wrong and that you, as a developer, have to watch you back. C/C++ are unsafe languages which means there is a lot of room for error, but they are also extremely fast, so it’s the best choice for an OS. Now though, people at Microsoft Research have been developing their own OS, Singularity, which is developed using minimal Assembly and C (for the boot code, as you have no choice) and then using a modification of the C# language as their main programming language. Seeing where I’m going here? A high level language that is used as part of the .NET framework and for developing Windows Applications, is being used to write an operating system! Now, this isn’t going to replace the current version of Windows we are using now, or any time soon, as for now it is just a proof of concept. This is amazing though, as now you get all the safety of C# (well, Spec#) in an OS. This means auto garbage collection, array bounds checking, which means a lot less chance of a buffer overflow and the whole system would be so much more stable, but not as fast as the original Windows. The modification of C# they are using is called Sing# which is a superset of Spec#. The difference between Sing# and C# is that Sing# has support for channels and low-level programming language constructs that are needed for system programming.
You can read an overview of the Singularity Project here, and you can download it from CodePlex here.
The Final Word.
Now, these two projects are the best I could think of to prove my point, which I hope you understand. The fact that no technology is limited to one purpose and that instead of creating new languages/software, there is always the option to bend an existing one to shape your needs. 5 years ago, who would of thought that this could be possible? It will be interesting to see what happens in the future….
-Harry.









0 comments
Kick things off by filling out the form below.
Leave a Comment