| Edit | Rename | Upload | Download | Back to Top |
If VisualWorks has a VM which runs Smalltalk programs, why wasn't it extended to have some features like applets in Java and the ensuing security stuff.
I know there could be answers like "people worked on it, but were lost somewhere or the other" or "Java took the ideas from Smalltalk!" (the latter would be tough to counter!). But really what surprised me was, if Smalltalk had the concept of VM's going so well, Java wasn't actually such a big "innovation" or was it?
Or is there an answer like "Smalltalk community really didn't care" and I'll surprised by that.
Or am I totaly lost here and there's a completely different prespective to the VisualWorks/Smalltalk VM?
Anshuman---- It's a good question! Actually Prof. Johnson talked about this problem in his lectures, you will see it soon.
I try to list here briefly his point (Prof. Johnson, if it's not correct, please correct me). Basically his point is that Java has a better marketing team than Smalltalk, which makes it well known to people. Smalltalker are more research oriented.
Personally, I think java has the advantage of being similiar to C++, and it's very easy to people to learn it. I think at least it will take a while for you to get familiar with Smalltalk. But if you are familiar with C++, it will take at most 2 days to know Java.
--- Ping Liu Feb 2nd 1999
The Java VM is very closely copied from the VisualWorks VM. In fact, there are several Smalltalk VMs, but they are all similar. The VisualWorks VM has a number of features that are collectively called "dynamic translation". In the Java world, these are called "Just In Time" compiling. But as of the summer of 1998, none of the Java VMs were as fast as the VisualWorks VM, though that could certainly have changed by now.
Java was originally sold as a language for building applets. It is possible to do this in Smalltalk, too, as a CS497 class project showed in the fall of 1997. The internet was what Java used to get started, and the Smalltalk venders were too busy trying to sell to the client-server community. So, in one sense, the Smalltalk venders were not interested. It wasn't that they were opposed to the idea, they just didn't see it as that important, and they were busy doing other things.
The Java class library is more oriented towards building internet applications than the Smalltalk class library, but it is easy to build similar classes in Smalltalk. The Java class library was constructed to be thread-safe, which means that concurrent programming is easier in Java than in Smalltalk (though people have been doing concurrent programming in Smalltalk for 20 years) but also that the basic Java classes are more complicated than the basic Smalltalk classes, because making classes thread-safe is complicated. I don't think either of these differences are important.
The main advantage that Java had was that it was pushed very hard by a large company, which made sure that there were free versions of it and which worked with other companies to get them to use it. This was why there are so many books on Java and so many people are teaching it. Java also has a more conventional syntax than Smalltalk. This syntax means that people quickly feel comfortable with Java, while it takes longer to become comfortable with Smalltalk. However, this does not mean that people can become expert with Java faster than with Smalltalk. "Being comfortable" does not mean being an expert, and the hard issues are the design issues, which are similar in the two languages.
Smalltalk experts who learn Java always consider it second-best. Smalltalk has a better programming environment, and a more mature class library. It is easier to change Smalltalk programs because it uses run-time type-checking instead of compile-time type-checking. Eventually Java may catch up, because there is so much effort behind it, but it hasn't yet become as powerful as Smalltalk. It is certainly more popular, though, even though there have been a lot more successful Smalltalk projects than successful Java projects. Of course, that is just because Smalltalk has been around a lot longer. Ralph Johnson
| Edit | Rename | Upload | Download | Back to Top |