Help - Background - Total computing - 5
5. How Squeak differs from other
programming languages
The best likeness of Squeak would be
a complete OS like Windows, with the
radical differences that
- of every application one gets the full source code
- that full code is all in the same programming language and
- that same programming language was running in the OS
- that same programming language was used to write the OS
Alternatively, Squeak is like a self-contained OS with fully available code for
everything it is, does, can do and displays, and that can be altered as it runs. In the
terms just explained Squeak is much more like the OS Linux than like the OS
Windows, but Linux is oriented around the programming language C. And the
programming language C or C++ embodies a quite different conception of
programming than do Smalltalk and Squeak.
Now of course Squeak is and needs to be much more simple than a complete OS like
Linux, MacIntosh or Windows, running lots of applications. And in fact Squeak is
7 years old. But this also means all kinds of computations in principle
accessible in ONE environment where applications are both programmed and run and
all source code is constantly accessible and changeable.
Instead of working in a radically simplified environment of widgets each of
which has a behavior of which you do NOT have the code and do NOT get the full
explanations, and that you can only change a little, you have an environment in
which you can do EVERYTHING a computer is capable of, in any way you please,
only restricted by your own understanding of the environment and the programming
language. What you are working with is not a set of widgets but the
environment of a universal programming language, where EVERYTHING is fully given
to you to understand and change it and EVERYTHING is available in that very same
environment - that is the
Squeak Environment.
This is also the reason that you do EVERYTHING in Squeak in the total computing
environment, which has the form in Squeak of an image that is loaded by
squeak.exe and that runs an environment which can be programmed with the
programming language of Squeak. And the environment of Squeak is run by Classes
written inside the Squeak Environment in the Squeak Language.
Apart from Smalltalk, which is a precursor of
Squeak , there is no total
computing environment like it - and any alternative programming language +
programming environment, like C++ or C# or Delphi, is radically different,
because these so-called programming environments are NOT total computing
environments but are merely programming tools to write and compile programs in
some OS, and indeed to write predominantly (though not necessarily) programs as
collection of widgets with hidden source and limited behavior. In brief: All
programming environments other than Smalltalk and Squeak and are NOT themselves
total computing environments.