Microsoft shopping for Java alternative

David Chase chase at world.std.com
Sun Feb 14 03:07:04 UTC 1999


At 09:53 PM 2/12/99 -0800, Peter William Lount wrote:
>
>Hi,
>
>> David Chase wrote:
>> Rosetta Smalltalk was more or less Smalltalk-72, and ran on 
>> a 6502-based (or 6502-eqiuvalent) machine with 64K of memory.
>
>Does anyone know where to obtain a copy of Rosetta Smalltalk? I'd like to
>study it.

You might try rosetta.com.  I last saw it running a long, long
time ago, so I am not sure how easily it could or could not
be revived.

Also, "Rosetta" is a trademark of Rosetta, Inc.

At 09:46 PM 2/12/99 -0800, Tim Rowledge wrote:
> <rant>

Recognizing that it is a rant, but

>Same story with java; Ooh, lets make a language like Smalltalk but dress it
>up like C so everybody will know it already! Brilliant idea, only they
>missed out some of the more important parts and have spent several years
>trying to add features from Smalltlak (where have we heard that before?).
>They still didn't get it - and ended up with 'primitive types' messing up
>the fundamentals of the picture.

Why do you assume that they were trying to make a language
like smalltalk, instead of a language like Modula-3?  Consider
the similarities:

  mostly-statically typed
  single inheritance classes
  "primitive" types

Large and interesting pieces of software have been built
in Modula-3.

I know one of the people in on Java from near the beginning; we
discussed Modula-3, not Smalltalk.  James Gosling has (in previous
years) built interpreters for a (bizarre) dialect of emacs-lisp, and
for Sun's "New Window System" (NeWS) which was essentially
Postscript plus a little bit.  I don't know what his exposure
to Smalltalk was, if any.

I think that the Smalltalk community has to do a better job
of marketing their language.  If it has in fact been used to
built large interesting things, they should be loud about it.
Loud seems to count for much more than mere taste and technical
merit, as we should all know by now after the C++ experience.

I would not underestimate the marketing importance of
familiar-looking syntax.  Java is in many ways quite unlike
C or C++ semantically, but it's got familiar syntax, people
skip a little bit of the learning curve (let's not speculate
too much on how far they ever were up it in the first place
for C/C++, if they don't notice the differences between
the languages) and it makes them feel good.

I also think that you need to figure out how to sell the language
to the static-typing crowd; I've used everything from BCPL (any
type you want, as long as it is a CELL) to Scheme (in a relativly
polymorphic style), Fortran, C++ (ugh) to Modula-3 and Java (both
mostly statically typed).  I've got friends who loathe Java and
are still complete and utter Smalltalk fanatics, and I've got
friends who have tried Smalltalk and say it just didn't do anything
for them.  I wonder rather much how testing and verification
works in Smalltalk land; just the exception-signature checking
in Modula-3 and Java has saved my butt quite a few times (and
checking for proper disposition of errors is a major pain,
because you can't always get an error when you want it).  It's
clear, having worked in Scheme and FP84 and BCPL, that non-static
typing allows you to get tremendous leverage from code reuse, and
that means that you've got less code to write in the first place,
and much more tested code to work with, but static typing also
is a big leg up when you are flinging together components
written by Other People, where it is not clear that reuse
would have bought you that much in the first place, and you
do need to be sure that you get the interfaces right and
handle all the errors.

I don't want to start another one of those static vs. dynamic
flame wars, I just want Smalltalk fans to consider that those
people who prefer static typing just might not be freshly
fallen from the turnip truck.  Either we've got some sort of
a very different mindset, or we're working on very different
applications, or we've got different tolerance for errors,
or we've got a very very different testing methodology.
Something's clearly different, and I don't think it's just
as matter of stupid versus smart.

David Chase
NaturalBridge LLC





More information about the Squeak-dev mailing list