4 ms·
> 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
by 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...