Slashdot Mirror


Smalltalk Solutions 2001 Trip Report

John Squeaker writes: "Last week while the rest of the world was worrying about corporations warning, and dot coms failing, 300 smalltalkers got together in Chicago to plan for the future. Given the fact corporations like Dell have canceled their user conference this year we were very pleased with the attendence figures. The conference hosted a key note by Alan Kay, a *must* read, and the mood and general feeling of the show was captured in this excellent trip report. More information on the conference plus links to the papers/tutorials presented there can be found at the conference site. Do you want to know where OO languages like Java, Ruby, Squeak, and SmallScript come from? Then come visit us for the real story, and see what you can expect to hear in the next five years." The whole thing is interesting, but I particularly liked Tuesday. Smalltalkers seem to have a secret from everyone else sometimes ...

7 of 99 comments (clear)

  1. Smalltalk is on the cutting edge in several areas by dway · · Score: 4
    Yes, Smalltalk has been around for awhile, but it is still the source of new ideas and trends in certain areas. For example:

    Extreme Programming. The extreme programming (XP) methodology grew out of a Smalltalk project 3-4 years ago. The founder of extreme programming, Kent Beck, advocates Smalltalk as the most productive language for XP, as does Ron Jeffries, the author of the Extreme Programming Installed book.

    Refactoring. The term "refactoring" has become popular in the last few years, due in large part to the work done on the Refactoring Browser for Smalltalk by John Brant and Don Roberts. (Martin Fowler's book on Refactoring includes a section on the Refactoring Browser.) The Refactoring Browser lets you perform automated behavior-preserving code refactorings, such as abstracting references to an instance variable, pushing a method up into its superclass, etc. (There have also been some refactoring tools written for Java, but the nature of the Java language will make it difficult to create a tool as powerful as the Refactoring Browser for Smalltalk.)

    IDE's (Integrated Development Environments). Smalltalk has generally been considered a leader in this area, with its integrated code browsers, the ability to reliably look up all senders or implementors of a method, etc. (There is the occasional effort in other languages to catch up in this area, such as VisualAge Java with its integrated browsers, but VA/Java was also written in Smalltalk.) Also, to shamelessy toot my own horn for a minute, I've created an object-oriented "stacking" code browser for Squeak/Smalltalk called Whisker. I used Smalltalk to create this because the IDE supports this sort of experimentation well.

    So, to claim that Smalltalk is somehow dead or obsolete is obviously false. True, it doesn't have the marketing hype (and market penetration) that Java does, but then, what else does? :-)

    (Also, I still consider the language features of Smalltalk to be more technically "advanced" than those of Java. My personal hunch is that if you conducted a random poll of developers with *significant* experience with both languages (say, a minimum of 1 year full-time experience with each), probably 90-98% would agree with this. Of course, the same is probably true of Scheme vs. Java, or CLOS vs. Java, etc.)

    Anyway, Smalltalk is obviously not the answer to all programming problems. (I wouldn't use it to write a device driver, for example.) But it is still one of the best (if not *the* best) options for many larger programming problems.

  2. Some of us use it by hding · · Score: 5

    I have to do some of my development in Windows, and boy was finding Dolphin Smalltalk a nice thing for me. And no, I'm not some holdover from the 80s - when I started to do programming in the past couple of years (my training is really in mathematics; I wound up here via a winding path), I looked into various languages, tried them out for some of the things that I need to do, and found that two "old-timers" languages (Common Lisp and Smalltalk) fit many of my needs (which, incidentally, are not at all exotic - I do programming for a small trading firm).

    It's a shame that so many people have preconceptions about various languages (often formed on the basis of where they were twenty years ago rather than where they've advanced to today) and therefore avoid checking them out to see what good things they can do.

  3. Where Java came from. by Carnage4Life · · Score: 4

    The story submitter states:
    Do you want to know where OO languages like Java, Ruby, Squeak, and SmallScript come from?

    Although it is true that Java is heavily influenced by Smalltalk, there are also distinctive parts of Java that are based on Modula. Most prominent of which are the Exception handling mechanism and threading model based on Monitors.

    --

  4. After 14 years of working with it ... by crovira · · Score: 4

    I can report that Smalltalk it the best computer language out there despite its only flaw (contained objects don't know about their containers unless you create an explicit link back to the container. That makes instantiation in context more complicated.)

    It consists of a few fundamental rules, ruthlessly applied and a huge library of functional objects.

    I have done things in Smalltalk that are years ahead of what I accomplished in previous languages (C, COBOL, PL/I, APL, BASIC etc.) because the environment is reflexive and additions are interactive.

    Its not that I couldn't have done all this, even in assembler, but that I'd still be scratching out code and waiting on compile-links. With the Smalltalk IDE it was there waiting for me to use it and to build on it.

    The closer other languages and IDEs get to where Smalltalk was (because its a moving target,) the better Smalltalk looks.

    --
    MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
  5. Smalltalk trip report. by pallex · · Score: 5

    Its now been 3 hours. Attempted to virtualize base methods into my new class, but got distracted by hairs on my right thumb. Also, humming from PC now becoming unbearable. Will go for a walk outside, its sunny and i can hear the birds sing. Mellow/not confusing at all, but nice visuals, especially the traces, which persist for several seconds.

  6. Various links for Smalltalk by merigold77 · · Score: 5
    Smalltalk Links

    I believe EZBoard is written in Smalltalk

    Volkswagen Beetles with code in Smalltalk

    Extreme Programming was invented while Kent Beck was consulting on Smalltalk projects

    I think that's enough for a start :)

    --
    Writing is the only socially acceptable form of schizophrenia. (E. L. Doctorow)
  7. Dead wrong! by werdna · · Score: 5

    nobody bothered to solve the interesting problems that Java addressed - perfect portability of source and byte codes, a single standard and just-in-time compilation

    No, that isn't the case. The free Disney R&D implementation of Smalltalk, Squeak addresses these issues, in some cases profoundly better than does Java.

    Indeed, Java hardly offers "perfect portability," the "write-once, run anywhere" claim is marketing hype at its best. It is, in practice, quite difficult to get identical results from any but the most trivial Java programs.

    In comparison, a multimedia GUI-based application in Squeak runs pixel-for-pixel IDENTICALLY across a vast array of platforms. I wrote a video game for my wife's birthday in Squeak, complete with animation sound and graphics, from the machine at my Office, a Dell PC Laptop. I sent the image by e-mail to my home, flipped it on her iMac while she slept, fired it up, and it just worked. Identically.

    On the other counts, Squeak has a JIT (plus many other nice internal features including object send caching, a sweet and super-fast generational garbage collector), and there is, in fact, an ANSI standard.

    Indeed, Smalltalk's source code is virtually identical across implementations. (The syntax, which --in this sense only-- is super-elegant, can be trivially described in a handful of rules). Except for one religious issue (closures for code blocks). Differences in and interoperability problems between implementations derive primarily from the underlying framework libraries provided with those codes -- a problem hardly unique to Smalltalk.