LINUX.ORG.RU

Вышел Pharo 7.0

 , , , ,


2

6

Сегодня вышла новая версия одной из самых популярных и развивающихся реализаций языка Smalltalk — Pharo.

Над релизом работали более 75 человек, были закрыты 2142 задачи, самые главные из которых:

  • Теперь Pharo поддерживает x64 для Linux и Mac. Версия для Windows также доступна, но находится в доработке.
  • Обновлен PharoLauncher — утилита для управления образами, сборками для Jenkins и различными версиями.
  • Изменен процесс сборки, теперь он поддерживает полный бутстрап из исходого кода. Это дает возможность создавать специализированные (микро)образы.
  • Iceberg (git-клиент) получил значительные улучшения и стал дефолтной системой по управлению кодом.
  • Calypso (краеугольный камень в PharoThings) стал новым системным браузером, заменив Nautilus. Он обладает множеством улучшений, в том числе в работе удаленно.
  • IoT теперь важная часть Pharo. PharoThings предоставляет внушительное количество утилит для разработки приложений под маленькие устройства.
  • UnifiedFFI значительно улучшен для работы с 64-битной Windows.

Также отмечается, что новая инфраструктура и процессы оказывают хорошее влияние на развитие платформы, а переезд на GitHub начинает окупаться уже сейчас.

P.S. Поздравляю всех причастных и интересующихся!

Скачать

Подробный список изменений

>>> Официальный анонс

★★★★★

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

Ответ на: комментарий от q0tw4

Я не такой старик, чтоб знать, что тогда было. И вообще тогда врядли были динамические языки, так как железо тех времен не потянуло бы. Вот в 80-х уже всё было.

Я тоже не столь древний, но историей программирования интересовался. И Lisp, и APL, определённо, были динамическими. Но быстродействие первых лиспов было попросту катастрофическим. Да что там про лисп говорить, если у Страуструпа идея C++ возникла после того, как ему пришлось переписывать свой дипломник со вполне себе статической, но со сборкой мусора, Симулы, на какой-то фортран/ассемблер, поскольку железо не тянуло. Simula — первый ООП язык, кто не в курсе, на базе Algol-60 (как и Pascal)

APL родился в недрах IBM и эти ребята с самого начала пошли по пути «делаем железо под язык». Лисперы в 1970-х пришли к тому же самому, да и Алан Кей сотоварищи в лабораториях Palo Alto смолток (и первые оконные системы) не на рядовом железе писали.

А первой «обычной персоналкой» c «окошками» был не Apple Macintosh, и даже не их же Lisa, которая в серию не пошла, потому как бывшие сотрудники Кея сделали по привычке её слишком дорогой, а то, что сделал Вирт со студентами. И там крутился Oberon. (Последний факт был установлен американским судом, когда Джобс судился с Гейтсом за то, что то у него якобы что-то украл, выпустив Винду). И родилась Oberon System в середине 80-х (я тогда был во вполне сознательном возрасте и интересовался вычислительной техникой, которая правда мне была доступна в основном в виде программируемого калькулятора)

be_nt_all ()
Последнее исправление: be_nt_all (всего исправлений: 2)
Ответ на: комментарий от be_nt_all

Ну лично я аж до 2005 максимум к чему имел доступ, так это к книжке про устройство процессора ибо мал был и в небогатой семье рос. Хотя впрочем были клубы и знакомые с писюком, так что не совсем...

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

А первой «обычной персоналкой» c «окошками» был не Apple Macintosh, и даже не их же Lisa, которая в серию не пошла, потому как бывшие сотрудники Кея сделали по привычке её слишком дорогой, а то, что сделал Вирт со студентами. И там крутился Oberon

Ты сам-то свою ссылку читал? Эта «первая персоналка с окошками» имела TUI (не GUI) в 1987 году, когда уже были и Macintosh, и Windows 2.0, и еще куча забытых оконных систем (не говоря уже о X11). Что хорошо показывает легендарный уровень инноваций Oberon.

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

Только в этой «божественной джаве» почему-то всё самое интересное и нужное через рефлекшн сделано на самой что ни на есть динамике. Совпадение? Не думаю. :) Но для остальных обезьянок, которые потребители этих библиотек отличный повод лишний раз не напрягать свой мозг, хотя, как показывает практика, напрягать его всё равно приходится. Но это же так сладко думать, что не нужно будет ничего напрягать, а бабло будет литься в карманы.

turtle_bazon ★★★★ ()

Не рофла ради, а любопытства для, вопрос. Его кто-то использует сейчас?

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

Только в этой «божественной джаве» почему-то всё самое интересное и нужное через рефлекшн сделано на самой что ни на есть динамике. Совпадение? Не думаю. :)

Самое интересное сделано вообще на уровне электрических сигналов.

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

Текстового там было принципиальное отсутствие иконок. Их как-то в Black Box Builder и сейчас нет (хотя крестик, закрывающий окошко, таки появился). А в собственно Oberon, и того нет.

По годам, я не знаю подробно всю историю Виртовских (наколенных) разработок, и какую именно железку Вирт возил на суд между «пиратами силиконовой долины», но какую-то возил, и это сработало. Может там ещё не Oberon был, а нечто на базе модулы, ну и в общем, я тут не о приоритете Вирта. Хотя да, Windows 1.0 сильно напоминал Norton Commander в графическом режиме.

А о том, что до конца 80-х, как минимум, железо очень сильно тормозило полёт программистской мысли. И все эти палоальтовские смоллток-эксперименты и прочие лисп-машины были той ещё тратой денег с неясной отдачей (по крайней мере с точки зрения нынешних «эффективных менеджеров»), сильно «подогреваемой» холодной войной (кто не в курсе, как Алан Кей превратился из гитариста в программиста?).

be_nt_all ()
Последнее исправление: be_nt_all (всего исправлений: 1)

И чем оно лучше PHP?

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

Оффтопик про Оберон

Пошёл после нашего разговора чуть поправить статью в руВики про BBCB. И выяснил где сейчас работает бывший «главный архитектор» этого Оберона — Клемент Шиперский. Вы таки будете смеятся, но примерно там же, где и Андерс Хейлсберг — создатель Delphi, который потом над .Net работал и TypeScript придумал. Самизнаетегде.

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

Я не такой старик, чтоб знать

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

И вообще тогда врядли были динамические языки

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

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

а, то было только про динамические? А то я подумал что про ML. Влом в куче сообщений разбираться, какой персонаж какую точку зрения имеет и какой аргумент ему пытались привести.

q0tw4 ★★★★ ()
Последнее исправление: q0tw4 (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Приоритет Вирта

А, ну да, Вирт доказывал свой приоритет не с Oberon System, а с Lilith. Судя вот по этой рекламке какая-то оконная система у этой штуки 1984 года выпуска уже была (смотреть надо на вертикальный дисплей в левом нижнем углу). Пардон, чуть ошибся (просто Oberon System я по крайней мере пробовал запускать, вот и перепутал). И да, это чуть раньше первой работоспособной версии иксов.

Хотя и ежу понятно, что приоритет-то у Алана Кея с его смоллток-машинами, а все остальные заимствовали у него идеи, Джобс — наиболее радикальным способом, нанимая носителей этих идей (впрочем, как показывает мой пост чуть выше — не он последний. Ну и, не он, очевидно, первый.).

be_nt_all ()
Последнее исправление: be_nt_all (всего исправлений: 3)
Ответ на: комментарий от be_nt_all

Еще раз, медленно: TUI, не GUI; 1987, при том что Macintosh выпущен в 1984.

А, ну да, Вирт доказывал свой приоритет не с Oberon System, а с Lilith.

Причем тут Вирт, речь о тебе:

be_nt_all> А первой «обычной персоналкой» c «окошками» был не Apple Macintosh, и даже не их же Lisa, которая в серию не пошла, потому как бывшие сотрудники Кея сделали по привычке её слишком дорогой, а то, что сделал Вирт со студентами. И там крутился Oberon.

Ты написал глупость, не соответствующую содержанию материала по ссылке.

tailgunner ★★★★★ ()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от q0tw4

Ну, так суть в том, динамика появилась довольно давно. Lisp — 1958, Snobol — 1962, APL — 1964.

Снобол — для справки, пожалуй что, своего рода предок перла. С очень низкоуровневым синтаксисом и cо своего рода регекспами (впрочем более мощными — где то на уровне 6-го перла, да и наверное, более читабельными, хотя не столь краткими). Снобол, в отличие от Лиспа и АПЛя шёл на обычных IBM 360, но всё таки это было довольно нишевое решение. Cноболовские регэкспы можно пощупать в языке с более современным синтаксисом Icon|UnIcon|ObjectIcon + Converge (там уже Python-подобный расширяемый синтаксис). Ещё есть реализация для Lua. Впрочем и классический Snobol для Linux вполне доступен.

be_nt_all ()
Последнее исправление: be_nt_all (всего исправлений: 2)
Ответ на: комментарий от tailgunner

Ты написал глупость, не соответствующую содержанию материала по ссылке.

Pardon, но я в игры a la «придерись к слову» не играю, стар наверное уже.

Ну да, писал по памяти, перепутал название, обозвал Лилит Обероном — сути то это не меняет. Они в одной эволюционной линии, автор у них тоже один и тот же, писались на разных версиях одного и того же «постПаскаля» (пусть и меняющего имена). Да и графический интерфейс, судя по фото, весьма похож.

Еще раз, медленно: TUI, не GUI;

Ещё раз, скачай/собери/тем или иным способом запусти и пощупай Oberon System, а потом пиши, что это не GUI. Того, что один журналист Компьютерры назвал 18 лет назад Лапутянский интерфейс там нет, но это как раз сомнительное достижение современного IT.

be_nt_all ()
Последнее исправление: be_nt_all (всего исправлений: 2)
Ответ на: комментарий от be_nt_all

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

           OUTPUT = "What is your name?"
           Username = INPUT
           OUTPUT = "Thank you, " Username
END

По сравнению с перлом, очень приятный синтаксис

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

Ну не считая что там нет структурных ветвлений, циклов — всё на метках, а это открывает широкий простор для генерирования эзотерического спагетти-кода.

(Ох, помню я в студенческие времена, поросили меня код на бейсике разобрать, почему виснет, разобрал… Очень удивился, как это могло (до пекреполнения стека) вообще выполнять то, что о него требовалось)

be_nt_all ()
Последнее исправление: be_nt_all (всего исправлений: 1)
Ответ на: комментарий от be_nt_all

Pardon, но я в игры a la «придерись к слову» не играю, стар наверное уже.

Ну да, писал по памяти, перепутал название, обозвал Лилит Обероном

...дал ссылку именно на Oberon вместо Lilith, перепутал даты, но всё равно прав.

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

В пределах JVM рефлексия статически типизирована.

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

Команда self была переброшена на java, на этом self закончился.

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

Ссылку я дал тоже по памяти. Сейчас посмотрел на даты — и Lilith, и X, и Macintosh — 1984 год. Собственно кто первый — без «фотофиниша» не разобрать. Хотя с Лизой промахнулся, Лизу на год раньше продавать начали. Вот только персоналкой ту штуку за $10000 было таки сложно назвать.

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

Самое интересное сделано вообще на уровне электрических сигналов.

Неа, на уровне ДНК.

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

Я так понимаю, то что в начале 60-х было динамикой не такое, как в наши дни. Цель у нее другая была, научная, а не фигак-фигак-впродакшен. Смолтолк как раз - начало динамики в том виде, в котором привыкли её видеть мы.

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

Серьёзно что ли? Как же он тогда имена методов и полей в статике проверяет?

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

Ну, у всяких питоновских NumPy и SciPy с Pandas и прочих SciKit-Learn, NLTK и SpaCy — тоже вполне себе научные цели. А то что эта наука в основном на вполне коммерческие цели направлена, и популярность Питона в немалой степени именно на подобные «батарейки» завязана, ну так се ля ви.

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

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

q0tw4 ★★★★ ()
Последнее исправление: q0tw4 (всего исправлений: 1)
Ответ на: комментарий от be_nt_all

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

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

В пределах JVM рефлексия статически типизирована.

Серьёзно что ли?

Да.

Как же он тогда имена методов и полей в статике проверяет?

Мне кажется, ты не знаком с java.reflect

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

Лучше не начнай. Денег ты на Смолтоке не заработаешь, но обретешь неодолимое отвращение к современным популярным языкам. Я в молодости плотно занимался Смолтоком, написал свою законченную систему с JIT-компиляцией и до сих пор не могу избавиться от отвращения к тому, чем приходится заниматься ради денег. За тридцать лет я принял только один язык, который близок по техническому совершенству к Смолтоку (это Go). C++ и Java были отвергнуты с момента своего появления, на всякие питоны и жабаскрипты даже не смотрел.

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

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

перестать воевать с компиляторами

Лучше посмотри на Идрис (точнее на его вторую инкарнацию Blodwen: https://github.com/edwinb/Blodwen):

https://youtu.be/mOtKD7ml0NU?t=1576

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

После идриса у меня появилось стойкая неприязнь к Эдвину. Особенно после того случая, когда промежуточный код на эпике не скомплился и выдал сообщение «epic fail».

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

техническому совершенству к Смолтоку (это Go)

Мне показался очень скучным и примитивным языком, по сравнению с perl или elixir (других не изучал). Очень не нравится, когда мне язык диктует, как я должен ставить скобки. Конечно писали его известные люди, но есть русская пословица «Вспомнила бабка, как девкой была».

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

Скобки, пробелы - это все шелуха, которую перестаешь замечать через некоторое время. Я именно про техническое совершенство, то есть тщательную продуманность большинства аспектов, когда при создании программы у тебя почти не бывает мыслей «ну почему в этом языке эта фича сделана через такую кривую жопу». Про единственный язык я наврал кстати. Lua тоже очень хорош в техническом плане.

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

Почему нет популярного статически типизируемого скриптового языка?

typed/racket сойдёт? Не попса, но всё хоть что-то.

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

А mypy чем не угодил? Всяко лучше всяких там.

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

в молодости плотно занимался Смолтоком, написал свою законченную систему с JIT-компиляцией и до сих пор не могу избавиться от отвращения к тому, чем приходится заниматься ради денег. За тридцать лет я принял только один язык, который близок по техническому совершенству к Смолтоку (это Go)

Ну как тут не сказать «бугага».

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

Сейчас каждый второй студент пишет свой брейнфак с жит компилятором, что такого? У тебя просто профдеформация заставляет отказываться от всего нормального и копошиться в дерьме, бывает.

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

Ничего такого, просто объяснил, что очень подробно изучал Смолток, а не почитал пару статей на популярных сайтах. Можно узнать в чем ты спец, уважаемый анон? Что есть нормального в современности.

anonymous ()

В общем про практическое применение, если поставить себе pharo-launcher (который содержит в себе список версий pharo, которые можно себе поставить) там появляется голова мыши лося . В смысле ссылка на Moose (с головой мыши — отсылка к созвучию слов в английском и, вседствие, одному кривому переводу романа Стивена Кинга на русский).

Как я понял из беглого погляда документации — это средство для анализа прежде всего больших объектно-ориентированных программных проектов. В примерах, которые там даются — на Java, парсеры языков можно писать самим (и вообще, всё программируется, SmallTalk же), ну и, собственно, Pharo-код тоже можно этим инструментом разглядывать. Всё это снабжено разнообразными средствами визуализации, языком запросов к базе данных классов проекта и т.д. и т.п.

be_nt_all ()
Последнее исправление: be_nt_all (всего исправлений: 2)
Ответ на: комментарий от Linfan

Самое интересное сделано вообще на уровне электрических сигналов.

Неа, на уровне ДНК.

На уровне ДНК ничего не «сделано», оно там всё само наросло, случайным образом, постепенно. Поэтому там лапша, спагетти-код, и непонятно, как оно вообще работает и не падает. Разобраться в этом, конечно, нужно и полезно, но «интересным» я бы это не назвал.

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

Мне кажется, ты с языком не знаком. И, да, с java.reflect я не знаком, действительно. Я до этого только java.lang.reflect использовал.

turtle_bazon ★★★★ ()

С одной стороны, всегда было интересно попробовать St. Но вот с другой стороны, никак не могу принять идею «посылаем числу 2 сообщение + с аргументом 3, после чего число 2 возвращает результат сложения себя с числом 3». Мне гораздо ближе идея «передаём на вход функции + числа 2 и 3, после чего функция возвращает результат сложения».

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

только один язык, который близок по техническому совершенству к Смолтоку (это Go).

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

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

mypy

Первый раз слышу. Для меня сейчас вообще перловка актуальнее.

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

Нет, я их не сравнивал конечно. Смолток даже во время моей молодости не был промышленным (это уже около тридцати лет назад).

anonymous ()

Вопрос знатокам

Есть инфа, REST API на нем как? Кто-нибудь делала? ПОделиться туториалами может?=)

silver-bullet-bfg ★★ ()
Ответ на: комментарий от loz

и чем это отличается от любой рисовалки 3д игр? по-моему, такие были ещё в 90-х. и написаны на чём угодно. скорее, даже сложно представить себе язык, на котором не написали ни одну подобную рендерилку.

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

Тем, что эту «рисовалку» делал Алан Кей.

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