Eine virtuelle Maschine für Smalltalk ist ziemlich einfach. Es enthält eine Reihe primitiver Anweisungen, auf die direkt aus Smalltalk-Code verwiesen wird. Dies macht die eigentliche VM leicht steckbar. Daher wird das Quietschen oft zum Experimentieren mit virtuellen Maschinen verwendet.
Pharo ist ein Projekt, das die Grundbibliothek von Squeaks ersetzen soll, weil Squeaks Aussehen und Gefühl etwas veraltet ist. Es verwendet die Squeak VM und ist größtenteils kompatibel, aber die Schnittstelle ist völlig anders.
Auf der VM-Seite von Squeak gibt es die Vanille-VM. Soweit ich weiß, fing es als Teil des Squeak-Projekts an und wird immer noch verwendet.
Vor einiger Zeit kündigte Eliot Miranda, ein Forscher bei VM, an, dass er eine neue optimierte VM für Squeak entwickelt. Cog ist Open Source und kann mit Squeak und Pharo verwendet werden. Es ist immer noch aktiv entwickelt, aber schneller als die grundlegende VM.
Newspeak ist ein ganz anderes Tier. Es ist ein Experiment, um eine Sprache zu erstellen, die reine Nachrichtenübergabe als das einzige Primitiv der Sprache verwendet. Es basiert auf der Squeak VM, aber nicht wirklich Smalltalk. Weitere Informationen finden Sie unter Ссылка .
Squeak und Pharo sind verschiedene Dialekte von Smalltalk, während Neusprech eine andere Sprache ist, obwohl inspiriert und in vielerlei Hinsicht ähnlich wie Smalltalk und Self.
Was Squeak und Pharo anbetrifft, da Pharo die Gabel von Squeak ist, laufen beide auf der gleichen Art von virtueller Maschine, sie sind auf denselben VM-Befehlssatz und Satz von Primitiven angewiesen.
Was die virtuellen Maschinen von Squeak und Pharo betrifft, gibt es mehrere Versionen, aber die zwei wichtigsten Arten sind die klassische Quietsch-VM und die neue jit-basierte virtuelle Cog-Maschine. Aber beide führen im Allgemeinen den gleichen Befehlssatz aus.
Während wir bei sqeak und pharo VMs sind, ist es interessant, dass Sie Ihre eigene VM hacken können, Quellen sind verfügbar und in Smalltalk Subset geschrieben, und es gibt Tool-Set, das Ihnen erlaubt, Änderungen vorzunehmen und Ihre eigene VM zu erstellen. Es gibt eine großartige Reihe von Beiträgen von Mariano Martinez Peck, die beschreiben, wie man mit VM spielt, hier ist der einleitende Beitrag:
Sowohl Squeak als auch Pharo teilen bisher dieselbe VM. Newspeak hat eine eigene, die von Squeak VM stammt.
Tags und Links smalltalk pharo squeak newspeak vm-implementation