1.1 What is different about Smalltalk

Smalltalk differs from many common programming languages in a number of ways. Unlike other programming languages like Java, Python, Ruby etc there is not just one, but quite a number of Smalltalk implementations like Pharo. The biggest difference is probably the fact that a Smalltalk implementation is not just a programming language but an Image-Based system. Before elaborating about what an Image-Based system actually is, it is important to understand the different components of a Smalltalk system.

Pharo Environments

A Pharo Smalltalk system consists of the following main components:

  • Virtual Machine (VM): Is the only part that is hardware and operating system dependent. Pharo currently already has pre-built Virtual Machines for most common environments.
  • Sources: Is a file that contains the source code of all parts of the Smalltalk system that don't often change.
  • Image: The image component is your entire Smalltalk system.


User Contributed Notes

aglynn42 (25 October 2017, 4:44 am)

Although the different implementations of Smalltalk are considered different dialects (for good reasons) it's difficult to compare Smalltalk with languages that don't define nor include tooling other than very basic command tools. In some ways Smalltalk appears to have greater differentiators than do, say, Oracle JDK versus OpenJDK, but then different development environments in Java, Ruby or Python in other ways make different Smalltalk dialects look more alike, other than GNU Smalltalk, because they're more consistent.


Realistically it's very easy to port an application or libraries between different Smalltalks, except in the case where a particular framework has had a long history on one Smalltalk and has been consistently built on, creating a large number of prerequisite items that need porting before the final framework can be.

g9142002.pccu.edu.tw (3 February 2012, 6:25 pm)

As known, ReBOL also holds the difference from those such-languages and stands in the position which similar to that Smalltalk does.

celtic (6 August 2011, 2:39 am)

But Java, Python and Ruby all have more than one implementation too! Sun Java vs. GCJ; CPython vs. Jython vs. PyPy; MRI vs. JRuby vs. Rubinius vs. ...

Add a Note

Licensed under Creative Commons BY-NC-SA | Published using Pier |