Мои вопросы просты!
- Вы бы начали изучать Smalltalk, если бы у вас было время? Почему? Почему бы и нет?
- Вы уже знаете Smalltalk? Почему вы порекомендуете Smalltalk? Почему бы и нет?
Лично я программист на Ruby on Rails, и мне это очень нравится. Однако я думаю о Smalltalk, потому что читаю различные блоги, и некоторые люди называют Ruby чем-то вроде «Smalltalk Light». Вторая причина, по которой меня интересует Smalltalk, - это Seaside .
Может быть, кто-то делал такой переход раньше?
РЕДАКТИРОВАТЬ: На самом деле, что меня больше всего взволновало в Smalltalk / Seaside, так это следующий эпизод WebDevRadio: Episode 52: Randal Schwartz on Seaside (среди прочего)
Ну, раз уж вы упомянули меня по имени, я чувствую, что должен вмешаться.
Как я сказал в том интервью с подкастом и как я неоднократно демонстрировал в своем блоге на http://MethodsAndMessages.vox.com/ , это « год малых разговоров ». И, занимаясь защитой Smalltalk в течение последних десяти месяцев, я вижу, что это действительно происходит. Все больше клиентов обращаются к Smalltalk и Seaside, и все поставщики Smalltalk прилагают все усилия, чтобы привлечь этот новый приток внимания. Планируются более крупные конференции Smalltalk. Размещаются новые объявления о вакансиях. Делается больше сообщений в блогах.
Если вы обратитесь к Smalltalk сегодня, вы не одиноки. Есть много других, кто там тоже.
редактировать
Что ж, несколько лет спустя я теперь рекомендую Дарт . Это отличный язык, созданный Google, но теперь принадлежащий комитету ECMA. Он работает на стороне сервера в стиле node.js, но также и на стороне клиента в современных браузерах путем преобразования в JavaScript. Множество хороших книг, блогов, каналов помощи, поддержка IDE, общедоступный live pastebin . Я думаю, что у него определенно есть возможности ... достаточно, чтобы я пишу учебные материалы, чтобы преподавать его на месте или в Интернете, и я почти уверен, что у меня есть работа над книгой или двумя. Гилад Браха, опытный специалист по Smalltalk, внес большой вклад в разработку, поэтому в Dart много Smalltalk.
источник
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 исчезают мысли о базе данных, поэтому исчезает и работа с базой данных. Как будто с моей спины снимают огромный камень (или стаю обезьян).
источник
> не смог найти среду разработки Smalltalk, которая не стоила бы и рук, и ног
Google - бесплатный smalltalk
Cincom Smalltalk, Squeak, GNU Smalltalk
источник
Изучение Smalltalk даст вам основы объектно-ориентированной разработки программного обеспечения с точки зрения человека, который изобрел объектно-ориентированный объект (Алан Кей). Идея перекрывающейся оконной среды пришла из Smalltalk.
Камнем преткновения для изучения Smalltalk является то, что это система передачи сообщений со странным синтаксисом для управления потоком, например:
У него очень зрелая библиотека классов, у которой есть согласованность, которую я не видел слишком много. Библиотека классов во всех средах (даже в коммерческих Smalltalks) имеет доступный исходный код, который позволяет вам учиться у мастеров языка. При программировании Smalltalk я всегда задаю вопрос, как это делается в среде.
Smalltalk обычно реализуется в виде образа, который представляет собой живую среду для всех объектов в вашей системе.
Интерактивный отладчик действительно отделяет Smalltalk от Ruby.
Seaside - это среда веб-разработки, которая привлекла внимание к Smalltalk. Это среда, основанная на продолжении, которая позволяет выполнять отладку с внутренним попаданием и плавную разработку типа Rich Client (основной поток приложений может быть разработан одним методом). Его интеграция с script.aculo.us сделана таким образом, что его легко вызывать из Smalltalk.
источник
Найджел, у меня есть одна цитата:
Хотя прошло много времени с тех пор, как я что-то с ним делал, я номинирую Smalltalk, я до сих пор не встречал ничего похожего на то, что я мог бы передавать мысли в компьютерный код. Дело не только в языке: это прекрасная среда браузера, библиотеки и культура написания четкого, хорошо продуманного кода так быстро, как что-либо еще может сделать спагетти. Когда участники JavaOne превозносили, что Java намного продуктивнее, чем что-либо еще, мне понадобился коричневый бумажный пакет. Ну что ж, вернемся к сортировке моих путей к классам ... - Мартин Фаулер (журнал разработки программного обеспечения, январь 2001 г.)
Я нашел это здесь .
источник
Не согласен с автором, который считает, что вы не будете использовать Smalltalk для больших приложений - именно в этом он и сияет. Но я создал довольно неплохие (обратите внимание на строчные буквы) прототипы приложений менее чем за неделю.
Я изучал объектно-ориентированный язык в ST с 92 года, невероятно рад этому. Это дало мне настоящий опыт в объектно-ориентированном дизайне. Мышление на уроках. Никаких типов. ST действительно делает упор на обмен сообщениями. Если вы хотите что-то узнать, отправьте объекту сообщение и получите ответ. ИМХО, этика и IDE действительно побуждают вас поступать правильно с вашей связью и сплоченностью.
В моей повседневной работе Java я застрял с файлами, дженериками, IDE, подобными eclipse, которые на порядки менее продуктивны, чем любая ST IDE. Я использовал ST только тогда, когда закончил разработку раньше срока. На самом деле это было настолько продуктивно, и у нас было так много повторного использования, что мне пришлось переключиться на другой проект, так как мне нечего было делать! (Хорошо, возможно, я мог бы потратить время на то, чтобы научиться оценивать ...)
Скачайте писк, найдите хорошую книгу и играйте. Единственным недостатком является то, что если на вашем дневном концерте используется Java или C #, вы в конечном итоге захотите использовать ST. Ты быстрее вернешься домой.
Крис Брукс
источник
Я рекомендую всем изучить Lisp (Scheme) или Smalltalk.
У Smalltalks есть замечательные IDE, которые нельзя пропустить, когда вы преодолеете культурный шок. И да, есть несколько бесплатных: Squeak, Dolphin, Smalltalk / X и Visualworks (Non-Comercial).
Хотя Lisp может быть даже чище по своей математической основе.
С уважением
PS: на самом деле я рекомендую изучить оба!
источник
Я не знаю Руби ..
Smalltalk - это чистый объектно-ориентированный язык. Если вы чувствуете необходимость действительно понимать объектно-ориентированный объект, а не просто смоделированный объектно-ориентированный объект самых популярных языков объектно-ориентированного программирования (например, C ++, Java и т.д.), я бы порекомендовал вам поиграть с smalltalk.
В smalltalk все является объектом с атрибутами, поведением и мета. В симуляциях у вас есть типы данных, которые вы используете в своих объектах.
Я бы сказал, поиграйте с этим, вам только на пользу.
источник
Я полностью на твоем месте. Я использую RoR и изучаю Smalltalk. Вот некоторые плюсы и минусы, которые я считаю важными:
Плюсы:
Минусы:
Довольно забавно, как я узнал о Smalltalk. Это была единственная вещь, которая продолжала появляться в результатах Google при поиске материалов на Lisp и Erlang. Однажды я проверил его и был поражен красивым окружением Windows. Несколько мгновений спустя я нашел фреймворк Aida / Web. Я был увлечен и начал изучать Smalltalk через веб-разработку с помощью этого фреймворка.
Все еще не совсем там, но это чертовски интересно, я просто не могу сидеть на месте ... :-) Я снова получаю удовольствие.
источник
Не стал бы учиться, если бы у меня было время. Почему бы и нет? Потому что изучение C # или Java было бы более продуктивным и прибыльным с финансовой точки зрения.
С другой стороны, если вы любитель и хотели бы отправиться на археологические раскопки, я бы посоветовал потратить некоторое время на то, чтобы посмотреть, что, когда, почему и как smalltalk, исследуя Алана Кея. Захватывающий сюжет и невероятный человек (в конце концов, он получил премию Turning Award). Затем можно немного поиграть со скрипом, чтобы почувствовать язык. После этого у вас может появиться новое понимание блоков, замыканий и объектно-ориентированных принципов.
Я знаю и использую Smalltalk, около 15 лет поддерживаю его, и не рекомендую Smalltalk своим друзьям. Почему бы и нет? Работа - это хорошо, и она продолжает расти. Хотя вы можете многому научиться на Smalltalk, вы не можете легко превратить это в выгодную работу в наши дни.
Кроме того, вы, похоже, были в восторге от Seaside, и я предполагаю, что партнерство Seaside / GemStone. Я использовал GemStone довольно долгое время, и они вместе очень привлекательны. Я надеюсь, что они смогут получить долю рынка и импульс, необходимые для успеха.
источник
Не надо! Если вы действительно начнете изучать это, возможно, вы больше никогда не захотите программировать что-то еще.
Это может быть не так, если вы программист на шепотку.
источник
Обязательно изучите Smalltalk! Это 2015 год, и Smalltalk снова набирает популярность благодаря Pharo . Pharo БЕСПЛАТНО. Pharo быстро превращается в мощный корпоративный инструмент. В версии 4.0, которая скоро будет 5.0, она сильно повзрослела всего за четыре года!
Еще есть Amber , Smalltalk для Интернета. Это также БЕСПЛАТНО и быстро развивается.
Несмотря на репутацию Smalltalk , это не Smalltalk вашего отца. Современный Smalltalk захватывающий и многообещающий.
Верно, что рабочих мест по Smalltalk (пока) не так много. Но если достаточное количество вас объединится с новой волной Smalltalkers, тогда отрасль приспособится к ней, и мы увидим более широкое внедрение Smalltalk в бизнесе. Вопрос в том, есть ли у вас видение?
источник
Меня учили Smalltalk на одном из первых курсов по объектно-ориентированному программированию в аспирантуре (около 1988 г.). Учитель решил, что лучше всего начать с «чистого» объектно-ориентированного языка, прежде чем перейти к более модному (мы немного поработали на C ++ в конце семестра).
По этому показателю все же лучше начать с чистого объектно-ориентированного подхода, хотя в наши дни у нас есть Java и C #, оба из которых являются «почти чистыми» объектно-ориентированными объектами - достаточно близко, чтобы вы могли получить их, игнорируя их не-объектно-ориентированные особенности, и ограничиться только подмножеством языков Pure-OO.
источник
Если вы хотите лучше понять экстремальное программирование (и даже Scrum), я скажу да .
Почему нетерпеливым Java-программистам нужно изучать Smalltalk:
http://www.dafydd.net/archive/2010/why-smalltalk-isnt-just-another-language/
источник
Я занимаюсь программным обеспечением уже несколько лет. Я слышал, как люди упоминают Smalltalk несколько раз, и, конечно же, Smalltalk существует примерно с 1980 года, но это один из тех языков, которые, казалось, никогда не становились основным направлением программного обеспечения. Что-то вроде Objective C, CLIPS, PL / I и т. Д. - то, о чем вы, возможно, слышали, но то, что большинство людей никогда не программировало.
Я, вероятно, не стал бы тратить время на изучение Smalltalk, если бы мне это не требовалось для конкретной работы. Несколько лет назад я кратко просмотрел несколько руководств и примеров по Smalltalk, и похоже, что у него есть некоторые явные преимущества для определенных аспектов объектно-ориентированного программирования (например, концепция сообщения кажется крутой). Но, к сожалению, это не мейнстрим, и, похоже, не набирает оборотов.
источник
Эта ветка стала для меня очень актуальной. Я планирую миграцию программного обеспечения в веб-приложение. Это программное обеспечение на основе базы данных. Особо проверяю альтернативы 1) Рельсы 2) Побережье
Если мне удастся получить цифры для Gemstone / S в качестве базы данных, я учту и это. Для меня это означает, что я должен изучить Smalltalk (лучше), чем раньше. Потому что, возможно, это будет моя работа на следующие 15 лет. Вы бы (и не должны) работать с программным обеспечением, которое вам не нравится так долго ;-). У меня сложилось впечатление, что Gemstone / S - одно из «убийственных» приложений. Но настойчивость объектов по-прежнему очень сложная область ....
источник
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.
источник
Я действительно не знаю, что вы ищете.
Если вы ищете другой язык для написания, я думаю, это будет сильно зависеть от доступных библиотек. Я не знаю ни Ruby, ни Smalltalk, но кажется вероятным, что Smalltalk может быть не самым эффективным способом написания приложений типа Ruby on Rails.
Если вы хотите изучить идеи, лежащие в основе Ruby, это может быть очень хорошим ходом. У меня нет ничего количественного, но я всегда чувствовал себя лучше при использовании инструментов (таких как языковые системы), если бы я знал больше, чем просто инструменты, если бы я понимал идеи, лежащие в их основе, или как они работают.
Если вы хотите изучать разные типы объектно-ориентированных языков, вы можете изучить Smalltalk (если он значительно отличается от Ruby), что-то вроде Java или C ++, а также, возможно, объектную систему Common Lisp.
Если вы просто хотите узнать что-то новое, Smalltalk вполне может стать хорошим выбором. Я также порекомендовал бы Common Lisp, и у других, несомненно, будут другие предложения (можете ли вы получить сейчас хорошую систему Forth?).
источник
Да, мне это интересно. Пытался уже один раз начать, но не смог найти среду разработки Smalltalk, которая не стоила бы ни рук, ни ног.
источник