Will .exe’s become extinct?

Most people might laugh if you tell them that the days of the traditional windows executable file are numbered, but I wonder if instead of laughing we should be preparing ourselves for this day. If you didn’t know this today, Google unveiled their new OS, which is basically a Chrome front end on top of a Linux distribution. More info can be found here: http://lifehacker.com/5309868/google-releasing-chrome-operating-system.

Google at this point in time have a lot of open ambitious projects on the table, including G-Drive, Google Wave, Android, Google OS, Native Code, Google Voice to name a few. This really is starting to look like  a hostile take over. I’ve said it before but I will say it again, if Google want their slice of the action, they will have to annihilate their competition, completely blow them out of the water, take over and destroy. It seems Google are lining up all their ducks.

You might be thinking all of this is panic talk, because Google OS is targeted at Net books. If you really think it will end there, please grow an imagination. Net books are the ideal hardware to target because Net books are lacking a Safe, Simple and Fast OS, welcome Google OS. But it won’t stop there because if you didn’t know this Google OS is not really a self standing product, its a Linux port that will target ALL x86 based hardware. Yes that does include the PC!

Linux has been sitting quietly in the background for way too long. I had another good look at it recently as a desktop replacement OS for Windows, but its kinda lacking in some areas, mainly its just not getting the support it needs from major software vendors like Microsoft, Adobe, Skype, Google to name a few. Linux has also never had a really good marketing campaign. Linux alone is not enough to spark a take over. What Linux has always needed is some major backing, and it looks like Google will be providing this backing. Right now we have 3 main players in the desktop arena. Windows, Linux and Mac OSX. Google enrolling Google OS really does change things considerably, because now vendors targeting Google OS (which will be mainstream) will also inadvertently be targeting Linux platforms, because it seems that really Google OS will just be a Linux port, and not a complete rewrite. Before you say – that leaves Windows and OSX on an equal playing field think again, take a look at what is running under the OSX hood, that’s right its a UNIX based OS. Something of a cousin to Linux and Google OS, while Windows is sitting somewhere on left field.

The article above states: Developers looking to specifically target the Chrome OS need not apply, as Google says “the web is the platform”—the system will, in other words, run web applications online and offline. But this is not to say that creativity for this platform will be lost. Rather what it means is that Google envisage an era where JavaScript and Native Code will replace the traditional windows executable. Essentially this means that all future OS’s will be built around the web platform (According to Google JS and Native Code). If this is not starting to make a lot of sense, you have to think cost of implementation and reuse. Things just got a whole lot cheaper to implement.

What does this mean for the average Microsoft Developer? Do not worry, none of this is going to happen next week, Microsoft are not going to go out without a fight. But lets just imagine that Google are successful with their take over, where does this leave the C# or VB.net developer? That’s what I like most of all about Googles strategy, it seems Google are really trying their best to cater for all kinds of existing developers, and not asking them to learn all new programming languages. 2 of Googles most ambitious projects are examples of how Google are catering for non Google developers. Native Code and Wave have been designed  to allow for development in all the big languages :  C#, Java, Ruby, C++, etc.

My final thoughts are, I am a bit disappointed that Google OS will start its life as a very basic OS (really just a browser running web apps). But after thinking about it, I realise that this might be the best thing for computing, to break away from the old model, and move forward. The idea is to have code that runs on multiple platforms, as efficiently as possible without requiring additional layers of interpretation. True write once, deploy more software. True a lot of work still needs to happen, but things are looking up.