Women in Technology

Hear us Roar

  Daddy, Are We There Yet? A Discussion with Alan Kay
Subject:   Smalltalk vs Java
Date:   2004-01-12 13:39:03
From:   anonymous2
One should understand the past to get glimpses of the future. Smalltalk vs Java is a good point to do this study. Why Java succeed where Smalltalk failed?

There was marketing. Xerox PARC is widelly known as a market failure, while Sun manage to bring Java, since its early version, to the spotlight. There is no reason that we should expect future decision to adopt this or that solution without a strong marketing support.

There is timing. Virtual machines are expensive in terms of speed and memory consuption. However, when Smalltalk appeared, we were "not there" yet. Smalltalk was a heavy load and it was very difficult to use. Computers were not so as wide-spread as today. Java, on the other side, got in the market "just in time" for a amazing growth of CPU and memory in a already ubiquitous PC.

There was freedom. Smalltalk was about "take it all or leave it all". Java is a language, that can be used in different environments. Developers have their ways. I, for example, around 89/90 was using Actor and not Smalltalk, because it was more windows like.

Syntax also plays a role. Although Smalltalk is pure OO and beautiful, it is easier for a programmer to learn Java (most of them know Pascal/C ou Basic).

In a way, this points to a future where:

1. Successes should mix good technical reasons with strong market.

2. Sucesses should be revolutionary and evolutionary at the same time. New concepts should draw people to it, but the "interface" should change little from what they are used to.

3. Sucesses should allow for freedom of choice in things other that its own "master concept".

4. Sucesses should be affordable.

Full Threads Oldest First

Showing messages 1 through 2 of 2.

  • Smalltalk vs Java
    2004-02-13 23:19:04  mhamrick23 [View]

    Oh... almost forgot...

    "Syntax also plays a role. Although Smalltalk is pure OO and beautiful, it is easier for a programmer to learn Java (most of them know Pascal/C ou Basic)."

    Some of the most successful Smalltalk projects I've worked on involved people who were never introduced to Pascal, C, or BASIC. It's a subtle point, but I'm not sure that programmers are the best people to have developing software. There's too much baggage they bring to the project.

    Successfully modeling a real-world process is more concerned with understanding what questions to ask the model's consumers than understanding the side-effects of auto-incrementing a variable in an assignment statement, or even how C++ implements multiple inheritence.

    There have been a couple projects I've worked on where I used Smalltalk to model a system under development DURING user interviews. When asked what I was doing, I simply said I was "capturing the system specifications in an active, graphical note-taking environment." On one project, at the end of a five-day series of meetings, I actually had some of the non-technical staff modifying my classes while I wrote on the white board. I am fairly confident that you will NEVER see non-technical people volunteer to edit .java files to represent changes in an ongoing specification, even if you're using JBuilder, Forte (NetBeans?), Eclipse, or IDEA.
  • Smalltalk vs Java
    2004-02-13 23:08:35  mhamrick23 [View]

    Smalltalk failed? That's news to me.

    At one point GUIs were available on but a few machines clustered around research universities and defense department installations. WIMP (Windows Icon Mouse Pointer) interfaces are now ubiquitous.

    Many people forget that Smalltalk might have been the "original" open source development environment. One of the great features of most (if not all) Smalltalks is that the source code is included with the Image.

    Smalltalk/80 was the first time I saw an IDE. While I'm a fan of emacs + command line for certain programming tasks, debugging under Smalltalk is a transcendent experience.

    Just a few examples of some of the ideas refined in Smalltalk. What has Java given us that's new?

    Don't get me wrong here... The market want's Java, and I actually kind of like Java for certain types of tasks. But when it's time to develop something new, I always prototype in Smalltalk (Squeak, actually.)