Если у вас Windows, то можете попробовать Dolphin. У него хорошие туториалы в комплекте. В противном случае могу присоветовать Pharo. Но Squeak такой неуклюжий и аляповатый только на первый взгляд. Если пойти по первому приведенному в списке туториалу, то будете понимать его значительно лучше. И он не будет больше вызывать различных позывов, свойственных эпилептикам, при виде такого буйства красок :)
Только будь осторожны и сохраняйте образ почаще :) Автор не предупреждает, но когда вы на ходу меняете обработчик отрисовки и допускаете в нем ошибку — это может привести к различным StackOverflow и иже с ними. :)
Удачи :)
Полуживой блог — это не то, чего хочется. Как наберется статей десять и будет постоянная аудитория, тогда и блог можно. А пока пускай тут полежит — поди не потеряется.
Сократим минимум до 4 статей. Просто на самом деле, у меня времени бывает — не бывает. Пока обнадеживать никого не хочу, если только кто компанию составит :)
А какие преимущества у 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Мб.
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 — самый доступный во всех отношениях диалект.
Когда вылетает виртуальная машина, в папке с образом остается парочка новых файлов с отладочной информацией, если вам не сложно — пришлите их мне (почта в профайле). Это необычное поведение.
Странно, меня учили, что Squeak — не диалект или реализация Smalltalk, а отдельный язык, хотя и продолжающий идеи Smalltalk. Всё-таки они не только набором библиотек и расширений отличаются, но и синтаксисом.
Ну вообще-то Squeak — это диалект и реализация Smalltalk-80. Не смотря на то, что все диалекты отличаются, среди некоторых эти отличи больше, среди других меньше. Но если я правильно помню, то в смолтолке 5 зарезервированных слов, все остальное сахар. Я также могу добавить свою ложечку сахара, отредактировав дерево классов Compiler.
Вообще это язык общего назначения. Соответсвенно решать на нем можно весь спектр задач адресованных данному классу ЯП.
Ввиду специфики архитектуры безумно продуктивен при использовании TDD и других XP практик.
Весьма занимательное видео: pharocasts.blogspot.com/2010/02/rest-xml-parsing-and-photos.html
обратите внимание, что человек делает, когда возникает Exception. Он просто в отладчике исправляет ошибку и говорит «Выполнить метод заново». Запущенная программа не останавливается.
но для каких конкретных задач smalltalk даёт принципиальное преимущество по сравнению с более популярными оо-языками? какие задачи лучше реализовывать в нём, а не в c++, c# или java?
Те, которые не предьявляют высоких требований к производительности. Очень хорошо справляется с интеграционными задачами в гетерогенных ИС. Диалект GNU Smalltalk находит применение в задачах связанных с системным администрированием, наряду с Perl и Python.
По тегу Smalltalk есть ссылка на видео материалы со встречи RSUG в Санк-Петербурге. На ней участники рассказывали об опыте использования в различных областях.
Как попробовать Smalltalk на вкус