4 ms·
I must disagree. Image concept is just a tool, and it only depends on how you use it. In Smalltalk, you can modify the "base-objects" and assign these changes t
by xkriva11 5y ago
I must disagree. Image concept is just a tool, and it only depends on how you use it. In Smalltalk, you can modify the "base-objects" and assign these changes to your package and export them with the other sources (managed by Git, for example), so there is no difference to JavaScript here. But unlike JavaScript and others, you can use the image for things like saving the system state with a debugger open on a bug that is very rare and hard to reproduce.
- galaxyLogic 5y ago> it only depends on how you use it. It is a tool which is very easy to misuse, by forgetting to file out all the changes you make to it. That is not uncommon in practice. Most (or all?) Smalltalk's come with an image, but there is no source-file telling you how that image was derived, or how you can derive it from some more basic "standard" vanilla image. That is the reason why it is so difficult to get code developed on one Smalltalk -platform to work on images provided by other vendors. You could say that is caused by "misuse" of the image-tool, but seems like all Smalltalk vendors are doing it.
- igouy 5y ago> … there is no source-file telling you how that image was derived… Yes there is — the .changes file! .image is a snapshot/cache .sources is source code text for the vanilla .image snapshot .changes is recovery log text of what has been done with the vanilla .image file > That is the reason why… No. See https://news.ycombinator.com/item?id=31116640 https://news.ycombinator.com/item?id=31116640
- galaxyLogic 5y agoThen why is it so difficult to port code from one Smalltalk version to another? Or is it easy?
- xkriva11 5y agoI ported many projects between different Smalltalk versions, and I never had a bit of feeling that the image concept caused the related issues. Smalltalk implementations are just doing some things differently. The language ANSI standard is too minimal for practical purposes and obsolete. To ruin your basic premise: Common Lisp also uses the image concept, and it is famous for good stability and compatibility among different implementations.
- igouy 5y agoAsked and answered: https://news.ycombinator.com/item?id=31116640 https://news.ycombinator.com/item?id=31116640