Saturday, February 12, 2011

Cloud-based IDEs in the Perfect World

One of the complaints I see on mailing lists for the Google CR-48 laptop is the lack of development tools, particularly the absence of Java. As a developer it can be a bit frustrating to have your favorite portable computing machine bolted into a scantly-equipped programming environment.

But the CR-48 is designed to embrace the concept of cloud computing. This means in a Perfect Universe, all tools you would normally expect to find on your typical desktop will have been moved to the internet as web-based software. In this Universe, you no longer have to install, maintain, synchronize or otherwise deal with software installed on your laptop, desktop or work computer. This will all taken care-of at various data centers in the cloud (AKA the internet.)

So if you want to open Notepad, you will just point your web browser to the notepad application on the web. If you want to compile some C++ with the GNU compiler suite, you'll simply point your browser to an AJAX application which will give you a command prompt. If you want to debug a C# application, you will just goto Microsoft's website where they will have your personal copy of Visual Studio online, complete with all your projects. Everything in the Perfect Universe will happen through your browser, so there is no need to store anything on your computer. These earthly things will be left behind.

But in the Not-So-Perfect-Universe none of these web applications actually exist yet. And we should be mindful of the fact that these type of applications are incredibly complex and expensive to build - much more so than the original desktop applications they will be designed to replace. The technologies needed to elevate us to the Perfect Universe are fragmented, distributed and kludgey.

This is not to say it won't all one day come true, but it aint gonna happen in 2011.

So for a code geek using a cloud-based appliance like the CR-48, the frustration is understandable. The CR-48 in user mode grants no access to the underlying file and operating system. So you can't install all those juicy developer tools and languages.

(You can go into developer mode on the CR-48 and install Linux, but it's not playing fair by the cloud, so we will ignore that option in this discussion)

If you were thinking 'Java applets, maybe I can do those', I am sorry but Chrome OS doesn't speak Java. Not even in the browser. However, it does fluently speak Javascript if that's any concession. Not quite the Cockney of computer languages (like Perl) but more like pigeon english. The compensating factor is the Chrome browser Javascript engine - V8 - which is essentially Tornado in a can. It speaks Javascript very fast. If you live in the cloud you'd be crazy not to use it, whatever harp or computer you choose to play.

Given this future, it's amusing to think the Javascript language is going to be critical to the success of living in the Perfect Universe. The language is so limited it begs the black arts of the high coding priests whose bag of tricks will make it good again. Apparently, the services of this elite priesthood will matter, because research has shown that even 500ms web application-induced latency will drive away 20% of your online customers.

So in this Ominous Perfect World, if you are in a pinch and must use your web browser for all things, here is a short list of browser-based development tools that look promising:

Jgate Free IDE + hosting for Javascript & Java apps.

ShiftEdit an IDE for several languages.

Good luck.

No comments:

Post a Comment