**Smalltalk** — гэта чыста аб’ектна-арыентаваная мова праграмавання, створаная ў 1970-х гадах для адукацыйнага выкарыстання ў Xerox PARC навукоўцамі Learning Research Group, у тым ліку Аланам Кэем, Дэнам Інгалсам, Адэль Голдберг, Тэдам Кэлерам, Дыянай Мэры і Скотам Уоллесам.

У Smalltalk праграмы складаюцца з атамарных аб’ектаў, гэтыя аб’екты ўзаемадзейнічаюць шляхам перадачы паведамленняў праз асяроддзе віртуальнай машыны.

Smalltalk значна паўплывала на развіццё індустрыі распрацоўкі праграмнага забеспячэння. Упершыню публічна апублікаваная Smalltalk-80 прадставіла інавацыйныя і асноватворныя ідэі для аб’ектна-арыентаванага праграмавання.

Мовы, заснаваныя на Smalltalk, да гэтага часу знаходзяцца ў актыўнай распрацоўцы і маюць лаяльныя супольнасці карыстальнікаў. Стандартызаваная версія ANSI Smalltalk была ратыфікаваная ў 1998 годзе.

Smalltalk заняў другое месца ў намінацыі «самая любімая мова праграмавання» ў апытанні распрацоўшчыкаў Stack Overflow у 2017 годзе.

Гісторыя
--------

Існуе вялікая колькасць версій Smalltalk. Звычайна пад Smalltalk разумеюць мову Smalltalk-80 разам з сумяшчальнай віртуальнай машынай, створаныя ў 1980 годзе. Першым апаратным асяроддзем, на якім выкарыстоўваліся віртуальныя машыны Smalltalk, былі камп’ютары Xerox Alto.

Два папулярныя ў цяперашні час варыянты рэалізацыі Smalltalk з’яўляюцца нашчадкамі арыгінальнай версіі Smalltalk-80. Squeak — гэта рэалізацыя з адкрытым зыходным кодам, створаная на аснове Smalltalk-80 версіі 1 праз Apple Smalltalk. VisualWorks паходзіць ад Smalltalk-80 версіі 2 праз VisualWorkSmalltalk-80 2.5 і ObjectWorks (абодва прадукта ParcPlace Systems, кампаніі Xerox PARC, створанай для вываду Smalltalk на рынак).

З канца 1980-х да сярэдзіны 1990-х гадоў асяроддзі Smalltalk прадаваліся дзвюма канкурэнтнымі арганізацыямі: ParcPlace Systems і Digitalk. ParcPlace Systems засяроджвалася на рынку мікрасістэм Unix/Sun, у той час як Digitalk сканцэнтравалася на ПК на базе Intel з Microsoft Windows або IBM OS/2.

У 1995 годзе ParcPlace і Digitalk аб’ядналіся ў ParcPlace-Digitalk, у 1997 годзе былі перайменаваныя ў ObjectShare. Кампанія ObjectShare існавала да 1999 года: аб’яднаная фірма так і не змагла знайсці эфектыўнага адказу на Java з пункту гледжання пазіцыянавання на рынку, і да 1997 года яе ўладальнікі імкнуліся прадаць бізнес. У 1999 годзе Seagull Software набыла лабараторыю распрацоўкі Java ObjectShare і да гэтага часу валодае VisualSmalltalk, пры гэтым правы на распаўсюджванне прадукту Smalltalk па ўсім свеце першапачаткова засталіся за ObjectShare, які затым прадаў іх Cincom. VisualWorks быў прададзены Cincom і цяпер з’яўляецца часткай Cincom Smalltalk. Cincom працягвае патрымку Smalltalk, выпускаючы некалькі новых версій VisualWorks і ObjectStudio кожны год з 1999 года.

Уплыў
-----

Smalltalk з’яўляецца адной з самых уплывовых моў праграмавання. Практычна ўсе аб’ектна-арыентаваныя мовы, якія з’явіліся пасля — Objective-C, Java, Python, Ruby і многія іншыя — былі пад уплывам Smalltalk. Smalltalk таксама была адной з самых папулярных моў для гнуткай распрацоўкі праграмнага забеспячэння, хуткай распрацоўкі праграм (RAD) або стварэння прататыпаў.

У асяроддзі Smalltalk часта распрацоўваліся першыя шаблоны праектавання для аб’ектна-арыентаванага праграмнага забеспячэння. Адным з самых вядомых з’яўляецца шаблон MVC для дызайну карыстальніцкага інтэрфейсу.

У дадатак да шаблону MVC, мова і асяроддзе Smalltalk аказалі вялікі ўплыў на гісторыю графічнага інтэрфейса карыстальніка (GUI) і інтэрфейсу карыстальніка WYSIWYG.

Прыклад
-------

Прыклад напісання праграмы Hello world:

```
Transcript show: 'Hello, world!'.

```

Спіс рэалізацый
---------------

### OpenSmalltalk

Шмат сучасных рэалізацый Smalltalk заснаваныя на віртуальнай машыне OpenSmalltalk VM. Яе зыходны код даступны на GitHub і распаўсюджваецца па ліцэнзіі MIT. Вядомыя рэалізацыі Smalltalk на базе OpenSmalltalk VM:

* Squeak, арыгінальны Smalltalk з адкрытым зыходным кодам, для якога была створана OpenSmalltalk VM
* Pharo Smalltalk, кросплатформавая мова з адкрытым зыходным кодам
* Cuis-Smalltalk, сумяшчальны з Smalltalk-80 форк Squeak з адкрытым зыходным кодам
* Croquet VM, віртуальная машына Smalltalk для праекта Croquet, заснаваная на Squeak

### Іншыя

* Amber Smalltalk, працуе на JavaScript
* Etoys, сістэма візуальнага праграмавання для навучання
* F-Script, рэалізацыя толькі для macOS, напісаная ў 2009 годзе
* GNU Smalltalk, рэалізацыя Smalltalk без графічнага інтэрфейсу
* ObjectStudio ад Cincom
* Scratch, сістэма візуальнага праграмавання (толькі версіі да 2.0 заснаваныя на Smalltalk)
* Strongtalk, версія з адкрытым зыходным кодам (з 2006 г.) толькі для Windows, прапануе дадатковую строгую тыпізацыю; першапачаткова створаная ў Sun Microsystem Labs.
* VisualWorks ад Cincom
* Zag, Smalltalk VM, напісаны на Zig

Гл. таксама
-----------

* Objective-C

Зноскі
------

1. ↑  Stack Overflow Developer Survey 2017 **(нявызн.)**.
2. ↑  Versions. dead **(нявызн.)**(недаступная спасылка).  Smalltalk.org. Архівавана з першакрыніцы 8 верасня 2015. Праверана 30 студзеня 2023.
3. ↑  History. dead **(нявызн.)**(недаступная спасылка).  Seagull Software. Архівавана з першакрыніцы 6 жніўня 2002. Праверана 30 студзеня 2023.
4. ↑  About Ruby **(нявызн.)**. *ruby-lang.org*.
5. ↑  Where Did Refactoring Come From? **(нявызн.)**. *sourcemaking.com*.

Спасылкі
--------

* Бясплатныя онлайн-кнігі Smalltalk
* GNU Smalltalk
* Інтэрнэт-эмулятар Smalltalk-78 Архівавана 21 красавіка 2021.
* Кросплатформенная віртуальная машына OpenSmalltalk для Squeak, Pharo, Cuis і Newspeak

| ⛭Мовы праграмавання |
| --- |
| 
* Ada
* ActionScript
* ALGOL
* APL
* Асэмблер
* BASIC
* C
* C++
* C#
* COBOL
* Delphi
* Erlang
* Forth
* Fortran
* Go
* Haskell
* Java
* JavaScript
* Kotlin
* Lisp
* Logo
* Lua
* Modula-2
* Objective-C
* Pascal
* Perl
* PL/I
* PHP
* Prolog
* Python
* R
* Ruby
* Rust
* Scala
* SQL
* Scheme
* Smalltalk
* Swift
* Zig
* *больш...*

 |
|  Спіс паводле катэгорый |