views:

243

answers:

2

Greenspunning. We've all had occasion to hack around a language's missing features to get what we need. Implementing pseudo-monadic patterns in Java, Y Combinators in Javascript, variable immutability in C...

What do you consider your most impressive workaround in search of greater functionality? In hindsight, was it worth the hack? Even better: did it, like Ruby's string#to_proc, become an accepted feature of a later version of the language?

+1  A: 

Back when I was at high school (many moons ago), I wrote code to intercept the Apple II CTRL-D DOS handler, the one that you used with the likes of:

print chr$(4);"catalog"

to do your DOS wizardry.

We added all sorts of commands such as text output to the graphics screens, fast graphics manipulation, sprite manipulation, music playback in the background and so on.

Then Beagle Bros Software (I think that was their name from memory) came out with a similar product several months later and my dream was over.

Who knows, I could have been the next Woz (if only I'd had an equivalent Jobs to do the marketing). Oh well, c'est la vie.

Was it worth it? Yes, the Apple II first piqued my interest in computers and caused me to choose a career path that's kept me gainfully employed (and happy) for more than 25 years.

paxdiablo
+1  A: 

Moose is a Perl 6-style object system for Perl 5 written on top of Perl 5’s Python-style object system; in turn it spawned Joose, a port of Moose to Javascript that received a bunch of accolades from Google (mainly the App Engine folks, apparently).

Aristotle Pagaltzis