Tuesday, January 18, 2011

Coding in the Cloud... Feels good like back to the 80's

I started programming on a VT100 terminal in 1980, with:
  • a white/black screen / 24 x 80 characters
  • no disk, data on a server
  • vi
  • assembly language + C on Unix
  • a few programming books
  • some deep thinking

I loved it!

Then, after a few detours through:
  • a dozen or so programming languages
  • fancy OSes on hi-res overheating laptops
  • 'integrated' development environments
  • 'code assist' (enough said)
  • no thinking (replaced by 'IDE' and 'code assist')

Recently I've gone back to a more productive environment:
  • 24 x 80 characters
  • vi
  • a few programming books
  • Web search
  • some deep thinking

I can think again!

But still missing that part:
  • no disk, data on a server, always on, accessible from anywhere

Then something cool happened today:

The Google Project Hosting team just announced the ability to edit programs directly in the Web browser using an online editor powered by CodeMirror. With Mozilla's SkyWriter, and Eclipse's Orion, that's one more way to edit code 'in the cloud' from a connected device.

That works well for me, as most of the programs I write these days run on servers 'in the cloud' anyway (say, big servers on a network instead of my laptop).

I've also been looking at the iPad as a programmer terminal and wondering about the upcoming iPad-2.

So, here's my future programming environment:
  • White/black screen / 24 x 80 characters
    How about an iPad-2, Google CR-48 or similar netbook and a single Web browser window with big fonts?

    I haven't been lucky enough to receive a CR-48, so I'm thinking about buying an iPad-2 out and hacking a programmer-friendly keyboard app for it.

  • No disk, data on a server
    Anybody say Cloud?

  • VI-like
    CodeMirror, SkyWriter, a hosted Orion server, or I'll just hack up a vi-like editor on top of one of these projects.

  • Assembly language + C Well, I have to use Java at work, but on my spare time I like to code some C, C++, Scheme, Lisp, Python or F#. Feels better. I haven't written assembly language for a while, but now that I think about it...

  • A few good programming books
    Receiving the new TAOCP-4a book tomorrow, and will probably spend a few nights reading it.

  • Web search
    Allow for a second browser window.

  • Some deep thinking
    Still thinking...

I already love it!

Hmmm, the new iPad-2's rumored fancy screen should be enough for some 24 x 80 coding, right?

Is IPad-2 the new VT100 terminal? :)

1 comment:

Peter F Weller said...

Hi, was just reading through this post and a lot of what you wrote reminded me of one of Stephen Ramsay's blog posts: Life on the Command Line (http://lenz.unl.edu/2011/04/09/life-on-the-command-line.html) and its follow-up posts.

I've been more and more tempted for a while now to move back to a tiling window manager (I was an avid wmii user for a while), and also try to lean toward CLI applications where possible. May have to take action soon!

The postings on this site are my own and don’t necessarily represent positions, strategies or opinions of my employer IBM.