Code Publishing

Being a subscriber [either by email or RSS] to various sites, i get a plethora of handy hints each morning which i archive, either physically or mentally- depending on the juiciness of the hint. Over time, i have noticed that the number of code samples being published daily is increasing. Some are new, some not. Others; interesting twists on old concepts and every once in a while, a real gem. Regardless of their subjective quality, it is encouraging to see the larger developer community thriving and eager to share. Yet, not without it’s a funny little twist.

It’s easy enough to code and it’s also getting harder 🙂 Gotta love paradoxes. In getting easier to code, it’s getting easier to do the cool stuff that used to take “rocket-scientists” many lines of code and various libraries to get right. It was fragile work and the versions between languages, compilers, linked libraries and even OS’es sometimes, had to be just right. Not so much anymore though. But gettting the fragile stuff right taught you things you didn’t know you needed to know. And on the plus, your application failed fairly quickly [yes, that’s a plus], keeping that feedback loop tight. Now, that feedback tends towards the false-positive.

Applications take longer to fail because the semi-automatic cleanup of resources and layers of abstraction [framework of a framework of a framework] do their best to hide the fragile stuff away. They’re not perfect [yet] but we do rely on them to the point that we can end up writing code with “unknown” consequences [to ourselves that is]. Particularly when we do something outside the majority solution scope. More than it being a problem for us, in our enthusiasm, word is spread too quickly and it becomes a problem for someone else too. Hence an equally growing number of “You did what?!” and support forums 🙂

And this is where it also gets harder because the framework of the framework of the framework is so overloaded to accommodate every conceivable situation that the volume of required interacting objects increases. And it’s knowing the nuances of each object which is not always easy to do, particularly if you’re not working with it every day. So when your brain hits upon an ingenious little trick, how sure can you be about the assumptions the frameworks below you made about your neat little implementation?

Nonetheless, the ecosystem of sharing we have created thus far is well balanced with a lot of diligent watchers out there making good catches and as enthusiastically sharing the gotchas. It’s keeping that balance in harmony which is interesting as the increasing number of developers communicate their increasing learnings in an increasing technology set within the increasing scope of business possibilities. All this, within the increasing number of mediums in which to communicate…

Of course, the disclaimers about the code not guaranteed to be working in a production environment, yadah yadah yadah, are all good and fine… but you do need to take responsibility for what you publish 🙂