4 ms·
The more important aspect of the Smalltalk approach is that the method is the basic unit (like having one source file per method). The difference is that the g
by xkriva11 4y ago
The more important aspect of the Smalltalk approach is that the method is the basic unit (like having one source file per method).
The difference is that the grammar of the transit file is not the language's grammar.
- igouy 4y ago> … in Smalltalk there is no source code. Good? Bad? Unimportant? > … method is the basic unit… Are there method definitions outside the context of a class? > … not the language's grammar. GNU Smalltalk?
- xkriva11 4y ago> Good? Bad? Unimportant? It was not me who wrote that so I do not know his meaing. > Are there method definitions outside the context of a class? As I said above, I was talking about the basic compilation unit and it is simplified perspective. > GNU Smalltalk? Well, that's an exception :-) But I must note that not a nice one. About 15 years ago, I read an article about a novice evaluating Smalltalk based on experiences with GNU Smalltalk only, and he was complaining about how strange and crazy the grammar is with all that exclamation marks.
- igouy 4y ago> … so I do not know his meaning. So how can you say some other aspect is more important :-) (Please provide some explanation of what you think is important about " method is the basic unit".) > … the basic compilation unit … Object subclass: #MoreBasicCompilationUnit instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: ''! !
- xkriva11 4y ago> So how can you say some other aspect is more important :-) My opinions only :-) > (Please provide some explanation of what you think is important about " method is the basic unit".) I think it has many interesting consequences. The methods have only a few explicit dependencies required for compilation; they are not dependent on each other, they may be loaded and presented in any order, and the compilation is very fast. As I said, it may be comparable to having every small method in a single file. With such a setup, the code editor itself starts to lose its importance - everything on the level of notepad basically does its job. You need to focus more on the processing of the code as code objects graph. Not as a text file to edit, which may be an important shift in thinking. Incremental compilation is not related to that directly. And yes, you still need a way how to define classes which Smalltalk file-out format does do as simple do-its, which is not a fortunate solution for statical analysis of the given file.
- igouy 4y ago> … not dependent on each other… Unless they are — methods that change how methods are compiled. > … loaded and presented in any order… And which may give different results depending on order. Isn't that what "First-Class Undefined Classes for Pharo" was about? https://hal.archives-ouvertes.fr/hal-01585305/document https://hal.archives-ouvertes.fr/hal-01585305/document > … how to define classes which Smalltalk file-out format… That problem isn't created by the file-out format. That problem is everything is a message send. "Class definitions are [not] static, declarative syntactic structures." 1988 "An Overview of Modular Smalltalk" https://dl.acm.org/doi/pdf/10.1145/62084.62095 https://dl.acm.org/doi/pdf/10.1145/62084.62095 Seems like there have been plenty of problems caused by "method is the basic unit" ;-)
- igouy 4y agoDo you mean to say — the more important aspect of the Smalltalk approach is incremental compilation ? July 10, 1989 "ParcPlace Systems Inc, of Mountain View California, has launched its Objectworks software development system for AT&T’s C++ Release 2.0: the integrated set of object-oriented tools include an incremental compiler and linker, source level debugger and source code browsing, and will be available in late August for Sun Microsystems’s Sun-3 workstation, selling for $2,500." https://techmonitor.ai/technology/parcplace_launches_objectworks https://techmonitor.ai/technology/parcplace_launches_objectw...
- igouy 4y ago> … method is the basic unit… Are you explaining what a Smalltalk browser is like? https://files.mtstatic.com/site_7337/32007/0?Expires=1654646324&Signature=ivOukDHIo~nkbF868VnFnf0LVryxwyr2acbQeMdWjLTTk7J2VmvseLd9jm7Yw5512dcSn-klLpw5JYdSD1oGqomyxb8tZLSKcZ7zZedRFtkSqF4M-tn1beNDbl41xXE0N~kQPkJE-bLtZh~9CHKKtPrO~3IiF69u7rN0HOdBFLM_&Key-Pair-Id=APKAJ5Y6AV4GI7A555NA https://files.mtstatic.com/site_7337/32007/0?Expires=1654646...
- xkriva11 4y agoMeaning the basic compilation unit.