| Article: |
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?
|
||
Showing messages 1 through 2 of 2.
-
Smalltalk vs Java
2004-02-13 23:19:04 mhamrick23 [View]
-
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.)



"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.