Обзор языка программирования: Smalltalk
Smalltalk - это очень уважаемый объектно-ориентированный язык программирования, берущий свое начало в 1970-х годах в Xerox PARC. Изначально он был разработан для обучения программированию молодежи.
Основные характеристики этого языка:
- Его высшая простота - синтаксис полностью основан на передаче сообщений между объектами.
- Его объектно-ориентированная чистота и последовательность - даже логические управляющие структуры реализуются с помощью объектов.
- Его возможность живого кодирования, встроенная в язык!
- Его отражающая природа обеспечивает мощные возможности метапрограммирования.
- Его системный образ, который похож на системный образ в программном обеспечении виртуализации ОС, таком как 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 является языком обучения, он удивительно универсален. Его можно использовать практически для чего угодно!
- web - спасибо Seaside, Teapot и PharoJS
- мобильный - спасибо PharoJS и Apache Cordova
- наука о данных - благодаря PolyMath и Roassal
- машинное обучение и обработка нейронной сети - у Pharo также есть языковые привязки для TensorFlow
- Интернет вещей и встроенное программирование
- робототехника
- Виртуальная реальность (примеры, 3D иммерсивное сотрудничество и виртуальная реальность в Thales)
- Smalltalk можно использовать даже для написания сценария движка Unreal Game.
- корпоративные бизнес-вычисления
В начале 2000-х годов объединенные вооруженные силы США использовали Smalltalk для написания программы моделирования сражений на миллион строк под названием JWARS. Она фактически превзошла аналогичную программу под названием STORM, написанную на C ++ ВВС США. Это само по себе было удивительным свидетельством возможностей языка.
В моей родной стране Smalltalk используется Communications Security Establishment (CSE), национальным криптологическим агентством Канады.
Smalltalk приобрел известность в 1980-х, начиная с этой знаменитой обложки в журнале BYTE:
В 1990-е годы Smalltalk стал самым популярным языком ООП после C ++. Согласно отчету IDC за 1995 год, доли рынка ООП-языков составляли:
- C++ — 71.3%
- Smalltalk - 15,1%
- Цель-C - 5,7%
- Object Pascal - 4,2%
- ЗАКРЫТЬ - 2,5%
- Эйфелева - 1,1%
- все остальные - 0,2%
Вот страница из журнала Computerworld от 6 ноября 1995 г., на которой показаны Smalltalk и C ++:
Smalltalk был настолько хорош для использования в бизнесе, что IBM выбрала его в качестве центрального элемента своей корпоративной инициативы VisualAge по замене COBOL:
Сегодня Smalltalk все еще процветает. Существует три основных коммерческих поставщика Smalltalk и не менее семи Smalltalks с открытым исходным кодом !!!
Pharo можно легко назвать наиболее активно развивающимся и захватывающим Smalltalk.
Присоединяйтесь к революции, чтобы сделать мир программирования более продуктивным.
По шкале от 1 до 10 я ставлю Smalltalk легкую 10! Большой палец вверх!