Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Smalltalk
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== History == There are a large number of Smalltalk variants.<ref>{{cite web|url=http://www.smalltalk.org/versions|archive-url=https://web.archive.org/web/20150908041133/http://www.smalltalk.org/versions|archive-date=2015-09-08|title=Versions|publisher=Smalltalk.org|access-date=2007-09-13}}</ref> The unqualified word ''Smalltalk'' is often used to indicate the Smalltalk-80 language and compatible VM, the first version to be made publicly available and created in 1980. The first hardware-environments which ran the Smalltalk VMs were [[Xerox Alto]] computers. Smalltalk was the product of research led by [[Alan Kay]] at [[Xerox Palo Alto Research Center]] (PARC); Alan Kay designed most of the early Smalltalk versions, [[Adele Goldberg (computer scientist)|Adele Goldberg]] wrote most of the documentation, and [[Dan Ingalls]] implemented most of the early versions. The first version, termed Smalltalk-71, was created by Kay in a few mornings on a bet that a programming language based on the idea of [[message passing]] inspired by [[Simula]] could be implemented in "a page of code".<ref name="History">{{cite web |last=Kay |first=Alan |title=The Early History of Smalltalk |url=http://gagne.homedns.org/~tgagne/contrib/EarlyHistoryST.html |access-date=2007-09-13}}</ref> A later variant used for research work is now termed Smalltalk-72 and influenced the development of the [[Actor model]]. Its [[Actor model#Smalltalk|syntax and execution model]] were very different from modern Smalltalk variants. The first Smalltalk interpreter actually implemented was for Smalltalk-72, and was written by [[Dan Ingalls]] in about 700 lines of [[BASIC]] in October 1972 for the [[Data General Nova]]. This version was demonstrated at the [[MIT Computer Science and Artificial Intelligence Laboratory|MIT AI Lab]] by Alan Kay in November that year.<ref name="History" /> The first bitmap line drawing routines were implemented by [[Ted Kaehler]] in late December 1972. Smalltalk-72 was ported to the Xerox Alto in April 1973, the same month the first units began operation.<ref name="Ingalls" /> After significant revisions which froze some aspects of execution semantics to gain performance (by adopting a [[Simula]]-like class [[Inheritance (object-oriented programming)|inheritance]] model of execution), Smalltalk-76 was created. This system had a [[Development environment (software development process)|development environment]] featuring most of the now familiar tools, including a class library code browser/editor. Smalltalk-80 added [[metaclass]]es, to help maintain the "everything is an object" (except variables) paradigm by associating properties and behavior with individual classes, and even primitives such as integer and [[Boolean value]]s (for example, to support different ways to create instances). Smalltalk-80 was the first language variant made available outside of PARC. In 1981, it was shared with [[Tektronix]], [[Hewlett-Packard]], [[Apple Computer]], and [[Digital Equipment Corporation|DEC]] for review and debugging on their platforms.<ref>{{cite web |title=Tektronix invitation for First international Conference of Smalltalk-80 Implementors |url=https://wirfs-brock.com/allen/files/tek/1981-8-27%20implr-conference-invite.pdf |website=Tektronix Smalltalk Document Archive |date=27 August 1981}}</ref> <ref>{{cite web |title=Attendee list for First international Conference of Smalltalk-80 Implementors |url=https://wirfs-brock.com/allen/files/tek/1981-9-implr-conf-attendees.pdf |website=Tektronix Smalltalk Document Archive |date=24 September 1981}}</ref> The August 1981 issue of Byte Magazine was devoted to Smalltalk-80 and brought its ideas to a large audience. Several books on Smalltalk-80 were also published. Smalltalk-80 became the basis for all future commercial versions of Smalltalk.<ref>{{cite news |title=Introducing the Smalltalk Zoo |url=https://computerhistory.org/blog/introducing-the-smalltalk-zoo-48-years-of-smalltalk-history-at-chm/ |work=CHM |date=17 December 2020 |language=en}}</ref> The final release of Smalltalk-80 Version 1 was in November 1981.<ref>{{cite web |title=VI Release Notes |url=https://wirfs-brock.com/allen/files/tek/1981-11-20-VI-Release.pdf|date=20 November 1981}}</ref> Xerox only distributed Version 1 to Apple, DEC, HP, and Tektronix, but these companies were allowed unrestricted redistribution via any system they built. This encouraged the wide spread of Smalltalk.<ref name=Ingalls>{{Cite journal |last=Ingalls |first=Daniel |author-link=Dan Ingalls |title=The evolution of Smalltalk: from Smalltalk-72 through Squeak |journal=Proceedings of the ACM on Programming Languages|date=2020 |volume=4 |pages=1β101 |doi=10.1145/3386335 |s2cid=219603700 |doi-access=free}}</ref> Later, in 1983, Xerox released Smalltalk-80 Version 2. This version was generally available to the public, although under a restrictive license. Versions 1 and 2 were fairly similar, although Version 2 did have some added features such as a spelling corrector. Each release consisted of a virtual image (platform-independent file with object definitions) and a [[virtual machine]] specification.<ref name=Ingalls/> ANSI Smalltalk has been the standard language reference since 1998.<ref>{{cite web|url=http://www.smalltalk.org/versions/ANSIStandardSmalltalk.html|archive-url=https://web.archive.org/web/20150907224300/http://www.smalltalk.org/versions/ANSIStandardSmalltalk.html|archive-date=2015-09-07|title=ANSI Smalltalk Standard|publisher=Smalltalk.org|access-date=2007-09-13}}</ref> Two currently popular Smalltalk implementation variants are descendants of those original Smalltalk-80 images. [[Squeak]] is an [[open-source software|open source]] implementation derived from Smalltalk-80 Version 1 by way of Apple Smalltalk. [[VisualWorks]] is derived from Smalltalk-80 version 2 by way of Smalltalk-80 2.5 and ObjectWorks (both products of ParcPlace Systems, a Xerox PARC spin-off company formed to bring Smalltalk to the market). As an interesting link between generations, in 2001, Vassili Bykov implemented Hobbes, a virtual machine running Smalltalk-80 inside VisualWorks.<ref>{{cite web |url=http://wiki.cs.uiuc.edu/VisualWorks/Smalltalk-80+in+a+box |title=Hobbes |archive-url=https://web.archive.org/web/20030419030217/http://wiki.cs.uiuc.edu/VisualWorks/Smalltalk-80+in+a+box |archive-date=19 April 2003}}</ref> ([[Dan Ingalls]] later ported Hobbes to Squeak.) During the late 1980s to mid-1990s, Smalltalk environments, including support, training and add-ons, were sold by two competing organizations: ParcPlace Systems and Digitalk, both California based. ParcPlace Systems tended to focus on the Unix/Sun microsystems market, while Digitalk focused on Intel-based PCs running Microsoft Windows or IBM's OS/2. Both firms struggled to take Smalltalk mainstream due to Smalltalk's substantial memory needs, limited run-time performance, and initial lack of supported connectivity to [[SQL]]-based [[relational database]] servers. While the high price of ParcPlace Smalltalk limited its market penetration to mid-sized and large commercial organizations, the Digitalk products initially tried to reach a wider audience with a lower price. IBM initially supported the Digitalk product, but then entered the market with a Smalltalk product in 1995 named VisualAge/Smalltalk. Easel introduced Enfin at this time on Windows and OS/2. Enfin became far more popular in Europe, as IBM introduced it into IT shops before their development of IBM Smalltalk (later VisualAge). Enfin was later acquired by [[Cincom Systems]], and is now sold under the name [[ObjectStudio]], and is part of the Cincom Smalltalk product suite. In 1995, ParcPlace and Digitalk merged into ParcPlace-Digitalk and then rebranded in 1997 as ObjectShare, located in Irvine, CA. ObjectShare ([[NASDAQ]]: OBJS) was traded publicly until 1999, when it was delisted and dissolved. The merged firm never managed to find an effective response to [[Java (programming language)|Java]] as to market positioning, and by 1997 its owners were looking to sell the business. In 1999, Seagull Software acquired the ObjectShare Java development lab (including the original Smalltalk/V and Visual Smalltalk development team), and still owns VisualSmalltalk, although worldwide distribution rights for the Smalltalk product remained with ObjectShare who then sold them to [[Cincom]].<ref>{{cite web|url=http://www.seagullsoftware.com/about/history.html#1999|archive-url=https://web.archive.org/web/20020806160121/http://seagullsoftware.com/about/history.html#1999|archive-date=2002-08-06|title=History|publisher=Seagull Software|access-date=2007-09-13}}</ref> VisualWorks was sold to [[Cincom]] and is now part of Cincom Smalltalk. Cincom has backed Smalltalk strongly, releasing multiple new versions of VisualWorks and ObjectStudio each year since 1999. [[Cincom]], GemTalk, and Instantiations, continue to sell Smalltalk environments. IBM ended VisualAge Smalltalk, having in the late 1990s decided to back Java instead and, {{as of|2005|lc=on}}, is supported by Instantiations, Inc.<ref>{{cite web |url=http://www.instantiations.com/company/ibm-transition.html |title=VisualAge Smalltalk Transition FAQ}}</ref> Instantiations renamed the product VA Smalltalk (VAST Platform) and continue to release new versions yearly. The open [[Squeak]] implementation has an active community of developers, including many of the original Smalltalk community, and was used to provide the Etoys environment on the [[One Laptop per Child]] (OLPC) project, a toolkit for developing collaborative applications [[Croquet Project]], and the [[Open Cobalt]] virtual world application. [[GNU Smalltalk]] is a [[free software]] implementation of a derivative of Smalltalk-80 from the [[GNU]] project. [[Pharo]] Smalltalk is a fork of [[Squeak]] oriented toward research and use in commercial environments. As of 2016, a significant development that has spread across all Smalltalk environments is the increasing usage of two web frameworks, [[Seaside (software)|Seaside]] and [[AIDA/Web]], to simplify the building of complex web applications. Seaside has seen considerable market interest with Cincom, Gemstone, and Instantiations incorporating and extending it.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)