Pull to refresh

Comments 57

Одобряю! ) И советую перенести в какой-нибудь тематический блог, чтоб пост попал на главную.
Спасибо. Перенесу в Языки программирования
Если будет серия, может имеет смысл создать блог Smalltalk? :)
Спасибо, очень интересно. Но читать тяжело — у вас очень много лишних запятых.
Поправьте пожалуйста, я исправлю.
Неплохо, однако, хотелось бы услышать прагматичное сравнение с той же Схемой.
К сожалению со Scheme не знаком. Но Scheme, хоть и мультипарадигменный, но прежде всего функциональный, а Smalltalk чистый ООП.
А какую реализацию проще всего установить, чтобы поиграться именно с языком?

Я как-то не осилил Squeak. :( (там было как-то многовато окошек с кнопочками..)
Если у вас Windows, то можете попробовать Dolphin. У него хорошие туториалы в комплекте. В противном случае могу присоветовать Pharo. Но Squeak такой неуклюжий и аляповатый только на первый взгляд. Если пойти по первому приведенному в списке туториалу, то будете понимать его значительно лучше. И он не будет больше вызывать различных позывов, свойственных эпилептикам, при виде такого буйства красок :)
> Если у вас Windows, то можете попробовать Dolphin.

Я красноглазик, признаюсь.

> Если пойти по первому приведенному в списке туториалу, то будете понимать его значительно лучше.

Окей, так и сделаю. Thnx!
Только будь осторожны и сохраняйте образ почаще :) Автор не предупреждает, но когда вы на ходу меняете обработчик отрисовки и допускаете в нем ошибку — это может привести к различным StackOverflow и иже с ними. :)
Удачи :)
Я тоже его не осилил по началу. Но когда перешёл на Линукс, выбора как-то не осталось :)
> Я расскажу про самые популярные образа в мире Squeak.

Вот оно, программирование с Божьей помощью!
:) Ну кто-то до сих пор на столе иконы держит.
Большое спасибо! Очень интересная статья. Ждём продолжения!
Кушайте, на здоровье. (с)
запятая не нужна, если предполагалось «кушайте для здоровья» ;)
А почему блог Smalltalk не создадите? Тем более если решили продолжать писать.
Полуживой блог — это не то, чего хочется. Как наберется статей десять и будет постоянная аудитория, тогда и блог можно. А пока пускай тут полежит — поди не потеряется.
Плюс блога в том что на него можно подписаться:) Да и вообще следить за новыми статьями проще.
Сократим минимум до 4 статей. Просто на самом деле, у меня времени бывает — не бывает. Пока обнадеживать никого не хочу, если только кто компанию составит :)
ru_smalltalk — укрепляет представление о языке, как о мертвом :)
А какие преимущества у Smalltalk перед тем же Ruby к примеру?

Нет, он конечно был более успешным ООП-языком, чем его предшественник Simula, ну и первые серьёзные реализации VM/IDE мы увидели именно в нём. Но сейчас то зачем? Когда есть Java/Groovy/Ruby/etc…
Странно, что вы не упомянули scala :)
Я уверен, что когда появится MagLev вопросы отпадут сами собой.
И, кстати, он не был, а есть. У Smalltalk есть ряд достоинств, но не перед конкретным языком, а сами по себе. Если он для како-то задачи подходит меньше чем Groovy, то целесообразнее использовать именно Groovy.
Скачал 3.10 со стандартным образом, разработческий образ не нашёл, у вас по ссылке не gz скачивается, а исходник. Названия пунктов меню не соответствовали, дофантазировал. Выбрал установку шрифтов. Всё повисло.

Кстати, напишите, что описание под мак, а то в винде таких шрифтов как 'Liberation Sans' нет, хотя я до этого не добрался.

Squeak-dev images — разработческие образа.
По ссылке на исходник (gz) щелкните правой кнопкой и выберите «Save as» — это именно gz архив.
Вместо моих названий шрифтов можете указать любой установленный в вашей системе, например «Arial».
У меня не Мак, а Ubuntu.
Вот это они, а вот тут ftp.squeak.org/3.9/SqueakV39.sources.gz не они,
по крайней мере мне 7zip сказал, что это не архив, да и при открытии блокнотом не похоже.
Не хочу показаться упертым, но это gz архив :) Как минимум в пользу этой гипотезы говорит тот факт, что после его распаковки появляется файл SqueakV39.sources по объему в 4 раза превышающий оригинал.
Понял в чем проблема. Контент отдавался с gzip заголовком. Мой файрфокс так и сохранил архив. А вот IE сохранил распакованный поток. Интересно. Так, что скорее всего вам не надо ничего распаковывать, а только переименовать (убрать расширение gz), ориентируйтесь по размеру — он должен быть в районе 16Мб.
я то titlу окна, подумал, что мак.
Кстати, что у вас за система?
Уточните, пожалуйста про пункты меню. Просто, я скорее всего, не учел что в squeak-dev и squeak-basic они могут отличаться.
Могут и для разных операционок сборки различаться)

Для разных операционок отличаются только виртуальные машины. Образы абсолютно платформо-независимы.
Universe browser (enchanced) у меня не было, был только Universe browser (basic).
Списка версий пакетов у меня не было, просто в списке пакетов были
FreeType Plus version 0.3
FreeType Plus version 0.4
FreeType Plus version 0.5

Скорее всего потому что браузер — базик.

Про среднюю кнопку меня ещё заклинило. Если вы про среднюю кнопку мыши, то у меня её уже давно нет, а на ноуте и мыши нет.
Да, моя оплошность. Я изначально хотел три скринкаста записать, но сил уже не было. Наверное все же в будущем перейду на скринкасты.
Да с кнопками мыши в Squeak — целое приключение. Это отдельная тема
Данная статья ни какого отношения к SmallTalk-у не имеет, а рассказывает о том, как настроить одну среду (по сути — текстовый редактор), причем, далеко не самую популярную. Я ожидал увидеть хотя бы маленький кусочек кода типа «hello world» разложенный по косточкам, а так же сравнение некоторых базовых конструкций с тем же C++. Без этого «попробовать на вкус» язык не представляется возможным. За это автор получает твердый минус!
Для того, что б попробовать язык первое что нужно сделать — поставить среду исполнения. И эта нетривиальная задача как раз здесь и описывается. Я надеюсь что автор этого поста и другие любители Smalltalk вскоре продолжат этот пост в серию статей.
Но ещё нужно сказать в защиту Smalltalk, что там можно начать играться с языком даже без особых познаний синтаксиса. А примеры синтаксиса отлично просматриваются в браузере методов.
К сожалению, у меня было не так много времени, что бы написать портянку на 10 печатных страниц. Но я учту ваше пожелание в будущем. Но хочу сказать, что установка Squeak и настройка шрифтов, а что самое главное — настройка юникодного ввода, далеко не самая тривиальная задача, а вот работу облегчает.

>>Данная статья ни какого отношения к SmallTalk-у не имеет, а рассказывает о том, как настроить одну среду (по сути — текстовый редактор), причем, далеко не самую популярную.
Я скажу вам по секрету, что IDE для Smalltalk — была неотделима от самого языка с 70-х годов, с самого зарождения. А Squeak — самый доступный во всех отношениях диалект.
UFO just landed and posted this here
Извените, а какой образ выбрали? Squeak basic?
UFO just landed and posted this here
Когда вылетает виртуальная машина, в папке с образом остается парочка новых файлов с отладочной информацией, если вам не сложно — пришлите их мне (почта в профайле). Это необычное поведение.
UFO just landed and posted this here
Я проверю завтра на WinXP. Но у меня под Линукс — все в порядке.
спасибо. вся информация собрана в единое целое и представляет стартовую площадку для интереса. а с языком я хотел ознакомиться уже давно.
Друзья ярушники:) На здоровье. Может помогу чем в освоении.
Странно, меня учили, что Squeak — не диалект или реализация Smalltalk, а отдельный язык, хотя и продолжающий идеи Smalltalk. Всё-таки они не только набором библиотек и расширений отличаются, но и синтаксисом.
Ну вообще-то Squeak — это диалект и реализация Smalltalk-80. Не смотря на то, что все диалекты отличаются, среди некоторых эти отличи больше, среди других меньше. Но если я правильно помню, то в смолтолке 5 зарезервированных слов, все остальное сахар. Я также могу добавить свою ложечку сахара, отредактировав дерево классов Compiler.
а в чём смысл smalltalk-a? какие задачи проще решаются именно в нём?
Вообще это язык общего назначения. Соответсвенно решать на нем можно весь спектр задач адресованных данному классу ЯП.
Ввиду специфики архитектуры безумно продуктивен при использовании TDD и других XP практик.
Весьма занимательное видео: pharocasts.blogspot.com/2010/02/rest-xml-parsing-and-photos.html
обратите внимание, что человек делает, когда возникает Exception. Он просто в отладчике исправляет ошибку и говорит «Выполнить метод заново». Запущенная программа не останавливается.
но для каких конкретных задач smalltalk даёт принципиальное преимущество по сравнению с более популярными оо-языками? какие задачи лучше реализовывать в нём, а не в c++, c# или java?
Те, которые не предьявляют высоких требований к производительности. Очень хорошо справляется с интеграционными задачами в гетерогенных ИС. Диалект GNU Smalltalk находит применение в задачах связанных с системным администрированием, наряду с Perl и Python.
По тегу Smalltalk есть ссылка на видео материалы со встречи RSUG в Санк-Петербурге. На ней участники рассказывали об опыте использования в различных областях.
к сожалению не вижу специфичных задач ни для одного из перечисленных языков (ну кроме c++). наверное поэтому не могу привести конкретные примеры
Sign up to leave a comment.

Articles