Smalltalk не мертв: вот почему вы должны его использовать

Недавно я прочитал пару статей о том, почему Smalltalk «умер»:

Это заставило меня задуматься. Почему нельзя возродить Smalltalk? По большей части слабые стороны Smalltalk сегодня устранены.

Хотя сообщество Smalltalk все еще несколько фрагментировано, на самом деле существует только три выдающихся варианта Smalltalk для корпоративного использования: Pharo с открытым исходным кодом, коммерческий VAST и коммерческий VisualWorks. Коммерческие Smalltalks важны, потому что многие корпоративные пользователи настаивают на надежной коммерческой поддержке.

Pharo становится все более важным в корпоративном пространстве, особенно при поддержке Консорциума Pharo.

Я запустил Pharo на Raspberry Pi, и он работает неплохо! Pharo хорошо работает с GitHub благодаря функции Iceberg. Pharo готов к работе в сети с фреймворками Seaside и Teapot, а также с PharoJS для фронтенд-разработки.

Итак, почему вам следует использовать Smalltalk?

Smalltalk обладает следующими выигрышными качествами:

  1. Простота и элегантность - Smalltalk представляет очень низкую когнитивную нагрузку для разработчиков.
  2. Объектно-ориентированная чистота - Smalltalk - идеальный способ разработки объектно-ориентированного программного обеспечения. Он поддерживает огромную масштабируемость.
  3. Разработка на основе образов - Smalltalk лучше Docker, чем Docker! Он сочетает в себе приложение с IDE и переносимой платформой ОС, в комплекте со всем, что необходимо приложению для выполнения. (Представьте себе образ VirtualBox или VMware Linux, содержащий Eclipse и ваше приложение Java. Это примерно так.)
  4. Все вышеперечисленное приводит к невероятному увеличению производительности программистов, обычно в 2–3 раза, а в некоторых случаях до 5 раз! Что для вас стоит сократить время разработки вдвое (или лучше)?

Примечание 1. Smalltalk образ сравним с виртуальной машиной VirtualBox или VMware Linux, на которой запущено приложение Java вместе с Eclipse IDE, используемой для создания приложения. Виртуальная машина Linux портативна и может быть легко развернута где угодно. Smalltalk усовершенствовал эту концепцию за несколько десятилетий до этого!

Примечание 2. Продуктивность Smalltalk проиллюстрирована в исследовании Каперса Джонса по метрикам функциональных точек для различных языков программирования.

Таблица 16. Параллельное сравнение функциональных точек и строк показателей кода

Язык - Общее количество рабочих часов

  • C — 26,273
  • КОБОЛ - 22 394
  • Фортран - 22 394
  • JavaScript - 15 929 баллов
  • Лисп - 14 636
  • C++ — 12,697
  • Ява - 12 697
  • Питон - 12 697
  • C# — 12,309
  • Рубин - 11312
  • Дельфы - 8 289
  • Objective-C - 7 848 единиц
  • Smalltalk - 6 879

Даже такие широко разрекламированные языки, как Go, Dart, Elixir, Haskell и Julia, уступают Smalltalk.

(Впервые опубликовано на Hackernoon.)