Join the Conversation


  1. Yes, so, hi. A while ago I left a comment about using a Scheme interpreter implemented in Java ( to implement a continuation-based web framework.

    Yes, well I had no idea how bad using Java actually was. Using SISC is fine if you’re already a Java programmer and you want to experience a nice language without having to learn new libraries, but, well, I give up.

    Plus, it turns out, implementing a continuation-based web framework (it’s easier to call them “modal frameworks”) is a big pain in the ass. The only really industrial-strength one out there is Seaside,, which is for Smalltalk. I know there are other modal frameworks (PLT Scheme, Uncommon Web, Scsh web server, etc.) but Seaside blows all of them to smithereens.

    I don’t know if you’ve ever used Smalltalk, Cote, but it definitely beats the ever-living shit out of Java in an awe-inspiring way. All the OOP/XP book authors/thought leader people are oldtime Smalltalk whizzes who for whatever reason decided to abandon their beautiful, beautiful language and development environment for the dirty hellhole that is C++ and Java.

    Smalltalk doesn’t win at data munging (Ruby does), but really the tools in Squeak blow away Emacs, Eclipse, vim, Textmate, and whatever else you can name. You wind up writing most of your code at the debugger! Squeak, the Smalltalk implementation I use, is implemented in itself, so the code to everything — including the object system and the compiler — is right there in beautiful, well-factored methods for you to browse around. In going through routine tasks of looking up methods you learn about how the system is implemented by osmosis. There’s relatively little documentation on libraries and classes because it’s built right in to the code itself: you use Squeak’s tools to find docs, find reusable methods/classes, all without leaving Squeak.

    Actually that’s one of Smalltalk/Squeak’s flaws: besides having pug-fugly GUI widgets, it’s very much an all-or-nothing proposition. You can’t use subversion or your familiar text editors, at least when you’re first learning.

    To summarize: if you’re thinking of doing real high productivity web development with complex applications Google and Yahoo can never attempt, Seaside is at this time the only way to go. Lisp is great when it doesn’t have to talk to the outside world much (and when it doesn’t, it totally outshines everything else), but there’s no use spending 8 months debugging logic that Avi Bryant already implemented.

  2. Data munging? Hmmmm….
    Data munging or data crunching or data manipulation or data cleansing or data transformation?

    Use a general-purpose programming language for data crunching – or a specialized programming language for certain types of data crunching?

    There is such a specialized statistical programming languagae at
    (as an attachment to the August 31 blog entry).

    It’s for cleaning , transforming , and preparing data for analysis or reporting. It does not yet have statistical tests (ANOVA, regression, etc), but you can already use it to reshape the data prior to using S-Plus or R.


Leave a comment

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.