Обзор языка программирования: Smalltalk

Smalltalk - это очень уважаемый объектно-ориентированный язык программирования, берущий свое начало в 1970-х годах в Xerox PARC. Изначально он был разработан для обучения программированию молодежи.

Основные характеристики этого языка:

  1. Его высшая простота - синтаксис полностью основан на передаче сообщений между объектами.
  2. Его объектно-ориентированная чистота и последовательность - даже логические управляющие структуры реализуются с помощью объектов.
  3. Его возможность живого кодирования, встроенная в язык!
  4. Его отражающая природа обеспечивает мощные возможности метапрограммирования.
  5. Его системный образ, который похож на системный образ в программном обеспечении виртуализации ОС, таком как VMware и VirtualBox.

Этот уникальный набор качеств делает Smalltalk самым производительным универсальным языком программирования в мире, согласно исследованию, проведенному Namcook Analytics.

Smalltalk имеет богатую и легендарную историю. Подумайте, чего добился Smalltalk…

  • Smalltalk представил миру языковую виртуальную машину, на которой также основаны Java и Ruby.
  • Smalltalk впервые применил JIT-компиляцию (JIT-компиляцию).
  • Из Smalltalk пришла первая современная IDE (интегрированная среда разработки), которая включала текстовый редактор, обозреватель классов, инспектор объектов и отладчик.
  • Smalltalk был первым инструментом графического языка, поддерживающим живое программирование и продвинутые методы отладки, такие как проверка на лету и изменение кода во время выполнения в очень удобном для пользователя формате.
  • Начиная с Smalltalk-80 (в 1980 г.) в нем были первоклассные функции и замыкания, которые, как ни странно, делают Smalltalk весьма подходящим для функционального программирования.
  • Smalltalk представил программный архитектурный паттерн MVC (Модель-Представление-Контроллер).
  • В значительной степени Smalltalk отвечал за разработку через тестирование (TDD) и экстремальное программирование (XP), которые имеют большое значение в сегодняшних стандартных методах гибкой разработки.
  • Smalltalk сделал «утиный набор текста» нарицательным.
  • Smalltalk был пионером в разработке объектных баз данных, отличным примером которых является GemStone / S.
  • Smalltalk дал нам первый браузер с рефакторингом.
  • Smalltalk сыграл важную роль в разработке графического пользовательского интерфейса (GUI) и пользовательского интерфейса «то, что вы видите, то и получаете» (WYSIWYG).
  • Стив Джобс был вдохновлен графическим интерфейсом пользователя Xerox PARC и WIMP (окна, значки, меню, указатель), чтобы полностью изменить стратегию Apple; графический интерфейс был прямым следствием работы Smalltalk.

И, конечно же, Smalltalk был первым языком, который популяризировал объектно-ориентированное программирование. Концепция ООП Алана Кея была абсолютно плодотворной.

С тех пор Smalltalk непосредственно вдохновил ряд других языков ООП, включая Objective-C, Ruby, Python, PHP, Perl, Erlang, CLOS, Dart, Groovy и Scala. Apple даже создала Smalltalk для Macintosh.

Objective-C, в частности, оказал сильное влияние на ИТ-индустрию. Его синтаксис был чем-то средним между C и Smalltalk.

Objective-C использовался для написания операционной системы NeXTStep для компьютерной компании Стива Джобса NeXT. NeXTStep в конечном итоге превратился в macOS, а Objective-C с тех пор использовался для написания большинства приложений для iOS.

Несмотря на свою простоту и несмотря на то, что Smalltalk является языком обучения, он удивительно универсален. Его можно использовать практически для чего угодно!

Smalltalk использовался JP Morgan для написания своей массивной системы управления финансовыми рисками под названием Kapital.

Orient Overseas Container Lines использовала Smalltalk для разработки своей системы управления перевозками IRIS-2.

В начале 2000-х годов объединенные вооруженные силы США использовали Smalltalk для написания программы моделирования сражений на миллион строк под названием JWARS. Она фактически превзошла аналогичную программу под названием STORM, написанную на C ++ ВВС США. Это само по себе было удивительным свидетельством возможностей языка.

В моей родной стране Smalltalk используется Communications Security Establishment (CSE), национальным криптологическим агентством Канады.

Smalltalk приобрел известность в 1980-х, начиная с этой знаменитой обложки в журнале BYTE:

В 1990-е годы Smalltalk стал самым популярным языком ООП после C ++. Согласно отчету IDC за 1995 год, доли рынка ООП-языков составляли:

  1. C++ — 71.3%
  2. Smalltalk - 15,1%
  3. Цель-C - 5,7%
  4. Object Pascal - 4,2%
  5. ЗАКРЫТЬ - 2,5%
  6. Эйфелева - 1,1%
  7. все остальные - 0,2%

Вот страница из журнала Computerworld от 6 ноября 1995 г., на которой показаны Smalltalk и C ++:

Smalltalk был настолько хорош для использования в бизнесе, что IBM выбрала его в качестве центрального элемента своей корпоративной инициативы VisualAge по замене COBOL:

Сегодня Smalltalk все еще процветает. Существует три основных коммерческих поставщика Smalltalk и не менее семи Smalltalks с открытым исходным кодом !!!

Pharo можно легко назвать наиболее активно развивающимся и захватывающим Smalltalk.

Присоединяйтесь к революции, чтобы сделать мир программирования более продуктивным.

По шкале от 1 до 10 я ставлю Smalltalk легкую 10! Большой палец вверх!