URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 66060
[ Назад ]

Исходное сообщение
"Squeak 4.1 и Pharo 1.0 - новые версии реализаций языка Small..."

Отправлено opennews , 19-Апр-10 02:15 
Объявлено (http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-...) о выходе Squeak (http://www.squeak.org/) 4.1 - кросплатформенной реализации языка Smalltalk. Основные изменения следующие:

-  Улучшение внешнего вида;-  Добавлены шрифты DejaVu, шрифты True type теперь не загружаются в память (манипуляции происходят на диске);-  Полная поддержка замыканий позволяет писать классические рекурсивные выражения вида: "fac := [:n| n > 1 ifTrue:[n * (fac value: n-1)] ifFalse:[1]].";-  Поддержка литеральных байтовых массивов, которые могут быть записаны следующим образом: #[1 2 3] (вместо #(1 2 3) asByteArray), что позволяет избежать преобразований-  Улучшение подстветки синтаксиса-  Снятие ограничения в 32мегабайта для файлов с исходными кодами-  Добавлен браузер зависимостей, позволяющий определить зависимости между пакетами-  Множества могут содержать пустое значение nil (аналог NULL)


Кроме того, стоит отметить, что недавно вышел первый стабильный рели...

URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-...
Новость: http://www.opennet.me/opennews/art.shtml?num=26278


Содержание

Сообщения в этом обсуждении
"Squeak 4.1 и Pharo 1.0 - новые версии реализаций языка Small..."
Отправлено Анонимко , 19-Апр-10 02:15 
Как можно использовать этот язык в боевых условиях, а не в академических интересах?

"Squeak 4.1 и Pharo 1.0 - новые версии реализаций языка Small..."
Отправлено Ariel , 19-Апр-10 03:44 
http://www.cincomsmalltalk.com/main/

Обязательно найдётся human, который в бесконечный раз задаст этот вопрос  


"Squeak 4.1 и Pharo 1.0 - новые версии реализаций языка Small..."
Отправлено croster , 19-Апр-10 10:37 
Почитайте книжки:
"Pharo by example" (http://pharobyexample.org/)
"Squeak By example" (http://www.squeakbyexample.org/)
Посмторите скринкасты Джеймса Робертсона "Smalltalk Daily":
http://www.cincomsmalltalk.com/blog/blogView?searchCategory=...

"Squeak 4.1 и Pharo 1.0 - новые версии реализаций языка Small..."
Отправлено ixrws , 19-Апр-10 18:29 
Вот поглядел на сайтах их, ну в общем интересно стало. Но есть один вопрос: оно компилируется в натив? То есть как там работает - только байткод или он потом по месту ещё джитится? В этом смысле интересно сравнение этих реализаций с gcl и sbcl для CommonLisp. Прямой ответ от тех кто знает было бы неплохо услышать. А может ответ есть в книгах?
Хотя конечно можно поглядеть исходники самих сред, позже может и погляжу. Давно уже советуют глянуть смолтолк, но вот вопрос производительности пожалуй самый важный.

"Squeak 4.1 и Pharo 1.0 - новые версии реализаций языка Small..."
Отправлено croster , 19-Апр-10 22:15 
>Но есть один вопрос: оно компилируется в натив?

Нет.
>или он потом по месту ещё джитится?

Если не ошибаюсь, то именно так и происходит. Сам пока не разбирался, времени особого нет. На ЛОРе есть вроде интересующийся смолтолком:
http://www.linux.org.ru/people/yoghurt/profile

Есть еще смолтокеры:
http://www.avalon.ru/OpenLessons/Seminars/2009-10-22/ (открытый семинар сообщества российских smalltalker-ов), в презентациях есть их e-mail адреса.


"Squeak 4.1 и Pharo 1.0 - новые версии реализаций языка Small..."
Отправлено ixrws , 19-Апр-10 23:52 
Пасибо, профили гляну.
Ну а про натив я недостаточно чётко выразился. Понятно что он не может компилироваться как С и работать, он же динамический слишком для этого. Но как CommonLisp может. Ведь хорошие CL реализации как раз компилируют код в натив, но по месту, по мере необходимости, без ущерба динамизму языка. Например sbcl. Вот и касательно сабжа интересно, умеют ли они делать также.?

"Squeak 4.1 и Pharo 1.0 - новые версии реализаций языка Small"
Отправлено Ariel , 20-Апр-10 21:51 
VisualWorks умеет

"Squeak 4.1 и Pharo 1.0 - новые версии реализаций языка Small..."
Отправлено dionisiy , 07-Май-10 00:45 
Существует русское смолтолк сообщество rsug http://rsug.ru/. Присоединяйтесь :))

По поводу виртуальных машин для смолтолка, это обычно джитеры с развитой динамической оптимизацией. То есть виртуальная машина на лету переводит байткод в машинный код, делает оптимизацию и инлайн методов.
Самая быстрая виртуалка у VisualWorks'а. Сейчас разрабатывается при коммерческой поддержки аналог для squeak/pharo.
Есть еще интересные проекты на squeak/pharo в направлении оптимизации. Это Exupery - джиттер, работающий и написанный в самом смолтолке. Это некая программа, оптимизирующая выполнение кода в фоновом режиме. Другой проект NativeBoost позволяет писать примитивные методы на некоем подобии ассемблера (но выраженном в терминах самого смолтолка).
Специфика этих проектов в том, что все реализуется на самом смолтолке с сохранением динамических свойств смолтолк-программ. (вы можете на лету изменять код, дебагить и т.д.)
Что еще интересно, виртуальная машина для squeak/pharo написана на смолтолке (с некоторыми ограничениями, Slang), который может интерпретировать внутри системы для отладки и транслироваться в с-код для компиляции.