Не могли бы вы начать изучать Smalltalk? [закрытый]


мои вопросы-это просто!

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

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

может, кто-то сделал такой же переход?

EDIT: на самом деле, что меня больше всего взволновало Smalltalk/Seaside-это следующий эпизод WebDevRadio: эпизод 52: Рэндал Шварц На берегу моря (среди прочего)

21 76

21 ответ:

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

причины для изучения Smalltalk:

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

  • Это одна из самых производительных платформ развития в истории.

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

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

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

причины не узнать Общее:

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

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

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

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

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

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

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

Edit

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

Smalltalk-хороший язык для изучения, и самое замечательное, что для этого требуется всего один день. Это гораздо больше, чем просто академический язык. Люди создают огромные, масштабируемые, воспроизводимые приложения, обрабатывающие миллиарды долларов. Они просто не говорят об этом. Смотрите, например,драгоценный камень и ориентирует международные линии контейнера: Тематическое Исследование Судоходной Отрасли.

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

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

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

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

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

i < 60
   ifTrue: [ self walk ]

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

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

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

Приморский является основой веб-разработки и дал общее новая фара. Это среда на основе продолжения, которая позволяет выполнять отладку внутри хита и плавный богатый опыт разработки типа клиента (верхний поток приложений может быть разработан в одном методе). Это интеграция с script.aculo.us было сделано таким образом, что он легко вызывается изнутри Smalltalk.

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

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

Cincom Smalltalk, писк, GNU Smalltalk

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

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

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

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

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

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

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

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

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

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

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

Крис Брукс

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

слухов есть прекрасные Иды, которые вы не хотите пропустить однажды у вас культурный шок. И да, есть больше чем один свободный из них: писк, Дельфин, на языке Smalltalk/X, а среда visualworks (не комерческий).

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

в отношении

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

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

плюсы:

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

плюсы:

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

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

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

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

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

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

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

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

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

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

по этой мере все еще лучше начать с чистого OO, хотя в эти дни у нас есть Java & C#, оба из которых являются "почти чистыми" OO - достаточно близко, что вы можете получить, игнорируя не-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, если мне не нужно для a конкретная работа. Я кратко рассмотрел некоторые учебники и примеры Smalltalk несколько лет назад, и похоже, что у него есть некоторые явные преимущества для некоторых аспектов программирования OO (например, концепция сообщения кажется классной). Но, к сожалению, это не мейнстрим, и, кажется, не набирает много оборотов.

абсолютно, изучите Smalltalk! Это 2015 и Smalltalk находится на подъеме снова, спасибо Фаро. Фаро свободен. Pharo быстро развивается в мощный инструмент предприятия. В версии 4.0, и скоро будет 5.0, она значительно окрепла за четыре года!

то есть Янтарь, который является Smalltalk для интернета. Это также бесплатно и быстро развивается.

несмотря на репутация Smalltalk, это не твой отец язык Smalltalk. Современный Smalltalk увлекателен и перспективен.

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

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

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

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

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

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

целые числа являются экземплярами класса Integer. Строки-это набор символов объекты. Классы-это одноэлементные объекты экземпляра для класса, который они определяют.

структуры управления осуществляется с помощью отправки вам сообщения на экземпляры класса логические.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Приморский веб-фреймворк работает на скрипе и на Фаро. Это замечательный зрелый инструмент, как и более традиционная структура AidaWeb.

использованием visualage, среда visualworks и драгоценных камней-все это обеспечивает корпоративного класса робастных систем. Gemstone обеспечивает бесконечно масштабируемую базу данных объектов с транзакциями и сохранением.

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

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

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

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

Я не знаю, что вы ищете.

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

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

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

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

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