Mike Levin SEO

Future-proof your technology-skills with Linux, Python, vim & git... and me!

Preparing For a GAstroid Strike

by Mike Levin SEO & Datamaster, 11/15/2009

The Google Chrome browser set off a performance war centered around JavaScript and will soon support native code and 3D graphics, meaning in-browser Halo-like performance. The Google Chrome OS is due out any day, which is likely to let you boot in seconds on a broad diversity of hardware. On this Chrome OS/Browser platform, if you want a language that brushes aside the arcane overhead of C++ while providing Python-like elegance, you may eventually be able to use the Google language, Go, created by the inventors of Unix itself!

If Go catches on, you could have language to rule them all—a replacement for JavaScript in the browser, a replacement to compiled C-encumbered C++, and a replacement for agile P-scripting languages  (PERL, PHP, etc.). Apps that feel a bit too much like Web-apps, like Google Docs and Wave, suddenly start feeling a lot more like native apps, aided not just from code execution with Go, but also with a 50% Internet communication speed boost, thanks to the Google-innovated SPDY Web protocol alternative to HTTP.

And in the meantime, Google’s making JavaScript as fast and pretty as possible with initiatives like Closure, providing both easy user-interface bits in the browser, and the ability to compress and optimize them for performance. You say your work needs to be server-based? No problem. Just slam out a free virtual instance of a server with Google App Engine.

Getting the picture? There’s potentially a tectonic shift coming. A Google asteroid heading straight into the information technology world amounting to nothing less than a K-T boundary extinction event. Google isn’t just for search any more. They’re able to leverage their stellar success in search and advertising to potentially re-write the rules of IT.

Sure, for this tectonic shift vision to occur, tons of experimental and unproven technologies need to take hold. The whole Geoffrey Moore adoption cycle needs to occur, with much of the world fighting tooth-and-claw against it. The solutions first need to get polished, then a generational influx of youngsters who never knew anything different needs to occur. Basically the same thing that happened with DOS to Windows, or C/C++ to Java, or VAX to Linux/BSD.

But what Google’s stuff has going for it that could accellerate the process, even for us old fogies, is that it’s feeling pretty darn  appealing, with all the proprietary stink fanned off due to open sourcing so much out of the gate. For example, Go is open source from the start. All this open sourcing means that Google is stating that adoption is more important to them than short-term profits. This spells out a long-term disruption strategy—an attempt to render all competitive and proprietary technology inferior, passe and moot—truly dinosaurs stuck in the cross-hairs of a giant GAstroid.

I speak from the heart, because I myself have been rendered into a dinosaur several times in my career, continually having to reinvent myself and jockeying for a seat at the mammal table. I started programming at 12 years old on TRS-80’s. My first personal computer was a Coleco Adam at 13 years old. Then I got a Commodore Amiga when I was 18. Then I moved to DOS and Windows, though my heart was still with the Amiga. I even had a shot at Unix System V release 4 circa 1991, and passed it over. Ha ha ha!

Most recently, it’s getting myself off vintage Microsoft Active Server Page and onto the next thing, which I believed would have enough life in it to make it worth it. But I feel this tectonic shift coming, and am frustrated at all the everything-depends-on-everything interdependencies. I alternatively tried .NET, Java, and Ruby. None stuck, until my work FORCED me to take up something that Google supported, and had pre-written API libraries. I finally looked at Python.

So finally, I ended up on Linux as my OS, Vim as my text editor, Python as my language, Apache2 as my webserver, and anything with an abstracted API as my database. Read between the lines here. I’m preparing for impact.

I can’t tell the future, but I can tell what the turtles and alligators of the new world are going to be. Google is not throwing away Linux as a way of booting a machine far enough to get a browser running. They’re not throwing away the browser. So Unix is the turtle, and text editors like emacs or vim are the alligators. The language is a bit tougher, and something of a gamble, like on small mammal’s or birds. I’m putting my money on Python, but will keeping an eye on Go.

Unix-like OSes and Web-browsers seem to have the tough hide and survivor qualities of turtles and alligators. Languages and protocols are another story, but we can infer.

I’m tempted to extend this metaphor to talk about the things that MIGHT be long-term casualties, such as C++, HTTP and JavaScript. But I’ll stop with just calling out where I think it’s safe. Learn Unix-like OSes. Master a ubiquitous powerful text editor that serve as an IDE. Gamble on a language that you feel is not philosophically and technically facing a dead-end. And be prepared to thrive in a time of great uncertainty when everyone else is finding their sunlight and food sources cut off.