[clipart]When I started programming it was on the Commodore 64 (uh oh, you know this is going to be a long story - go take a piss first). I started with Basic and then eventually moved to assembly language to try and write a Bard's Tale clone with a friend. We got pretty far. I just came across the notebooks where I had scribbled all those assembly routines too - great times! But by the time we got close to having something we could call a game, Commodore had lost the battle and the IBM PC clone market was taking off. Different instruction set, different hardware and capabilities. Doh!

[clipart]My next foray into the world of programming was DOS-based in C/C++ using Borland's Graphics Interface (BGI). I even wrote an Expanded Memory manager at one point when 640kb of RAM just wasn't enough. Borland had a great compiler for students of C/C++, everyone was using it and it was affordable, so I didn't really think twice about using Borland's technologies. Plus, it was all I had.

[clipart]When it became obvious that DOS had lost the battle and the world was moving to Microsoft Windows, I moved on again. First with Borland's long-forgotten Object Windows Library (OWL) and then, when it was clear that Borland itself had lost the battle, I moved on to to the Microsoft Foundation Classes (MFC) and then just straight access to the Win32 API. At that time I had Microsoft Visual Studio 6 - what an awesome IDE.

[clipart]Windows GDI lacked power so I eventually moved on to Microsoft's DirectX (DirectDraw and then Direct3D). This was at a time when the entire known computing world was using Microsoft Windows. I barely thought twice about using Microsoft technologies. You go where the technology can be accessed.

[clipart]Along the way, I picked up a little of Sun's Java at work because the entire known computing world was predicting how big it would be. Not too soon after that IE6 plateau'd and Microsoft had started really losing developers to Java, Flash and the web. Microsoft needed to "invigorate" their platform. I think "invigorate" is another word for "developers are way sick of the Win32 API, how can we win them back?" Markup alongside managed code was to be the future. They introduced C# and started work on Avalon which became Windows Presentation Foundation (WPF) and Silverlight.

Except this time I didn't go along for that ride. I kind of got tired of learning some new technology in my spare time, becoming proficient enough to write non-trivial software and then having the ecosystem replaced by something else. I had also started getting interested in open source and cross-platform capabilities because Linux was getting a lot of nerd-love and Microsoft distrust was so high.

[clipart]Sadly, my learned skills in the Win32 API, GDI, MFC are now completely useless to me. DirectX is becoming less and less relevant with the rise of alternative platforms. Even supposedly cross-platform frameworks like Qt, Java and SDL mean that you are locked out of some mobile platforms.

So what's the point of my illustrious technology roll call and rambling history above? I wasn't trying to put you to sleep there, promise.

Why do I have to keep learning technologies only to have them killed or moved around or not accessible on major platforms? I'd rather take already-learned skills and apply them to a new area. And putting all your eggs in one company's basket just doesn't seem like a good idea to me. I don't care if that company is Commodore, Borland, Sun, Oracle, Trolltech, Nokia, Microsoft, Apple, Google or <insert name here>.

And that's why I believe the Web will eventually win as The Platform: No one company controls it - they all contribute. JavaScript and DOM and CSS skills can now be applied to graphics as well as hyper-text. Fonts. 3D graphics. Video. Audio. Access to the file system. New APIs for accessing device capabilities (like touch screens, accelerometers, webcams). And remarkably, all browsers seem to be generally moving in the same direction, with innovations being fed back into stream.

No device ships without a browser - it would be suicide. The Web is universal. As is HTML (where HTML = a collection of web technologies).

[clipart]What we have here is a platform that is continuously and incrementally evolving, has loosely-coupled technologies, that no one company controls, requires zero install from the user and is ubiquitous. And it grew from just these tiny little seeds sown in the previous decade. That's poetry.

Me like.

§850 · May 7, 2010 · Software, Technology, Web · Tags: , · [Print]

4 Comments to “Moving Right Along”

  1. I wish was also true for databases though all the regulators failed miserably and allowed Oracle to gobble up Sun without spinning off MySQL leaving me having to spend time to learn what parts of MySQL aren’t available in other SQL variations that are open source.

    My latest concern is H.264 codec and Microsoft’s decision to only support that codec. My concern?

    H.264 –> MPEG LA –> DVD6C –> Warner Home Video –> Warner Bros. –> MPAA –> Suing grannies

    Either it’s a publicity stunt or we’ll be stuck without 100% proper HTML5 video well in to the 2020’s because of this.

    I squarely place the blame on the HTML5 working group for allowing this nonsense to occur because those involved in making the final decision know very well how it’ll drag the industry down which is the opposite of what HTML5 is supposed to do for the web!

    So I generally agree that the openness of the web has a much long term viability however I still think corporations are able to hold certain aspects of it back because they have to suck every possible penny out of consumers.

    Oh and if you have time download Sidplay2 and the SID file for the game Tetris, it’s an epic track from days of past glory. 😉

  2. Great post. I think the Xbox 360 is a device that still doesn’t include a browser… 🙂

  3. David says:

    Hey Jeff,

    Nice story. Nice perspective.

    But creating a web app without a CGI (and maybe a DB) is diffiult. Web servers are really not ubiquitous.

    That’s why Java is still ok for standalone apps IMHO. It’s open too. And it’s on the mobiles.

  4. Years? says:

    Would be great if you could give the years of your experiences