curl http://www.paulgraham.com/avg.html | sed s/Lisp/Smalltalk/g
I've been asked to give a keynote talk on Seaside at this year's Smalltalk Solutions, which is a real honor. The trouble is, I've now got to figure out what I'm going to say. Here's the abstract I've just written; comments welcome. It's pretty ra-ra-Smalltalk, but then, this is a Smalltalk conference.
It would be hard to imagine a worse model for user interface development than HTTP. Would you use a GUI framework where every event from every widget in your application was handed to you at once, periodically, as a large hashtable full of strings? Where every time a single piece of data changed you had to regenerate a textual description of the entire interface? Where the event-based architecture was so strict that you couldn't ever, under any circumstances, open a modal dialog box and wait for it to return an answer?
Those are the costs of using the web browser as a client platform, and, by and large, we accept them. The dominant paradigms of web development -- CGI, Servlets, Server Pages -- do very little to hide or circumvent the low level realities of HTTP, and as a result, web applications are fragile, verbose, and ill-suited to reuse.
Smalltalk can do better. More than that -- Smalltalk is uniquely suited to do better. To date, we've followed conventional wisdom and built Smalltalk implementations of the same old paradigms, providing familiarity and compatibility. But by throwing these away, Smalltalk can instead provide an overwhelming competitive advantage. By leveraging Smalltalk's particular strengths, we can abstract away the ugliness of browser/server interaction in ways that simply aren't possible in other environments, and profit greatly by it.
For all its limitations, the web is fast becoming the most important deployment platform for many classes of application. The Java, Perl, PHP, and .NET worlds, to name a few, are pursuing it agressively. Many of us are going to have to play their game -- but we don't have to play by their rules.
Comments
Sigh
[Avi Bryant] February 4, 2004 1:11:18.526
Sorry for the messed up formatting, I can't fix it until I get BottomFeeder working on OS X...
Re: curl http://www.paulgraham.com/avg.html | sed s/Lisp/Smalltalk/g
[Michael Lucas-Smith] February 4, 2004 4:53:56.320
Comment on curl http://www.paulgraham.com/avg.html | sed s/Lisp/Smalltalk/g by Michael Lucas-Smith
That sounds great Avi. I look forward to seeing it. wrt Vancouver, it doesn't look like we'll have enough time to squeeze in even a day trip to Canada - as much as we'd love to!
Re: curl http://www.paulgraham.com/avg.html | sed s/Lisp/Smalltalk/g
[James Robertson] February 4, 2004 11:41:08.383
Comment on curl http://www.paulgraham.com/avg.html | sed s/Lisp/Smalltalk/g by James Robertson
I've posted a Mac OS X packaging of Bf on the BottomFeeder page - let me know if that sets up better on OS X
Sts keynote
[Dave Astels] February 27, 2004 9:09:49.442
I'm looking forward to your keynote! Maybe I can buy you a beer and we can talk about your MFA trial experience. Dave