SWIK, Multi-Language Systems, and Welcome
Posted by Jerry Kuch Mon, 24 Apr 2006 17:49:00 GMT
Along with Marc Wandschneider and Alex Bosworth), I’m one of the developers of the new SWiK site. In the past, I’ve worked on many things including operating systems, multimedia, security and crypto software, a virtual machine, niche embedded stuff, network appliances and more. SWiK’s the first web-based tool for the open source community (indeed the first web application of any real size and traffic) on which I’ve had a chance to work, and I think it’s quite neat what Sourcelabs is trying to give back to the open source commmunity by sponsoring the system’s development and hosting it and its ever-growing heap of content.
I’m generally interested in building multi-language systems where, to speed development, a system is decomposed into subsystems whose implementation technologies are chosen independently to make life easy. Pieces can then be replaced, tuned or re-implemented as reality and empirical measurement dictate, hopefully leading to less development time spent and cost being incurred than would happen building a giant hairball out of technologies that are lower-level (and thus more expensive to work with) than they need to be. It appears that someone has given roughly this idea a cute pattern name: AlternateHardAndSoftLayers
So, I guess I’m an AlternatingHardAndSoftLayerer since 2000. Before that, I spent a few years working in a place where one used the company’s doctrinally correct and ideologically pure technologies for everything, whether they made any technical sense in context or not. When I moved over to work on and with more open source software, the sense of relief was comparable to finally being allowed to use clean one’s teeth with a special-purpose brush after years of being permitted only to use an old screwdriver with a bent blade and a cracked handle.
SWiK, which is mostly implemented in object-oriented PHP 5, with a smattering of side-utilities written in Java, and a few bits in Ruby, is sort of an example of this idea, and has served to get me interested in Ruby, which has in turn moved me to look at Rails. In particular some of the efficiencies to be gained from metaprogramming in general, and from Ruby’s particular expression of some ancient and frequently rediscovered ideas from Lisp and Smalltalk has caught my attention. I’ve not yet had a chance to build something really big with Ruby or Rails, but my initial experiences have been quite pleasant, and so I’m on the lookout for opportunities to do so if these technologies genuinely appear to be (at least part of) the right solution.
For some of the same reasons, I’m also hoping to pick up Python again, after having briefly dabbled in it a year or two ago, before I was sidetracked by something else. Strangely, on returning to Python, it seems just a little bit less nice than it did two years ago. I don’t know how much of this is due to readjustment pangs, and how much comes from subconscious comparisons to Ruby’s arguably nicer structure and syntax. Time may tell.
