The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Squeak 4.1 и Pharo 1.0 - новые версии реализаций языка Smalltalk

18.04.2010 17:16

Объявлено о выходе Squeak 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)

Кроме того, стоит отметить, что недавно вышел первый стабильный релиз проекта Pharo - форка Squeak. Разработчики устранили более 1000 ошибок в багтрекере. Основные изменения следующие:

  • Уменьшение размера файла образа Pharo до 11 мегабайт
  • К моменту выхода релиза число тестов достигло более 9000 (100% прохождение всех тестов)
  • Оптимизации производительности графического тулкита Morphic, новая тема оформления
  • Добавление пакетов с алгоритмами MD5 и SHA1, а также регулярных выражений


  1. Главная ссылка к новости (http://lists.squeakfoundation....)
  2. Страница загрузки Squeak
  3. Страница загрузки Pharo
  4. Бесплатная книга о Pharo с описанием языка Smalltalk
Автор новости: croster
Тип: Программы
Короткая ссылка: https://opennet.ru/26278-Squeak
Ключевые слова: Squeak, Pharo, Smalltalk
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (8) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Анонимко (?), 02:15, 19/04/2010 [ответить]  
  • +/
    Как можно использовать этот язык в боевых условиях, а не в академических интересах?
     
     
  • 2.2, Ariel (ok), 03:44, 19/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    http://www.cincomsmalltalk.com/main/

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

     
  • 2.3, croster (ok), 10:37, 19/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Почитайте книжки:
    "Pharo by example" (http://pharobyexample.org/)
    "Squeak By example" (http://www.squeakbyexample.org/)
    Посмторите скринкасты Джеймса Робертсона "Smalltalk Daily":
    http://www.cincomsmalltalk.com/blog/blogView?searchCategory=smalltalkDaily
     

  • 1.4, ixrws (??), 18:29, 19/04/2010 [ответить]  
  • +/
    Вот поглядел на сайтах их, ну в общем интересно стало. Но есть один вопрос: оно компилируется в натив? То есть как там работает - только байткод или он потом по месту ещё джитится? В этом смысле интересно сравнение этих реализаций с gcl и sbcl для CommonLisp. Прямой ответ от тех кто знает было бы неплохо услышать. А может ответ есть в книгах?
    Хотя конечно можно поглядеть исходники самих сред, позже может и погляжу. Давно уже советуют глянуть смолтолк, но вот вопрос производительности пожалуй самый важный.
     
     
  • 2.5, croster (ok), 22:15, 19/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Но есть один вопрос: оно компилируется в натив?

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

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

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

     
     
  • 3.6, ixrws (??), 23:52, 19/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Пасибо, профили гляну.
    Ну а про натив я недостаточно чётко выразился. Понятно что он не может компилироваться как С и работать, он же динамический слишком для этого. Но как CommonLisp может. Ведь хорошие CL реализации как раз компилируют код в натив, но по месту, по мере необходимости, без ущерба динамизму языка. Например sbcl. Вот и касательно сабжа интересно, умеют ли они делать также.?
     

  • 1.7, Ariel (ok), 21:51, 20/04/2010 [ответить]  
  • +/
    VisualWorks умеет
     
  • 1.8, dionisiy (?), 00:45, 07/05/2010 [ответить]  
  • +/
    Существует русское смолтолк сообщество rsug http://rsug.ru/. Присоединяйтесь :))

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

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    A-Real
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру