Стоит ли изучать smalltalk?

Довольно часто приходилось читать выссказывания о том что smalltalk является очень продуктивным языком.

Имеет ли кто-то реальный опыт работы на нем? Стоит ли его изучать и если да то какая реализация на сегодняшний день является актуальной?
  • Вопрос задан
  • 2864 просмотра
Пригласить эксперта
Ответы на вопрос 4
Zigmar
@Zigmar
Продуктивность языка определяется не его синтаксисом, а:
1) Уровнем вашего знания этого языка
2) Опытом работы с ним
3) Наличия пособий, документации и книг по нему
4) Наличия коммьюнити вокруг этого языка
5) Наличия сторонних библиотек
6) Наличия инструментов для работы (компиляторов, отладчиков, сред разработки и редакторов, и т.д.)
7) Соответствию домейна задачи к домейну языка (продуктивно ли писать мобильную игру на Коболе?)

Синтаксис тоже не то, что бы не важен, но если отсортировать по важности факторов, думаю он будет где-то в конце списка.

Не смотря на все сказанное выше, всегда полезно учить новые языки программирования для общего образования, особенно языки с парадигмами отличающимся от знакомых вам языков (например, стоит выучит какой-нибудь функциональный язык, если вы работали только с процедуральными). В плане же применения в индустрии, малопопулярные, академические, «концептуальные» (например религиозно чисто-(ооп/функиональные/whatever)), узкоспециализированные языки — как правило плохо удовлетворяют приведенным выше требованиями.
Ответ написан
Комментировать
KriegeR
@KriegeR
Software Engineer
Наверное, тут стоит подойти с другой точки зрения. Для чего он нужен Вам?
Если хотите решать прикладные задачи, то проще использовать стандартные языки С/Java. Как минимум потому, что Вы всегда сможете найти адекватный мануал или спросить у знающих людей. Если Вы хотите просто «качнуть соображалку», то это будет, может не самый лучший выбор, но стоящий. Ну, а если Вы в будущем хотите связать свою жизнь с программированием на Objective-С, то Вам обязательно стоит хотя бы что-то понимать из SmallTalk'а.
Ответ написан
Комментировать
bagyr
@bagyr
Реализации — Squeak, Pharo.
Заниматься имеет смысл только для общего развития и последующего перехода на ObjC, который из него и вырос.
Сам по себе, язык (как и CL) интересен тем, что ничуть не является потомком С, этакий реликт времен становления CS.
Ответ написан
Комментировать
@chaetal
разработчик ПО и преподаватель

К реализациям добавлю Amber, который работает поверх JavaScript со всеми вытекающими… 

Pharo на сегодняшний день, похоже, уже лучший. Squeak может быть интересен с точки зрения поэкспериментировать/поиграться, но и здесь Pharo его уже почти догнал.

По поводу продуктивности могу сказать за себя: оцениваю свою продуктивность на Smalltalk как минимум раза в 3 выше, чем на Java/C#. Негативный момент — относительно мало библиотек, но как показывает практика, в значительном проценте случаев это так или иначе решаемо — все зависит от задачи.

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

Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы