Live data from Hacker News

Design Principles Behind Smalltalk (1981)

cs.virginia.edu

31–33 of 33 posts

Re: Design Principles Behind Smalltalk (1981)

#31
post #30
post #29

Earlier quoted context omitted.

You are only focused on the language grammar, instead of the full development experience. This is what most people miss when comparing languages.

Even then, I heard Smalltalk development was like Lisp, with the ability to do incremental compilation / image based development where you initiate an image that represents a process with built-in, generic saving functionality and the ability to edit the code while it runs. You could start an image, run it, build the program as it runs, save it, restart the computer, and continue the image so it runs from the point i…

Eclipse originated from Visual Age for Smalltalk.

To this day it still contains the Smalltalk style code browser for Java code. REPL like experience in Eclipse was done via Scrapbook, which are similar to transcripts.

And as of Java 9 there is an official REPL on the JDK.

The workspace concept in Eclipse is based on the idea of having a kind of virtual image based on files.

JVM debugging capabilities support edit and continue, then there are tools like JRebel that take advantage of class loaders to extend the code replacement capabilities.

Eclipse has its own Java compiler that does incremental compilation on file save.

Java collections introduced in version 1.2 are influenced by Smalltalk collection classes.

Also note that I didn't state it was the same thing, rather "the only ones close enough to the experience.".

Re: Design Principles Behind Smalltalk (1981)

#32
post #31
post #30

Earlier quoted context omitted.

Even then, I heard Smalltalk development was like Lisp, with the ability to do incremental compilation / image based development where you initiate an image that represents a process with built-in, generic saving functionality and the ability to edit the code while it runs. You could start an image, run it, build the program as it runs, save it, restart the computer, and continue the image so it runs from the point i…

Eclipse originated from Visual Age for Smalltalk. To this day it still contains the Smalltalk style code browser for Java code. REPL like experience in Eclipse was done via Scrapbook, which are similar to transcripts. And as of Java 9 there is an official REPL on the JDK. The workspace concept in Eclipse is based on the idea of having a kind of virtual image based on files. JVM debugging capabilities support edit and…

Thanks for the reply. This is all very interesting.

> Eclipse has its own Java compiler that does incremental compilation on file save.

Unfortunately, this seems to be the other kind of incremental compilation, different from Smalltalk's or Lisp's. As far as I can see, it simply results in faster compilation, and not in run-time program modification.

Re: Design Principles Behind Smalltalk (1981)

#33
post #32
post #31

Earlier quoted context omitted.

Eclipse originated from Visual Age for Smalltalk. To this day it still contains the Smalltalk style code browser for Java code. REPL like experience in Eclipse was done via Scrapbook, which are similar to transcripts. And as of Java 9 there is an official REPL on the JDK. The workspace concept in Eclipse is based on the idea of having a kind of virtual image based on files. JVM debugging capabilities support edit and…

Thanks for the reply. This is all very interesting. > Eclipse has its own Java compiler that does incremental compilation on file save. Unfortunately, this seems to be the other kind of incremental compilation, different from Smalltalk's or Lisp's. As far as I can see, it simply results in faster compilation, and not in run-time program modification.

Run-time program modification is possible, to a certain extent, when debugging or using libraries like JRebel, which I mentioned.

Again I am not saying you can do everything that Smalltalk allows for, after all it enjoys the flexibility of a dynamic language, just that those environments (.NET and Java) are the closest to the overall experience, from the point of view of someone that used Smalltalk/V back in its golden days.

The dynamism of those IDEs can be traced back to what Xerox PARC was doing on their Mesa/Cedar developer's environment.

http://toastytech.com/guis/cedar.html

https://archive.org/details/bitsavers_xeroxparcteCedarProgra...

These ideas influenced the IDE experience of other statically typed languages.

Post reply on HN