Tuesday, June 26, 2012

Reinventing The Wheel

I used to live in the server-side Java world.  Now i live and breathe client-side javascript.

My primary observation about both so far is that in an environment of fast developing platforms, the frameworks and tools never quite seem to keep up or otherwise meet the needs of even half the developers out there.  When faced with a shortcoming, rather than wait for fixes to be incorporated, there are always plenty of coders who would just rather "do it better."  So they reinvent the wheel, sometimes for better, sometimes not.

I increasingly find myself becoming part of the "problem." I see holes in frameworks and browser APIs and get ambitious ideas about filling them.  Or i go look for other people who filled them already only to find that they don't conform to the ideology about client web apps that has formed in my head over the last five years.

So i'm starting this blog to pontificate about the ideology that has formed thus far, and honestly, to codify it for the benefit of my own brain.  As a verbal processor, the act of setting these ideals outside my brain is of great personal benefit.  These ideals currently take the form of "rules" i intend to promote to the client-side javascript developers of the world.  I will probably also use this to share "wheels" that i have personally bothered to (re)invent for public consumption.  And yeah, there may be the occasional useless rant about something in the client javascript world that currently irritates me.

The rules to follow are like any other code i write: subject to continual revision and occasional reinvention.  Thoughtful feedback is likely to drive that process.  Kneejerk responses and angry ego-bashing are liking to inhibit it.  But you knew that already, right?

Thanks for your patience.  Especially with the "wheel" metaphor, as it is likely to get tired.  Bah-dum- ching!