Smalltalk/X Primer

Smalltalk/X is a modern implementation of the Smalltalk programming language from eXept Software AG. eXept, a software development company, uses Smalltalk/X to develop all of their commercial software products. However, eXept has made Smalltalk/X free for anyone to use to develop both free and commercial applications.

Since eXept uses Smalltalk/X to develop their own commercial applications, Smalltalk developers who use the platform enjoy a certain degree of certainty that it will enjoy ongoing development and bug fixes since eXept depends on its ongoing.

What is Smalltalk/X?

Smalltalk/X (ST/X) is a complete integrated development environment (IDE) and Smalltalk-language implementation. It includes everything you need to develop and deploy applications using the Smalltalk programming language.

ST/X includes a unique graphical user interface (GUI) designed to make Smalltalk easy-to-use. ST/X development involves heavy use of mouse-clicks and contextual menus to create code, and projects are created and managed as complete bundled packages rather than individual text files. With the noteworthy exception of GNU Smalltalk, virtually all Smalltalk implementations have embraced this GUI-based development model beginning with some of the first implementations of the language dating back to the early 1980s.

History of Smalltalk/X

ST/X was created by Claus Gittinger, a co-founder of eXept who continues to push forward the development of ST/X to this day. Gittinger was part of the earliest round of developers outside of Xerox Palo Alto Research Center (PARC) to be exposed to Smalltalk in 1981 with the initial limited release of Smalltalk-80 Version 1.

Having no way to purchase a Smalltalk implementation — a very costly endeavor at the time — Claus set about creating his own Smalltalk implementation. He succeeded in doing so in the late 1980's and settled on the name Smalltalk/X around the same time.

For the next few years, Claus continued to develop ST/X in his spare time as a hobby project for personal use. However, in 1994 Claus and several other developers came together and founded ACC Software with the intention of using ST/X as the firm's primary software development platform. As a result, development of ST/X progressed much more rapidly in the following years.

ACC, later renamed eXept, distributes ST/X for free. However, the software is not open-source and eXept retains all intellectual property rights to the application. ST/X users are limited to maintaining one functional copy of the software and one backup copy. At the same time, developers who wish to contribute to the software are encouraged to get in touch with eXept to express interest in becoming involved.

Installing Smalltalk/X

Smalltalk/X is available for Linux and Windows computers. You can download a copy of ST/X directly from eXempt.

The application is downloaded as an archived file. To install the application on a Windows computer follow these steps:

  • Extract all of the files from the archive to the directory where you want the application files to be located.
  • Open up the directory containing the extracted files and go to the \projects\smalltalk directory.
  • Run the file named stx.exe.

After accepting the applicable licensing the Smalltalk/X development environment will be launched on your system.

For Linux systems, you will download a compressed tar file (TGZ). Extract it where you want to install it; it will create a subdirector stx. See the file HOW_TO_COMPILE for further information.

Smalltalk/X Resources

The Smalltalk dialect used in ST/X is very close to the original Smalltalk-80 and other major modern Smalltalk implementations with a few differences. The internet is replete with free tutorials and books purporting to teach Smalltalk-80. In our Smalltalk Resource Guide we introduce some of the best Smalltalk-80 resources available today and those resources should be high on your list for learning how to code in Smalltalk.

Learning to use Smalltalk/X

The most comprehensive source of Smalltalk/X knowledge is the Help documentation that is packaged with ST/X. After installing ST/X you can access this documentation by opening the application and clicking on Help on the menu bar. Then select "Documentation on Smalltalk/X" from the available options in the Help drop-down menu.

Within the Smalltalk/X documentation you will find a wealth of information you can use to get started as a Smalltalk/X developer. A great place to start is the Teaser for Newcomers: Show me what is Cool in 30 Minutes. This short tutorial will introduce you to the ST/X workspace, walk you through a 5-minute version of the classic "Hello World" exercise, and give you a crash course in Smalltalk syntax.

Once you've worked your way through the newcomer material, select the Reading list option from the main documentation page. From the reading list you can access a Getting Started document (also available from the main documentation page and listed as Information for a Smooth Start) and a Smalltalk Tutorial that will go a long way toward helping you become a competent user of ST/X, and more familiar with the Smalltalk programming language in a general sense. The Introduction to Smalltalk (Language Tutorial) is another great way to grow more familiar with the language within the specific context of the ST/X IDE.

Finally, follow the link to More literature from the Reading List to find recommended texts. Many of these are included in PDF format along with ST/X and can be accessed directly from the application by selecting the appropriate links.

Sample the Help Documentation Online

The great thing about going through the ST/X resources within the ST/X IDE is that code samples can be run without switching to a different application. In addition, you have access to all of the information in the Help documentation even if you're working without an internet connection. However, if you do want to sample these materials online before downloading ST/X they can be found hosted online by eXept:

One additional resource that is particularly useful is a recording of a presentation given by Claus Gittinger, ST/X author, in 2011. You can view the presentation, A Guided Tour Through Smalltalk/X, online.

Conclusion

Smalltalk/X is a powerful modern Smalltalk implementation. It may be the only Smalltalk implementation that is actively used by the developer on a daily basis to develop commercial software. As a result, what Smalltalk/X may lack in high-profile web presence, it makes up for with documented usefulness. The integrated tutorials and help documentation are a very nice touch making Smalltalk/X one of the most user-friendly platforms for new Smalltalk developers.


Further Reading and Resources

We have more programming guides, tutorials, and infographics related to coding and general development:

What Code Should You Learn?

Confused about what programming language you should learn to code in? Check out our infographic, What Code Should You Learn? It not only discusses different aspects of the languages, it answers important questions such as, "How much money will I make programming C++ for a living?"