Вы бы начали изучать Smalltalk? [закрыто]

83

Мои вопросы просты!

  1. Вы бы начали изучать Smalltalk, если бы у вас было время? Почему? Почему бы и нет?
  2. Вы уже знаете Smalltalk? Почему вы порекомендуете Smalltalk? Почему бы и нет?

Лично я программист на Ruby on Rails, и мне это очень нравится. Однако я думаю о Smalltalk, потому что читаю различные блоги, и некоторые люди называют Ruby чем-то вроде «Smalltalk Light». Вторая причина, по которой меня интересует Smalltalk, - это Seaside .

Может быть, кто-то делал такой переход раньше?

РЕДАКТИРОВАТЬ: На самом деле, что меня больше всего взволновало в Smalltalk / Seaside, так это следующий эпизод WebDevRadio: Episode 52: Randal Schwartz on Seaside (среди прочего)

Кристоф Шиссль
источник

Ответы:

62

Если вам нравится Ruby, вам, вероятно, понравится Smalltalk. IIRC Seaside был перенесен на виртуальную машину Gemstone, которая является частью их OODBMS Gemstone / S. У него гораздо лучшая поддержка потоков, чем у Ruby, поэтому это лучшая серверная часть для системы большого объема. Это может быть хорошим поводом присмотреться к нему.

Причины изучить Smalltalk:

  • Это действительно очень хорошая среда программирования. Как только вы осознаете это (это, как правило, немного культурный шок для людей, привыкших к C ++ или Java), вы обнаружите, что это действительно хорошая среда для работы. Даже действительно дрянной небольшой разговор, такой как Старые системы Digitalk, которые я использовал, очень приятны в использовании. Многие из старых гуру XP и OO, такие как Кент Бек и Мартин Фаулер, в свое время набросились на Smalltalk и иногда можно услышать тоску по старым добрым временам на публике (спасибо Фрэнку Ширеру за цитату, +1) - На этой платформе зародилась гибкая разработка.

  • Это одна из самых продуктивных платформ разработки в истории.

  • Существует несколько зрелых реализаций и удивительно большая база кода. В какой-то момент это стало очень модным в кругах финансового рынка, где производительность разработчиков и время вывода продукта на рынок имеют большое значение. До середины 1990-х это была более или менее единственная игра в городе (за возможным исключением LISP), если вам нужен коммерчески поддерживаемый язык высокого уровня, подходящий для разработки приложений.

  • Развернуть легко - просто поместите файл образа в соответствующий каталог.

  • На самом деле это не причина, но книга « Банда четырех» использует Smalltalk для многих своих примеров.

Причины не изучать Smalltalk:

  • Это что-то вроде нишевого рынка. У вас могут возникнуть проблемы с поиском работы. Однако, если вы создаете какое-то приложение .com, где у вас есть серверы, это может не быть проблемой.

  • Многие считают ее устаревшей системой. На платформе относительно мало новых разработок (хотя Seaside, кажется, ведет к некоторому возрождению).

  • Он имеет тенденцию плохо работать с традиционными системами управления версиями (по крайней мере, с начала-середины 90-х, когда я его использовал). Это может быть, а может и не быть.

  • Он несколько замкнутый и любит играть сам по себе. Python или Ruby созданы для интеграции с нуля и, как правило, более разборчивы и, следовательно, их легче интегрировать со сторонним программным обеспечением. Однако различные другие, более распространенные системы страдают от этого типа изолированности в большей или меньшей степени, и это, похоже, не сильно мешает их использованию.

ОбеспокоенныйTunbridgeWells
источник
1
Ruby также был портирован на Gemstone: он называется Maglev: infoq.com/news/2008/04/maglev-gemstone-builds-ruby
d foy
Что вы имеете в виду под «он не очень хорошо работает с традиционными системами управления версиями»?
Detly
5
То, как традиционный Smalltalk хранил исходный код, означало, что он был встроен в изображение и связанные с ним источники и файлы изменений. У вас не было хорошего чистого набора программных файлов, как если бы вы получили, скажем, C.Системы Smalltalk, как правило, требовали специализированных систем управления версиями с поддержкой smalltalk, которые, как правило, были (а) проприетарными, (б) дорогими и ( в) несовместимо со всем остальным.
ConcernedOfTunbridgeWells
1
И, надеюсь, Монтичелло рассмотрит (а) и (б) эти вопросы. Squeak уже активно использует его, и у SqueakSource есть много проектов, использующих его. Хотя бородавки остались. Как только проекты git-Monticello действительно начнут использоваться, (c), надеюсь, также отойдет на второй план.
Фрэнк Шеарар
2
Мне вообще нравится ответ, но Smalltalk нормально работает со сторонним программным обеспечением. Тот факт, что вы не видите много API, не потому, что вы технически не можете их интегрировать, а потому, что это ниша (поэтому меньше людей нуждается во внешнем ПО). Вторая причина этого эффекта (которая также не является технической) заключается в том, что smalltalkers предпочтут решать проблемы в smalltalk, а не в других менее интересных технологиях.
Себастьян Састре
46

Ну, раз уж вы упомянули меня по имени, я чувствую, что должен вмешаться.

Как я сказал в том интервью с подкастом и как я неоднократно демонстрировал в своем блоге на http://MethodsAndMessages.vox.com/ , это « год малых разговоров ». И, занимаясь защитой Smalltalk в течение последних десяти месяцев, я вижу, что это действительно происходит. Все больше клиентов обращаются к Smalltalk и Seaside, и все поставщики Smalltalk прилагают все усилия, чтобы привлечь этот новый приток внимания. Планируются более крупные конференции Smalltalk. Размещаются новые объявления о вакансиях. Делается больше сообщений в блогах.

Если вы обратитесь к Smalltalk сегодня, вы не одиноки. Есть много других, кто там тоже.

редактировать

Что ж, несколько лет спустя я теперь рекомендую Дарт . Это отличный язык, созданный Google, но теперь принадлежащий комитету ECMA. Он работает на стороне сервера в стиле node.js, но также и на стороне клиента в современных браузерах путем преобразования в JavaScript. Множество хороших книг, блогов, каналов помощи, поддержка IDE, общедоступный live pastebin . Я думаю, что у него определенно есть возможности ... достаточно, чтобы я пишу учебные материалы, чтобы преподавать его на месте или в Интернете, и я почти уверен, что у меня есть работа над книгой или двумя. Гилад Браха, опытный специалист по Smalltalk, внес большой вклад в разработку, поэтому в Dart много Smalltalk.

Рэндал Шварц
источник
2
Вот почему Stack Overflow - это круто! Спасибо за ваш ответ!
Christoph Schiessl,
Не могли бы вы из любопытства подробнее рассказать о притоке внимания - каких-то идеях, из которых исходят мысли?
ConcernedOfTunbridgeWells
Ruby, безусловно, помог, я думаю, что Javascript и Objective-C тоже. Для людей, которые не понимают чисто объектно-ориентированного подхода, эти языки представляют собой знакомую отправную точку, из которой можно экстраполировать, насколько хорош Smalltalk.
Дэмиен Поллет,
Затем ребята из Seaside сделали хороший пиар, Ави Брайант с DabbleDB и переворот Maglev на Rails conf, и Рэндал тоже довольно громко говорит :) Также Ларс Бак из Google V8 исходит от Self ... было много таких крошечных намеков, все намекающие на Smalltalk и Lisp, странных языках из будущего-в-прошлом :)
Дэмиен Поллет,
31

Smalltalk - хороший язык для изучения, и самое замечательное в том, что на это уходит всего день. Это намного больше, чем просто академический язык. Люди создают огромные, масштабируемые, воспроизводимые приложения на миллиарды долларов. Просто они об этом мало говорят. См., Например, GemStone и Orient Overseas Container Lines: пример судоходной отрасли .

Seaside - хорошая причина изучить Smalltalk, но я не думаю, что вы найдете его на порядки лучше, чем Rails.

То, что меня убедило, был GemStone. Мне очень нравится GLASS от Gemstone (GemStone, Linux, Apache, Smalltalk, Seaside). Убийственной частью этого является GemStone, который обрабатывает всю сохраняемость объектов за вас в основном, даже если вы не задумываетесь об этом. Увидев некоторые из их демонстраций и услышав о том, что люди делают с GemStone, я перевернул мое представление о том, что такое «большое приложение».

Что меня больше всего беспокоит в Rails, так это объектно-реляционное отображение. В этом нет ничего против Ruby, потому что он так же плохо работает с GLORP (который обрабатывает ActiveRecord для Smalltalk), Perl или чем-то еще. Сопоставление объектов с таблицами базы данных просто болезненно. С GemStone исчезают мысли о базе данных, поэтому исчезает и работа с базой данных. Как будто с моей спины снимают огромный камень (или стаю обезьян).

Брайан Д Фой
источник
1
Хотел бы я проголосовать дважды ... Полностью согласен.
Себастьян РоккаСерра,
1
+1 за демонстрацию превосходства ODB над ORM. переход от одного к другому - это определенно то, что вы можете почувствовать
ryan0
16

> не смог найти среду разработки Smalltalk, которая не стоила бы и рук, и ног

Google - бесплатный smalltalk

Cincom Smalltalk, Squeak, GNU Smalltalk


источник
Писк действительно хорош! Чистое ООП, полностью графический, прекрасный пользовательский интерфейс, открытый исходный код (некоторые не согласны с этим), более или менее переносимый ...
Джо Пинеда
1
+1 за Squeak, и у него отличное сообщество с хорошим списком рассылки для новичков.
Себастьян РоккаСерра,
+1 для Squeak, обозреватель объектов (или как там он называется) бесценен для изучения того, как работает объектная модель.
Маурисио Схеффер,
4
Pharo бесплатен и имеет все современные инструменты ..
Дэфидд Рис,
15

Изучение Smalltalk даст вам основы объектно-ориентированной разработки программного обеспечения с точки зрения человека, который изобрел объектно-ориентированный объект (Алан Кей). Идея перекрывающейся оконной среды пришла из Smalltalk.

Камнем преткновения для изучения Smalltalk является то, что это система передачи сообщений со странным синтаксисом для управления потоком, например:

i < 60
   ifTrue: [ self walk ]

У него очень зрелая библиотека классов, у которой есть согласованность, которую я не видел слишком много. Библиотека классов во всех средах (даже в коммерческих Smalltalks) имеет доступный исходный код, который позволяет вам учиться у мастеров языка. При программировании Smalltalk я всегда задаю вопрос, как это делается в среде.

Smalltalk обычно реализуется в виде образа, который представляет собой живую среду для всех объектов в вашей системе.

Интерактивный отладчик действительно отделяет Smalltalk от Ruby.

Seaside - это среда веб-разработки, которая привлекла внимание к Smalltalk. Это среда, основанная на продолжении, которая позволяет выполнять отладку с внутренним попаданием и плавную разработку типа Rich Client (основной поток приложений может быть разработан одним методом). Его интеграция с script.aculo.us сделана таким образом, что его легко вызывать из Smalltalk.

Кевин Дридгер
источник
1
Синтаксис не странный - на самом деле он ОЧЕНЬ элегантен. Его следует читать так: эй, каким бы ни был результат "i <60", вот фрагмент кода (объект кода, переданный в качестве аргумента), который нужно оценить, если вы считаете, что вы правы. Забавно то, что это работает, даже если "i <60" возвращает нечеткую статистическую вещь.
blabla999
... и эта нечеткая статистическая вещь может затем решить (как метод), как с этим бороться. Нет ни одного встроенного оператора или структуры управления, которую нельзя было бы переопределить таким образом.
blabla999
10

Найджел, у меня есть одна цитата:

Хотя прошло много времени с тех пор, как я что-то с ним делал, я номинирую Smalltalk, я до сих пор не встречал ничего похожего на то, что я мог бы передавать мысли в компьютерный код. Дело не только в языке: это прекрасная среда браузера, библиотеки и культура написания четкого, хорошо продуманного кода так быстро, как что-либо еще может сделать спагетти. Когда участники JavaOne превозносили, что Java намного продуктивнее, чем что-либо еще, мне понадобился коричневый бумажный пакет. Ну что ж, вернемся к сортировке моих путей к классам ... - Мартин Фаулер (журнал разработки программного обеспечения, январь 2001 г.)

Я нашел это здесь .

Фрэнк Шеарар
источник
10

Не согласен с автором, который считает, что вы не будете использовать Smalltalk для больших приложений - именно в этом он и сияет. Но я создал довольно неплохие (обратите внимание на строчные буквы) прототипы приложений менее чем за неделю.

Я изучал объектно-ориентированный язык в ST с 92 года, невероятно рад этому. Это дало мне настоящий опыт в объектно-ориентированном дизайне. Мышление на уроках. Никаких типов. ST действительно делает упор на обмен сообщениями. Если вы хотите что-то узнать, отправьте объекту сообщение и получите ответ. ИМХО, этика и IDE действительно побуждают вас поступать правильно с вашей связью и сплоченностью.

В моей повседневной работе Java я застрял с файлами, дженериками, IDE, подобными eclipse, которые на порядки менее продуктивны, чем любая ST IDE. Я использовал ST только тогда, когда закончил разработку раньше срока. На самом деле это было настолько продуктивно, и у нас было так много повторного использования, что мне пришлось переключиться на другой проект, так как мне нечего было делать! (Хорошо, возможно, я мог бы потратить время на то, чтобы научиться оценивать ...)

Скачайте писк, найдите хорошую книгу и играйте. Единственным недостатком является то, что если на вашем дневном концерте используется Java или C #, вы в конечном итоге захотите использовать ST. Ты быстрее вернешься домой.

Крис Брукс

Крис Брукс
источник
9

Я рекомендую всем изучить Lisp (Scheme) или Smalltalk.

У Smalltalks есть замечательные IDE, которые нельзя пропустить, когда вы преодолеете культурный шок. И да, есть несколько бесплатных: Squeak, Dolphin, Smalltalk / X и Visualworks (Non-Comercial).

Хотя Lisp может быть даже чище по своей математической основе.

С уважением

PS: на самом деле я рекомендую изучить оба!

blabla999
источник
8

Я не знаю Руби ..

Smalltalk - это чистый объектно-ориентированный язык. Если вы чувствуете необходимость действительно понимать объектно-ориентированный объект, а не просто смоделированный объектно-ориентированный объект самых популярных языков объектно-ориентированного программирования (например, C ++, Java и т.д.), я бы порекомендовал вам поиграть с smalltalk.

В smalltalk все является объектом с атрибутами, поведением и мета. В симуляциях у вас есть типы данных, которые вы используете в своих объектах.

Я бы сказал, поиграйте с этим, вам только на пользу.

Slashmais
источник
1
В SmallTalk даже «классы» - это объекты, экземпляры класса Class !!! Это сводило меня с ума, пока я не проглотил это!
Джо Пинеда,
1
Ruby также является чистым объектно-ориентированным языком в том смысле, что даже классы являются объектами. Таковы блоки, методы и ссылка на нулевой указатель.
Алан
4
Руби заимствует (Матц свободно это заявляет) многие идеи из Smalltalk. Во многих отношениях его можно рассматривать как «прагматичный» (извинения перед Хантом и Томасом) язык, подобный Smalltalk.
ConcernedOfTunbridgeWells,
7

Я полностью на твоем месте. Я использую RoR и изучаю Smalltalk. Вот некоторые плюсы и минусы, которые я считаю важными:

Плюсы:

  • Зрелая и стабильная среда
  • Быстрый цикл разработки
  • Заставляет больше думать и меньше писать

Минусы:

  • Требуется иное мышление
  • Все еще не совсем понял это

Довольно забавно, как я узнал о Smalltalk. Это была единственная вещь, которая продолжала появляться в результатах Google при поиске материалов на Lisp и Erlang. Однажды я проверил его и был поражен красивым окружением Windows. Несколько мгновений спустя я нашел фреймворк Aida / Web. Я был увлечен и начал изучать Smalltalk через веб-разработку с помощью этого фреймворка.

Все еще не совсем там, но это чертовски интересно, я просто не могу сидеть на месте ... :-) Я снова получаю удовольствие.

Дамир Хорват
источник
5

Не стал бы учиться, если бы у меня было время. Почему бы и нет? Потому что изучение C # или Java было бы более продуктивным и прибыльным с финансовой точки зрения.

С другой стороны, если вы любитель и хотели бы отправиться на археологические раскопки, я бы посоветовал потратить некоторое время на то, чтобы посмотреть, что, когда, почему и как smalltalk, исследуя Алана Кея. Захватывающий сюжет и невероятный человек (в конце концов, он получил премию Turning Award). Затем можно немного поиграть со скрипом, чтобы почувствовать язык. После этого у вас может появиться новое понимание блоков, замыканий и объектно-ориентированных принципов.

Я знаю и использую Smalltalk, около 15 лет поддерживаю его, и не рекомендую Smalltalk своим друзьям. Почему бы и нет? Работа - это хорошо, и она продолжает расти. Хотя вы можете многому научиться на Smalltalk, вы не можете легко превратить это в выгодную работу в наши дни.

Кроме того, вы, похоже, были в восторге от Seaside, и я предполагаю, что партнерство Seaside / GemStone. Я использовал GemStone довольно долгое время, и они вместе очень привлекательны. Я надеюсь, что они смогут получить долю рынка и импульс, необходимые для успеха.

тупица
источник
5

Не надо! Если вы действительно начнете изучать это, возможно, вы больше никогда не захотите программировать что-то еще.

Это может быть не так, если вы программист на шепотку.

Ричард Дурр
источник
4

Обязательно изучите Smalltalk! Это 2015 год, и Smalltalk снова набирает популярность благодаря Pharo . Pharo БЕСПЛАТНО. Pharo быстро превращается в мощный корпоративный инструмент. В версии 4.0, которая скоро будет 5.0, она сильно повзрослела всего за четыре года!

Еще есть Amber , Smalltalk для Интернета. Это также БЕСПЛАТНО и быстро развивается.

Несмотря на репутацию Smalltalk , это не Smalltalk вашего отца. Современный Smalltalk захватывающий и многообещающий.

Верно, что рабочих мест по Smalltalk (пока) не так много. Но если достаточное количество вас объединится с новой волной Smalltalkers, тогда отрасль приспособится к ней, и мы увидим более широкое внедрение Smalltalk в бизнесе. Вопрос в том, есть ли у вас видение?

Ричард Энг
источник
3

Меня учили Smalltalk на одном из первых курсов по объектно-ориентированному программированию в аспирантуре (около 1988 г.). Учитель решил, что лучше всего начать с «чистого» объектно-ориентированного языка, прежде чем перейти к более модному (мы немного поработали на C ++ в конце семестра).

По этому показателю все же лучше начать с чистого объектно-ориентированного подхода, хотя в наши дни у нас есть Java и C #, оба из которых являются «почти чистыми» объектно-ориентированными объектами - достаточно близко, чтобы вы могли получить их, игнорируя их не-объектно-ориентированные особенности, и ограничиться только подмножеством языков Pure-OO.

Джеймс Карран
источник
3

Я занимаюсь программным обеспечением уже несколько лет. Я слышал, как люди упоминают Smalltalk несколько раз, и, конечно же, Smalltalk существует примерно с 1980 года, но это один из тех языков, которые, казалось, никогда не становились основным направлением программного обеспечения. Что-то вроде Objective C, CLIPS, PL / I и т. Д. - то, о чем вы, возможно, слышали, но то, что большинство людей никогда не программировало.

Я, вероятно, не стал бы тратить время на изучение Smalltalk, если бы мне это не требовалось для конкретной работы. Несколько лет назад я кратко просмотрел несколько руководств и примеров по Smalltalk, и похоже, что у него есть некоторые явные преимущества для определенных аспектов объектно-ориентированного программирования (например, концепция сообщения кажется крутой). Но, к сожалению, это не мейнстрим, и, похоже, не набирает оборотов.

Огре Псалом 33
источник
3
Objective-C ... не думайте, что заявление все еще в
силе по
@sjas Как верно! Теперь все, что нужно Smalltalk, - это чтобы крупный разработчик создал новую нишу на рынке устройств и определил Smalltalk как язык де-факто для написания приложений для устройства!
Ogre Psalm33 01
2

Эта ветка стала для меня очень актуальной. Я планирую миграцию программного обеспечения в веб-приложение. Это программное обеспечение на основе базы данных. Особо проверяю альтернативы 1) Рельсы 2) Побережье

Если мне удастся получить цифры для Gemstone / S в качестве базы данных, я учту и это. Для меня это означает, что я должен изучить Smalltalk (лучше), чем раньше. Потому что, возможно, это будет моя работа на следующие 15 лет. Вы бы (и не должны) работать с программным обеспечением, которое вам не нравится так долго ;-). У меня сложилось впечатление, что Gemstone / S - одно из «убийственных» приложений. Но настойчивость объектов по-прежнему очень сложная область ....

Фридрих
источник
2

1) Да! Выучить язык всегда хорошо. Если вы собираетесь изучать язык, сделайте его мощным и влиятельным языком, который можно выучить легко и быстро.

Smalltalk остается выдающимся языком и средой для изучения концепций объектно-ориентированного программирования.

Это все объекты, вплоть до самого низа. Это обеспечивает действительно последовательный подход к работе.

Целые числа являются экземплярами класса Integer. Строки - это набор символьных объектов. Классы - это одиночные экземпляры объектов для определяемого ими класса.

Управляющие структуры работают, отправляя сообщения получения экземплярам Class Boolean.

Даже анонимные методы (блоки кода, иначе блоки) являются объектами.

Все делается путем отправки сообщения объекту. Синтаксис можно уместить на открытке.

Ясность концепций и их реализация в Smalltalk означает, что вы можете разрабатывать способы мышления, которые переносятся непосредственно в Java, Ruby и C #. Я думаю, это верно и для Python.

Это настолько хорошо для прояснения концепций, что один крупный университет Великобритании использовал Smalltalk для обучения 5000 человек в год объектно-ориентированным вычислениям.

Squeak 5 только что вышел. Он значительно повысил производительность благодаря своей новой виртуальной машине Cog / Spur, в которой реализована функция прогрессивной сборки мусора.

Pharo 4 имеет красивую и красивую тему рабочего стола. Следующая версия, Pharo 5, выйдет в ближайшее время. Он перейдет на использование виртуальной машины Cog / Spur, в нем будет около 5000 классов, а дополнительные пакеты классов будут легко доступны из сети через инструмент Configuration Browser.

Squeak 5 эффективен даже на Raspberry Pis первого поколения и почти на 50% быстрее на новом Raspberry Pi zero за 5 долларов. За 99 долларов вы купите Raspberry Pi 2, экран и корпус - работающую на зрелой, полностью функциональной среде IDE.

Ведущие исследования проводятся в области скоординированных распределенных объектно-ориентированных систем на Smalltalk (например, Naiad и Spoon).

Некоторые из крупнейших в мире корпоративных баз данных работают на Smalltalk, включая отслеживание 60% мировых морских контейнеров и торговых систем в крупнейшем в мире банке.

Вы можете использовать Smalltalk как своего рода сверхмощный CoffeeScript, писать на Amber Smalltalk и транслировать в JavaScript, работая в браузере.

Squeak, Pharo и Amber - это бесплатные языки и среды с открытым исходным кодом и открытой лицензией.

Squeak и Pharo обеспечивают возможность однократной записи и запуск в любом месте для MacOS, Windows и Linux. (Возможно, тоже RiscOS).

Dolphin Smalltalk полностью ориентирован на внешний вид Windows и позволяет вам компилировать закрытые .exes вашей готовой работы для распространения среди конечных пользователей. Дальнейшая разработка Dolphin поставщиком прекратилась, но он полностью функционален и, как и все Smalltalks, спроектирован с возможностью массового расширения. (Я упоминал, что у Pharo теперь 5000 классов по сравнению с 3000 у Squeak? Pharo - это форк Squeak 3.9)

** По адресу: ** http://beginningtosmalltalk.blogspot.co.uk/2015/11/how-to-get-smalltalk- можно найти руководство по установке и запуску Squeak, Amber, Pharo, Cuis и Dolphin. up-and-running.html

Веб-фреймворк Seaside работает на Squeak и Pharo. Это замечательный зрелый инструмент, как и более традиционный фреймворк AidaWeb.

VisualAge, VisualWorks и Gemstone предоставляют надежные системы корпоративного уровня. Gemstone предоставляет бесконечно масштабируемую объектную базу данных с транзакциями и постоянством.

2) Да - уже пользуюсь.

Я изучил его в Открытом университете и сразу же начал продуктивно работать с Ruby (копия книги Кирка и ссылка на библиотеку рядом со мной). Это очень помогло мне с Java и с Moo-кодом Xerox.

Я только что вернулся к нему, чтобы писать приложения для управления и распространения гибких, многоплатформенных мобильных приложений.

Я ожидаю, что скоро я тоже буду переписывать свои мобильные приложения на JavaScript, используя Amber.

Euan M
источник
1

Я действительно не знаю, что вы ищете.

Если вы ищете другой язык для написания, я думаю, это будет сильно зависеть от доступных библиотек. Я не знаю ни Ruby, ни Smalltalk, но кажется вероятным, что Smalltalk может быть не самым эффективным способом написания приложений типа Ruby on Rails.

Если вы хотите изучить идеи, лежащие в основе Ruby, это может быть очень хорошим ходом. У меня нет ничего количественного, но я всегда чувствовал себя лучше при использовании инструментов (таких как языковые системы), если бы я знал больше, чем просто инструменты, если бы я понимал идеи, лежащие в их основе, или как они работают.

Если вы хотите изучать разные типы объектно-ориентированных языков, вы можете изучить Smalltalk (если он значительно отличается от Ruby), что-то вроде Java или C ++, а также, возможно, объектную систему Common Lisp.

Если вы просто хотите узнать что-то новое, Smalltalk вполне может стать хорошим выбором. Я также порекомендовал бы Common Lisp, и у других, несомненно, будут другие предложения (можете ли вы получить сейчас хорошую систему Forth?).

Дэвид Торнли
источник
Понятно, что вы не смотрели на Сисайд. Самым эффективным способом написания приложений типа Ruby-on-Rails, несомненно, является Seaside.
Стефан Эггермонт
Не смотрел на Seaside и не использовал Ruby или Smalltalk, так что это общий совет. Спасибо, что указали на Seaside.
Дэвид Торнли,
-5

Да, мне это интересно. Пытался уже один раз начать, но не смог найти среду разработки Smalltalk, которая не стоила бы ни рук, ни ног.

Брайан Кноблаух
источник
1
Squeak (с сайта squeak.org ) - это бесплатная реализация с открытым исходным кодом, основанная на исходном образе Smalltalk-80.
Кевин Дридгер,
VisualWorks теперь также доступен бесплатно. Вы можете получить его на cincomsmalltalk.com
ConcernedOfTunbridgeWells