我错了.我认为Smalltalk是单片的东西,但最近我意识到Smalltalk分为VM和图像.在这种情况下,我可以调用VM是必不可少的部分,而image只是应用程序的集合.语法语法只是帮助制作图像代码.
这让我有些疑问.
似乎可以在任何Smalltalk VM上运行映像.这是真的?例如,我可以从任何Smalltalk VM运行Seaside吗?
似乎所有Smalltalk VM都应该完全兼容.至少在一组功能和执行源代码中.这是真的?
是否有可能在裸骨VM上构建自己的图像?这不太实际,但应该对学习很好.
为了回答问题3),关于图像创建,另一个POV基于生物隐喻.
从头开始创建图像非常困难,比如从头开始构建一个活细胞非常困难:需要考虑很多交互(创造论者会说你必须是一种上帝才能做到这一点).
但是,克隆一个图像是一个非常简单的操作,克隆一个单元格(你只是让它自己克隆).这很容易,我们通常只是克隆 - 例如Squeak和Pharo图像已经超过几十年了 - 请参阅有趣的讨论关于 squeak-dev邮件列表中的对象生活http://forum.world.st/About-a-object -life-td4653839.html.
请注意,gnu-Smalltalk具有从头开始组装图像的所有工具,Pharo计划重新创建此类工具.
最后一点,Squeak关注向后兼容性,最近的解释器VM仍然提供必要的界面来运行十年前冻结的图像.
| 归档时间: |
|
| 查看次数: |
390 次 |
| 最近记录: |