My Account
Smalltalk is and was a breakthrough combination programming language and operating system, created between 1972 and 1980 at the legendary Xerox Palo Alto Research Center: PARC. It was the first fully (pure) object-oriented language, and thus is a grandparent of all OO languages. The main language influences inspiring and informing the creation of Smalltalk were Ivan Sutherland's Sketchpad graphics program/language, Simula, Lisp and Seymour Papert's Logo dialect, and ML. Smalltalk is far more than a programming language only. It is also a full, powerful operating system (OS). Many traits make it so. All original Smalltalks ran on bare hardware, with no intervening OS, and some still do. All Smalltalks have their own internal scheduling, storage management, display handling, keyboard input, subsystems access, debugger, graphic user interface (GUI), application programming interface (API), one can write programs, from short scripts to full applications to run in it, and ignore any OS below. Smalltalks not using the file system of an underlying OS, have their own. Being a language + OS is part of the early foundation philosophy behind the design and implementation of Smalltalk. Consider two quotes by one of Smalltalk's earliest and primary designers, Dan Ingalls:

"An operating system is a collection of things that don't fit into a language. There shouldn't be one." - Daniel H. H. Ingalls; Design Principles Behind Smalltalk; Byte Magazine, August 1981.

"In this way, the underlying metaphor of communicating objects can be seen to operate all the way up to the level which corresponds to a conventional operating system." - Daniel H. H. Ingalls; The Smalltalk-76 Programming System: Design and Implementation; Conference Record, Fifth Annual ACM Symposium on Principles of Programming Languages (POPL), 1978. Open Source versions: GNU Smalltalk, Pocket Smalltalk, #Smalltalk (sharp-Smalltalk), Squeak, StepTalk, Susie. Smalltalk's inventors, the famous Alan Kay team from Xerox PARC, are now working on the free implementation Squeak. It is only a download away. On this page, @links are arranged in three groups and levels: 1) Top group: issues spanning multiple unrelated languages. 2) Middle group: issues specific to one language. 3) Bottom group: specific implementations, with their own directory category.

Please submit Bistro-specific sites only. Do not add general Smalltalk or Java sites here, as they have their own categories.
Bistro is a young programming language that integrates the best features of Smalltalk with Java. It is a Smalltalk variant that runs atop any Java virtual machine (VM) that conforms to Sun Microsystems Java specifications.
Please submit Bistro-specific sites only. Do not add general Smalltalk or Java sites here, as they have their own categories.
This category holds links for books, paper or online, on the Smalltalk and Squeak programming languages, and very closely related issues.
This category holds links for books, paper or online, on the Smalltalk and Squeak programming languages, and very closely related issues.
This category is for only web pages and sites cataloging Smalltalk links, and related resources, via alphabetical or otherwise classified lists of resources, with no, or brief descriptions.
This category contains links related to the Smalltalk implementation Dolphin, which focus is making software that runs on Microsoft Windows operating systems.
Please submit Dolphin-specific sites only. Do not add general Smalltalk or other sites here, as they have their own categories.
This category is for FAQs, help and tip files and documents, tutorials, and closely related documents and websites for all dialects of the Smalltalk programming language, except Squeak which has its own category.
This category is for FAQs, help and tip files and documents, tutorials, and closely related documents and websites for all dialects of the Smalltalk programming language, except Squeak which has its own category.
This category holds links on the programming languages IBM Smalltalk, and IBM VisualAge Smalltalk, and very closely related issues. IBM's Smalltalks are widely used in business. They are very reliable, industrial-strength systems, with many important features, such as the ENVY/Developer source code and configuration management system (Smalltalk and Java), originally created by Object Technology International, Inc., before IBM bought them.
This category holds links on the programming languages IBM Smalltalk, and IBM VisualAge Smalltalk, and very closely related issues.
This category is for different versions of Smalltalk, which are considered and called different implementations. For all programming languages, significantly different versions of the language are considered different implementations. In most languages, this is an independent issue from the language's compilers/interpreters and environments. In other words, most languages can have different compilers and environments, for the same implementation. Smalltalk has no separate compilers/interpreters and environments, and never has had such. All such functions occur in, and as, a common unified, highly orthogonal system, together with the rest of the code comprising the language. To change or improve such functions, users write or 'file in' new code. Also, Smalltalk is an interpreted language, not compiled. All these Smalltalk traits are highly analogous to those of Forth (and Self), which also has implementations, not separate compilers/interpreters and environments. Due to the highly factored and extensible nature of these systems, if one alters the interpreter and/or environment significantly, this makes a new language implementation, with new Smalltalk classes or methods, or Forth words.
To this category, please submit only different variations of the Smalltalk programming language. Submit Smalltalk software and enhancements to the Software subcategory.
Personal pages of Smalltalk creators, programmers, fans, advocates.
Self was the first prototype-based programming language, and may still be the best known. Its development was inspired and strongly influenced by the pioneering work on Smalltalk By Xerox PARC. Self is a Smalltalk follow-on, and can be seen as a Smalltalk variant or dialect; though this is not strictly so if one defines Smalltalks as based on classes only, not prototypes. Self emerged from the University of California, Berkeley Smalltalk program, a custom RISC chip designed to run Smalltalk-80. Berkeley got the very first Smalltalk license (making it the first post-PARC Smalltalk) from Xerox PARC so they could put Smalltalk on their chip. Dave Ungar was head of the project, and became the main author of Self. He wanted to make a language that was in the Smalltalk family, but based on some different assumptions. Smalltalk is a very pure language, with a small number of principles, but Ungar wanted an even purer Smalltalk. The result was Self. Some wrote it SELF, but standard usage is Self. Self is a very minimal language based on a small, minimum number (3) of simple, concrete ideas, each of which merges two ideas from programming:

1) Prototypes = inheritance + instantiation.

2) Slots = variables + procedures (functions, methods).

3) Behavior = state + behavior.

This category is for software written in Smalltalk (Smalltalk code), or software written to work intimately with Smalltalk systems and/or code, except for compilers and environments, which have their own category.
To this category please submit only links to software written in Smalltalk (Smalltalk code), or software written to work intimately with Smalltalk systems and/or code, except for compilers and environments, which have their own category.
Squeak was all Smalltalk-80 when new, in 1996. It is still mostly an implementation of modified Smalltalk-80, but in some ways it is a somewhat different language, no longer an orthodox Smalltalk, and it is changing and evolving. In its first several years: 1) The code base was almost fully rewritten, parts of it several times. 2) Squeak's leaders have ceased work on the standard Smalltalk user interface, Model-View-Controller (MVC), which is used in other Smalltalks, and Java, and have moved to the Self language's display tree-based Morphic User Interface, which they are developing beyond what it was in Self. Squeak's leaders will work no more in or on MVC, but only in and on Morphic, or something better. So, Squeak's interface is now far more like Self than like normal Smalltalk. And Morphic is driving other, deeper changes in Squeak. 3) On Squeak's mail list, discussion occurs on how to create a new language model, to go beyond object orientation, and how to move Squeak to it. Some people want to experiment with prototype language features as in Self. And, Alan Kay himself says that using the term "objects" in the 1970s was an error. He says the REBOL language has some very good ideas. The new language model may focus on messaging instead of objects. New syntax and control structures will be added, some of which may replace long standing Smalltalk norms. These are big changes. 4) Squeak now has many standard features that no other Smalltalk has: two User Interface systems (Morphic, MVC), experimental handwriting recognition, MIDI and realtime high quality sound synthesis, Web browser, IRC client, Swiki, email client, Web server, several demos and games, two full VMs written in Squeak (a full Smalltalk-80 VM and a JIT compiler VM), means to output C source code directly from a VM and run a VM as a simulation atop itself, a full set of ST-80 classes, automated Internet-based updating, and e-toys. More is coming in the future.
To this category, please submit links for the Smalltalk variant called Squeak only. Submit other Smalltalk links to their suitable categories.