LINUX.ORG.RU

Pharo 1.0

 , ,


0

0

Сегодня вышла в свет первая стабильная версия Pharo - современной, полностью свободной реализации среды Smalltalk. Проект появился как форк Squeak, работа над ним ведется с 2008 года.

Основные цели проекта:

  • Устранение проблем с лицензиями - Pharo доступен под MIT;
  • Частые обновления;
  • Чистка и улучшение качества кода;
  • Совершенствование пользовательского интерфейса.

В Pharo 1.0 вошло множество улучшений производительности и расширений функциональности, доступно более 9000 тестов, добавлены новые инструменты (diff, inspector).

Pharo уже используется множеством компаний, исследовательских групп и университетов; разработка веб-фреймворка Seaside тоже была перенесена в Pharo.

Учебник Pharo by example

Сборки для разных ОС

Полный список изменений

>>> Объявление на официальной странице

★★★★★

Проверено: mono ()

Ого, Smalltalk живет! Это... удивительно :)

balodja ★★★ ()
Ответ на: комментарий от balodja

Он даже в отличие от Ruby на GSoC попал. Это ещё удивительнее :)

yoghurt ★★★★★ ()

Я надеялся что в релизе он будет получше релиз-кандидатов. Нифига - все такой же медленный UI по сравнению со squeak morphic. Да и вообще тормозит, процессор нагружает без видимой причины.

Так что все еще GST и VisualWorks.

volh ★★ ()
Ответ на: комментарий от volh

У меня под виндой gui бегает очень и очень даже сносно, под иксами более латентен. Процессор вроде не нагружает :)

yoghurt ★★★★★ ()
Ответ на: комментарий от yoghurt

Я хз, может они с антиалиасингом и «morphic optimization» намудрили, но такое ощущение, что запускаешь виртуалку.

volh ★★ ()

Хотел спросить: а для GUI там используется собственный тулкит? p.s. Помню когда пытался установить VisualWorks в мандриве 2010, так меня от вида инсталлятора чуть не стошнило, и вид самой среды как из середины 90-х. Это как-нибудь настраивается?

anonymous ()

Опять труп откопали... Зачем? И где тэг «некрофилия»?

Divius ★★ ()
Ответ на: комментарий от anonymous

да, настраивается. Только под qt/gtk оно вроде косить не умеет

yoghurt ★★★★★ ()
Ответ на: комментарий от Divius

а его закапывали? где? когда? кто? вот жабу с нетом надо закопать и залить бетоном. А лучше в черную дыру выстрелить.

anonymous ()

А какова область применения данного языка. То, что он первый ООП - это круто, но в чём гишефт?

Есть ли проекты (достаточно известные), использующие этот язык. Рвт ли он кого в бренчах?

helios ★★★★★ ()
Ответ на: комментарий от helios

>Pharo уже используется множеством компаний, исследовательских групп и университетов; разработка веб-фреймворка Seaside тоже была перенесена в Pharo.

anonymous ()
Ответ на: комментарий от anonymous

Область применения = ?

Ну вот «разработка веб-фреймворка Seaside тоже была перенесена в Pharo.» - это я посмотрю. А то что «используется множеством компаний, исследовательских групп и университетов» мне не замерить и вообще никак не отследить... Множество может быть и одноэлементным :)

helios ★★★★★ ()
Ответ на: комментарий от helios

>Множество может быть и одноэлементным :) Оно впрочем может быть вообще без элементов ;) Ø

anonymous ()
Ответ на: комментарий от anonymous

> Оно впрочем может быть вообще без элементов ;) Ø

Про пустое множество никто не забывал. Просто я предположил, что компания, разрабатывающая эту прилагу, всё же её использует :)

helios ★★★★★ ()
Ответ на: комментарий от anonymous

>а для GUI там используется собственный тулкит?

Да, Morphic. Был один паренек, писал биндинг для GTK, но поддержки не получил. Squeak когда-то умел работать с WxWidgets, не знаю, что с этим творится сейчас.

Был ещё проект по созданию нативных отдельных окон с Морфиком внутри, вроде дело встало

yoghurt ★★★★★ ()

Посмотрел скрины. А разве разрешено запускать смолток под айфоном/айпадом?

static_lab ★★★★★ ()
Ответ на: комментарий от static_lab

Да, почему бы и нет? В AppStore даже приложения есть на них

yoghurt ★★★★★ ()

pharo действительно стал интересным

anonymous ()
Ответ на: комментарий от yoghurt

Правильно ли я понимаю, что smalltalk юзается ныне для веба? (А только ли?)

Почитал вики... Так то темная вещь. Особо заинтересовал вот этот момент:

Всё доступно для изменения. Если вы хотите изменить интегрированную среду разработки, вы можете сделать это в работающей системе, без остановки, перекомпиляции и перезапуска. Если вам необходима в языке новая управляющая структура, вы можете добавить её. В некоторых реализациях вы можете также изменить синтаксис языка или способ работы сборщика мусора.

На сколько удобно и часто переписывается синтаксис языка? Так сказать, звучит круто, а как оно на самом деле?

helios ★★★★★ ()
Ответ на: комментарий от helios

> Правильно ли я понимаю, что smalltalk юзается ныне для веба? (А только ли?)

Это наиболее доступная и наглядная сфера его применения. Есть и другие (ControlWorks тому пример http://www.smalltalk.ru/2005/06/sts2005-smalltalk.html)

На сколько удобно и часто переписывается синтаксис языка?

http://www.cincomsmalltalk.com/blog/blogView?showComments=true&printTitle=Ext...

Там переписывать-то особо нечего. В языке всего 6 ключевых слов - self, super, true, false, nil, thisContext. Стандартная библиотека сама написана на Smalltalk, код классов доступен для чтения и измения прямо в работе. Многие пакеты, например, вроде GLORP или Magma, очень любят расширять стандартные классы (вплоть до замыканий) своими методами.

Если же хочется какой-то особой уличной экзотики, например, блоки кода определять фигурными скобками, или ещё какой-нибудь дури - тут тоже не должно быть проблем. Каждый объект умеет обрабатывать сигнал #compile: с аргументом-строкой кода, которая и компилируется в метод. В Pharo компилированием собственно занимается класс Compiler (ну или что там вернет фабричный метод для конкретного класса).

yoghurt ★★★★★ ()
Ответ на: комментарий от helios

надо пробовать, чтоб понять.

На сколько удобно и часто переписывается синтаксис языка? Так сказать, звучит круто, а как оно на самом деле?

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

вы работаете напрямую с объектами, их кодом, которые полностью реализуют всю систему - «IDE», вашу программу, вспомогательные инструменты. можно зайти в код любой части ,сделать изменения и они сразу будут отражаться, без компиляции.

Правильно ли я понимаю, что smalltalk юзается ныне для веба? (А только ли?)

http://www.youtube.com/watch?v=fNcXqRltMzo&NR=1

http://edusim3d.com/

Также на сайте pharo, есть список компаний, его использующих, смотрите их портфолио.

anonymous ()
Ответ на: комментарий от anonymous

Well, there were two things that impacted Smalltalk usage - the actions of ParcPlace-Digitalk (later ObjectShare), and the actions of IBM.

http://www.cincomsmalltalk.com/blog/blogView?showComments=true&entry=3295067130

Вот они и закопали. Он, правда, лезет из могилы потихоньку, и хорошо, если вылезет, но что-то я сомневаюсь.

svr69 ★★ ()
Ответ на: комментарий от svr69

А, ну и по поводу джавы не надо забывать, что джава была бесплатной, а вот реализации ST - отнюдь нет.

svr69 ★★ ()
Ответ на: комментарий от anonymous

При чем тут дата? Или хочется увидеть публикации года 1996-1997? Ищите и обрящете.

svr69 ★★ ()
Ответ на: комментарий от svr69

>При чем тут дата?

при том что вы говорите - закопали. прошло 5 лет, всё благополучно живо и развивается. и будет. потому что сабж нужен.

anonymous ()
Ответ на: комментарий от helios

Только что попробовал расширить синтаксис. В одном методе поменял две строчки и добавил ещё одну. Расширился.

Теперь в моём имейдже, чтобы получить коллекцию объектов-результатов отправки сигнала объектам исходной коллекции, достаточно указать селектор:

#(1 2 3 4 5) collect: #squared

Раньше можно было передавать только лямбду:

#(1 2 3 4 5) collect: [:x | x squared]

Результат один и тот же

#(1 4 9 16 25)

yoghurt ★★★★★ ()
Ответ на: комментарий от anonymous

А, понял. Конечно развивается - язык (платформа) хороший, и все такое. Речь о том, что потерял он то место, которое имел, и вряд ли вернется уже.

svr69 ★★ ()
Ответ на: комментарий от svr69

>он то место, которое имел, и вряд ли вернется уже

С засильем джавы и сишарпа - да.

Но в целом всё не так уж и плохо :)

http://www.indeed.com/jobtrends?q=ocaml%2C+smalltalk+%2C+lisp%2C+erlang%2C+ha...

P.S. «I don't think lack of popularity is a big problem for Smalltalk. It's a problem for those who don't use it :)»

yoghurt ★★★★★ ()
Ответ на: комментарий от svr69

>Речь о том, что потерял он то место, которое имел, и вряд ли вернется уже.

а это и не важно )

«I don't think lack of popularity is a big problem for Smalltalk. It's a problem for those who don't use it :)»

подписываюсь )

если учить smalltalk, чтобы найти работу - думаю из этого ничего хорошего не выйдет. если на работе реализовать под задачу (!) что-то на smalltalk, вы будете только в плюсе.

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

anonymous ()
Ответ на: комментарий от yoghurt

> Но в целом всё не так уж и плохо :)

Да, а так еще интереснее

http://www.indeed.com/jobtrends?q=smalltalk%2C+seaside&l=

Но это крохи, вообще-то. И засилье имеет вполне объективные причины, помимо шумихи. На джаву и без маркетинга сана в середине 90-х вендоры набросились как мухи на варенье, и это при том, что и ниши-то у нее сегодняшней еще не было.

svr69 ★★ ()
Ответ на: комментарий от yoghurt

> С засильем джавы и сишарпа - да.

В этих двух штуковинах язык не имеет особого значения. Часто «главный язык» сливают в пользу чего-то помощнее (JRuby, Scala). Ключевую позицию занимает не язык, а платформа.

Может ли на данном этапе Smalltalk и библиотеки под него сравнится с Java EE или ASP.NET, Java FX или WPF?

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

Ну и конечно же маркетинг, без него загнется практически любая технология

vertexua ★★★★☆ ()
Ответ на: комментарий от kto_tama

>а ну кыш

ну сорри ) . если вам предложат готовый продукт на шарпе за 10к $ , при стоимости его разработки с нуля порядка 150-200 к , вы конечно откажитесь ). ПО гетерогенное, засилья нет, не переживайте.

anonymous ()
Ответ на: комментарий от anonymous

Работодатель в плюсе точно не будет

anonymous ()
Ответ на: комментарий от vertexua

>Может ли на данном этапе Smalltalk и библиотеки под него сравнится с Java EE

А давайте сравним.

1. Распределенность и RPC: GemStone/S
2. Генерирование интерфейсов: Seaside + Magritte
3. Persistence: ООПБД - GemStone/S, Magma; ORM - GLORP, ROE; SqueakDBX и пр.

Я ничего не забыл?

yoghurt ★★★★★ ()
Ответ на: комментарий от anonymous

> у нас снаружи кругом шарп, потому что меинстрим и многое заюзали просто готовое. а внутри.. только вы никому не говорите )

А Nemerle или F# планируете использовать? По-моему оба языка очень интересны. И оба на голову превосходят си-шарп.

dave ★★★★★ ()
Ответ на: комментарий от yoghurt

> Только что попробовал расширить синтаксис. В одном методе поменял две строчки и добавил ещё одну. Расширился.

А разве это не допиливание стд библиотеки?

anonymous ()
Ответ на: комментарий от anonymous

>А разве это не допиливание стд библиотеки?

Да. Учитывая, что даже такая типичная конструкция, как if-then-else в Smalltalk реализуется объектами и сообщениями библиотеки, это Smalltalk way

yoghurt ★★★★★ ()

ЛОР верен себе.

С давних пор здесь была цитадель элитариев-неадекватов-нонконформистов от IT. Раньше была особенно активна Лисп-секта. Потом, когда самый последний гопник на углу выучил слова «метапрограммирование», «квазиквотация» и «read-eval-print-loop», началась мода на Хаскель. Теперь и Хаскель сдал позиции: появились коммьюнити в жежешечках, наполненные вчерашними 1С-никами, книжки стали продавать рядом с похапе. Хаскель стал не торт.

Поэтому сейчас выкопали ещё один труп академического языка и насилуют егопреподносят как Мегаязык для Небыдла. Язык сменился, а заклинания остались теми же: «Smalltalk — чистый объектно-ориентированный язык», «в Smalltalk'е рефакторинг достигается средствами самого языка», «на Smalltalk кода получается меньше, а работает он быстрее» и т.п. Ничего не напоминает? Замените Smalltalk на Haskell, «объектно-ориентированный» на «функциональный», или Smalltalk на LISP, а «рефакторинг» на «отладчик, профайлер, etc.» и получите такую же мантру.

Времена меняются, сектанты — нет.

anonymous ()
Ответ на: комментарий от anonymous

>Работодатель в плюсе точно не будет

будет. и есть. + в том, что за альтернативные решения на меинстримовских языках спрашивают в 10 раз больше денег (в сумме, не за час). как-то получается, что при нескольких тысячах объектов, в шарпах тяжеловато и долговато ковыряться. + дебаг, + компиляция. а деньги все хотят за каждый час любой работы и не маленькие. по поводу обучения - берётся нормальный программер, ставится задача за неделю знать смоллтолк ) . вы конечно скажите - мало. но для решения задачи на сегодня, на готовом продукте - нормально.

anonymous ()
Ответ на: комментарий от anonymous

>Времена меняются, сектанты — нет.

А настоящие мачо как писали так и пишут на похапе?

r ★★★★★ ()
Ответ на: комментарий от anonymous

>Времена меняются, сектанты — нет.

на чём вы пишите? сколько объектов, реализующих бизнесс-логику (если это есть в вашей работе) в продукте(ах)?

anonymous ()
Ответ на: комментарий от vertexua

> Ну и конечно же маркетинг, без него загнется практически любая технология

Не лишайте адептов их последнего аргумента. Как часто можно услышать от них: «ну, разумеется, быдло-Java задавила лисп/хаскел/смаллталк/брейнфак только благодаря маркетингу!»

Только не учитывают они вот что. Индустрия и наука — абсолютно разумные, прагматичные макроорганизмы, которые в маркетоидном брейнвошинге не нуждаются. Удачные, оптимальные технологии завоёвывают своё место в индустрии/науке и становятся «мейнстримом», удел же маргиналитета — обочина цивилизации.

anonymous ()
Ответ на: комментарий от yoghurt

сейчас - ни для чего. его полностью заменяет руби. просто если нужно что-нибудь в ST поковырять, GST самый безболезненный вариант для меня.

volh ★★ ()
Ответ на: комментарий от anonymous

> на чём вы пишите?

Я пишу на том языке (или «тех языках»), который(-е) лучше всего подходит(-ят) для конкретной задачи.

сколько объектов, реализующих бизнесс-логику (если это есть в вашей работе) в продукте(ах)?


Объектов (экземпляров) в одном деплойменте могут быть миллиарды. Вы хотели сказать — «классов»? Классов в моих продуктах ровно столько, сколько сущностей в предметной области. То есть сотни и тысячи. А бизнес-логику реализуют workflow engine и business rule engine, я, знаете ли, не сторонник велосипедостроительства.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.