Hi!
Dan Ingalls wrote:
Some questions are:
Would the system benefit from being cast into StrongTalk? and how much work would this be?
Yes. A powerful type system is definitely something very useful. Most statically types languages have type system which are too restrictive, but languages like SML or Cecil show who type system can (and IMHO should) look like.
So, I'd really get the benefits of a(n optional) type system, namely better documentation of the system and a better test whether all that components and code snippest will probably fit together.
I only looked into Animorphic ST for a couple of minutes so far, but by first impression was, this is how Smalltalk should look like. Besides the system system, I like the Self-like browers. I'll go through the tutorial to learn more about the system.
There's another aspect of a statically typed lanuage that wasn't mentioned yet and which eventually made me to like developing in Java - more than in Smalltalk, to be honest: Tool support.
I *love* the Eclipse Java IDE. Only Java's static type system makes code completion, the (to some extent) safe refactorings and exact browsing of senders and implementors possible.
All these kinds of things are very important if you have to work with complex frameworks and/or other people's code, often poorly written, and need to get a good understanding of what it does, and what not.
In Smalltalk (without types) no tool can exactly know the type of an expression and code completion (with is IMHO the best productivity tool of a modern IDE) cannot offer a valid selection of applicable method names.
Currently, I'm working with a very large (VisualAge Smalltalk project which was grown over the last five years or so - and most original developers left the company long ago - and it's awful difficult, I want Eclipse (and Java) back. Never thought, that I'd say that but if mediocre programmers hack quick fixes into a system for a couple of years, Smalltalk becomes a mess. This is probably true for other languages, too, but at least types would give you some kind of documentation. They also provide some help for refactoring - there're of course no unit tests so you better don't change what you don't understand because you cannot break a system which is in use by more than 500 in-house customers.
I found it much easier to get my way through the Eclipse Java source code.
Would anyone care if it ran 10 times faster?
Yes.
and how much work would this be?
I got the impression that the Animorphic ST VM was the base for Java's Hotspot VM. If any VM reaches the 1.4.1 Hotspot performance, I'd be more than happy. Even if the Animorphic VM sources are not available, I think, you can get the Java VM sources. There's also an open source research VM from IBM which could perhaps used to "borrow" ideas.
Would it be fun to do?
I'd consider it fun :-)
bye