Google App Engine and Language Wars

, , 2 Comments »

appengine.gif Yesterday I attended Google Application Engine Hackathon in Atlanta. I guess it’s the kind of thing that one could call Geeky Weekend Fun, programming all day, with like-minded folks, trying to create something.

My application was a bit too ambitions, so it didn’t get finished, but I will get back to it in the coming days. Best app that did get finished, and someone in that group even snagged a domain name for it, was LangWar.com . The source code is here, and yes, it’s all in glorious (gore-ous?) Python.

My thoughts? I still love App Engine as a concept, but it still remains Love/Hate relationship because of Python. With all due respect to the language, it doesn’t feel like it is best suited for web development, even when using popular Django template framework. I am sure it will become Love/Love, if Java becomes supported by GAE! So, Googlers, grab OpenJDK and get right on it!

The whole Hackaton experience prompted my thinking again about the characteristics of “good” or “best” programming language. As always, the big thing about defining “best”, is identifying characteristics to rate on. So, I am going to try and put short list together:

  • Ease of Expression – How easy is it to put into “words” what is it you want computer to do for you
  • Speed – How fast can computer accomplish what you wanted from it
  • Integration – This one is an attempt for catch all category, from how well it works with other existing tools, to cross-platform / cross-OS compatibility, to Visual Editor integration

I am really trying to keep list to top 3, but many people will argue that best programming language is simply the one that you know. That’s fine when you developing something by yourself, in a Tundra, with no hope of survival or escape. In real world, however, software gets developed by many people, and usually goes through many cycles of corrections and improvements. You need other people to be able to locate piece of code that does “X”, and be able to easily read and modify it.

Turning into long post, so I will stop. The idea is mostly to provoke some thought. Some people will argue that in today’s world, the Speed factor is irrelevant, since computers are getting faster and faster. Others argue that “Ease of Expression” is overerrated and entirely relative. For them, code that says ‘ a = !regex(‘[dfqwer]x643DA*-’,*&x) ’ is easy to write and quick way to express what they mean… hmmm…

And The Clouds Shall Set Us Free

, , , , , No Comments »

There is still about two weeks to Microsoft’s acclaimed Professional Developers Conference 2008, where all (or at least a lot) will be officially revealed. But I want to jump the gun and theorize, or perhaps even Dream, of what’s to come. It is widely expected that Microsoft will launch their next generation Cloud OS (Operating System), named Strata. Obviously this is mostly targeting servers, but the concept of servers and clients is becoming more and more obsolete as the computing devices undergo daily transformation.

It is a little known fact, but I have long been proponent of Cloud Computing, even if it wasn’t called that, back in a day. In fact, in late nineties I wrote a thesis paper on just such a design, proposing that roaming Java Agents, traveling over storage/computing platform compiled of thousand of cheap nodes (as in PCs), will comprise a super computing network. This was just around the time when Google where building their platform, and we all know how that turned out. In fact, another little known fact (it seems, though one would suggest that It Is Obvious) is that Google’s biggest competitive advantage isn’t their “amazing” search engine, but their Amazing computing platform, with thousands of nodes and Big Table architecture.

But, I digress. This post is about Microsoft, who I hope will finally join the official fray and come out with properly implemented computing cloud/platform (Disclaimer: I’ve said before that I have few Microsoft stocks that I own, so there! In fact, I keep recommending that you go out and pick some for yourself, they are Greatly Undervalued now).

This post is about Cloud Computing as a Game Changer! Though we are yet to see full power of properly implemented cloud, if done right, this can finally bring the cloud into the Corporate America. My hopes are that Microsoft are finally “getting it” and will unveil just such a platform, both hosted by them and available for purchase and installation in GE’s of the world (read: Big Corporations).

What is the single biggest place where this transformation should start? The DATA, silly!!!

This is turning into long post, with no pictures. So I’ll just stop, and if you’re interested to discuss it further, comments are open for just such a debate.

I leave you with a few resources for “fun” reading on the web. Yes, all of us in the IT world need to brace ourselves for this fundamental change, or perish with the dinosaurs.

The Original - Concepts behind Google’s BigTable
The Open Source – Apache’s Hadoop platform, and HBase BigTable like implementation on it
The High Performance – HyperTable is an attempt to produce something as fast as BigTable

The only handicap for our Cloud right now is the Network. I am sure that bigger people than me realize this, so change will come there also! So be sure and be ready (Netbook, anyone?)

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in
Close
E-mail It