TITLE: Other Folks Comment on OOPSLA AUTHOR: Eugene Wallingford DATE: November 03, 2004 3:47 PM DESC: OOPSLA recollections about language and power, simplicity and joy. ----- BODY: Some other folks have blogged on their experiences at OOPSLA last week. These two caught my attention, for different reasons. The trade-off between power and complexity in language Nat Pryce writes about stopping on the SeaSide BoF. SeaSide is a web app framework written in Smalltalk. Nat marvels at its elegance and points out:
SeaSide is able to present such a simple API because it takes advantage of "esoteric" features of its implementation language/platform, Smalltalk, such as continuations and closures. Java, in comparison to Smalltalk, is designed on the assumption that programmers using the Java language are not skilled enough use such language features without making a mess of things, and so the language should only contain simple features to avoid confusing our poor little heads. Paradoxically, the result is that Java APIs are overly complex, and our poor little heads get confused anyway. SeaSide is a good demonstration that powerful, if complex, language features make the job of everyday programming easier, not harder, by letting API designers create elegant abstractions that hide the complexity of the problem domain and technical solution.
There is indeed great irony in how choosing the wrong kind of simplicity in a language leads to unnecessary complexity in the APIs and systems written in the language. I don't have an opportunity to teach students Smalltalk much these days, but I always hope that they will experience a similar epiphany when programming in Scheme. Not surprisingly, Alan Kay has a lot to say on this topic of simplicity, complexity, and thinking computationally, too. I hope to post my take on Alan's two OOPSLA talks later this week. Making Software in a Joyous World You gotta love a blog posting subtitled with a line from a John Mellencamp song. Brian Marick writes about three talks that he heard on the first day at OOPSLA. He concludes wistfully:
I wish the genial humanists like Ward [Cunningham] and the obsessive visionaries like Alan Kay had more influence [in the computing world]. I worry that the adolescence of computers is almost over, and that we're settling into that stagnant adulthood where you just plod on in the world as others made it, occasionally wistfully remembering the time when you thought endless possibility was all around you.
In the world where Ward and Alan live, people use computing to make lives better. People don't just consume ideas; they also produce them. Ward's talk described how programmers can change their world and the world of their colleagues by looking for opportunities to learn from experience and creating tools that empower programmers and users. Alan's talk urged us to take that vision out into the everyone's world, where computers can serve as a new kind of medium for expressing new kinds of ideas -- for everyone, not just software folks. This are high goals to which we can aspire. And if we don't then who else will be able to? -----