The OpenNET Project / Index page

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

Выпуск Pharo 11, диалекта языка Smalltalk

30.05.2023 12:25

После более года разработки опубликован выпуск проекта Pharo 11, развивающего диалект языка программирования Smalltalk. Pharo является ответвлением от проекта Squeak, в разработке которого принимал участие Алан Кей, автор Smalltalk. Помимо реализации языка программирования, Pharo также предоставляет виртуальную машину для выполнения кода, интегрированную среду разработки, отладчик и набор библиотек, включая библиотеки для разработки графических интерфейсов. Код проекта распространяется под лицензией MIT.

Среди изменений в новом выпуске:

  • Расширены возможности инструментария: В Git-клиенте Iceberg улучшена работа с GitHub, в отладчике реализована возможность добавления привязок к модели взаимодействия, в профилировщике предложен новый интерфейс пользователя, переработана утилита Rewrite, добавлена новая утилита для просмотра документов, в Calypso реализована визуализация зависимостей, улучшены утилиты для инспектирования.
  • Доведена до готовности к широкому использованию реализация эфемеронов (ephemeron), структуры, которая может быть связана с другими объектами без создания ссылок, мешающих сборке мусора, и которая позволяет отслеживать обработку объектов сборщиком мусора.
  • Добавлена поддержка каскадного объявления слотов.
  • Добавлен API для отражения узлов AST в OCBytecodeToASTCache, RBMethodNode и RBBlockNode.
  • В OpalCompiler добавлен плагин разбора ("parse plugin").
  • В виртуальной машине улучшена раскладка памяти и добавлена начальная поддержка инструкций SIMD (Single-Instruction Multiple-Data) и векторных регистров.


  1. Главная ссылка к новости (https://pharo.org/news/pharo11...)
  2. OpenNews: Squeak 4.1 и Pharo 1.0 - новые версии реализаций языка Smalltalk
  3. OpenNews: Выпуск Pharo 10, диалекта языка Smalltalk
  4. OpenNews: Компания Red Hat представила язык программирования Ceylon 1.1.0
Лицензия: CC BY 3.0
Наводку на новость прислал vvm13
Короткая ссылка: https://opennet.ru/59155-pharo
Ключевые слова: pharo, smalltalk
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (42) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 12:31, 30/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    а где применяется смолток?
     
     
  • 2.3, ОноВкустах (?), 12:37, 30/05/2023 [^] [^^] [^^^] [ответить]  
  • –5 +/
    В доисторическом софте, которого его ещё много (лаборатории и так далее). Ещё попадаются рабочие раритеты на фоксе)
     
     
  • 3.16, Бывалый смузихлёб (?), 16:09, 30/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > рабочие раритеты на фоксе

    Налогоплательщик ЮЛ, похоже, не обошёлся без фокса. Хотя сильно старым его не назвать
    А смоллтолк даже старее того гомна, микробы из которого эволюционировали в динозавров

     
  • 2.4, Аноним (4), 12:54, 30/05/2023 [^] [^^] [^^^] [ответить]  
  • +11 +/
    применяется в холиварах, в которых подается как язык с тру ооп
     
  • 2.5, Аноним (5), 12:54, 30/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В лютейшем легаси вместе с джавой и коболом.
     
     
  • 3.6, BeLord (ok), 13:29, 30/05/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Java не всегда легаси, новых проектов хоть отбавляй
     
     
  • 4.23, morphe (?), 05:39, 31/05/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    И все выходят легаси прямо с завода
     
     
  • 5.48, BeLord (ok), 13:39, 13/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > И все выходят легаси прямо с завода

    Работает, задачи решает, цена владения подходит, что еще надо заказчику для счастья?-)

     
  • 3.9, Аноним (9), 14:24, 30/05/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Кобол хоть полезный в отличии от этих двух.
     
  • 2.7, Аноним (7), 13:32, 30/05/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Во всех смартфонах Apple. Objective-C в сущности это Smalltalk построенный поверх C. Только на нем программируют воображая будто это Java, а потом удивляются, а чего это он такой неудобный?
     
     
  • 3.13, Аноним (13), 14:59, 30/05/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Про свифт слышал? Вылезай из берлоги, уже 10 лет там сидишь.
     
  • 3.17, Бывалый смузихлёб (?), 16:11, 30/05/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Обжектив как раз несравненно удобней и наглядней жабы. Только первую неделю непривычно обилие квадратных скобок
    И, кстати, в общем и целом приятнее и самобытнее свифта, который то ли недошарп, то ли - недокотлин
     
  • 3.20, Аноним (20), 00:27, 31/05/2023 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Objective-C в сущности это Smalltalk построенный поверх C.

    С разморозкой! В смартфоах примерно 90% аппликаций в маркетах написаны на реакте или флаттере. Вне зависомости ios это или android.

     
     
  • 4.22, Маковод (?), 05:10, 31/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    На реакте и флаттере не делают серьезные приложения, ибо выглядят и работают они довольно печально. Их используют либо стартапы без денег, либо компании без хороших программистов.
     
     
  • 5.31, Бывалый смузихлёб (?), 17:00, 31/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты наверное с кордовой путаешь

    Написанное даже средним программистом приложение на RN для яблока неотличимо от полностью нативного за исключением очень специфических нюансов( но там уже и не натив, а скорее анреал или юнити нужны )

     
  • 4.30, Аноним (30), 13:10, 31/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ШОК! 90% мусора в аппсторах написано на мусоре!
     
  • 3.26, Аноним (26), 10:18, 31/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если так натягивать сову на глобус, то Python, Ruby и вообще все динамически типизированные ООП языки - это тоже Смолтолк.
     
     
  • 4.29, Аноним (30), 13:00, 31/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И близко нет. В ObjC есть модель сообщений, в них нет.
     
     
  • 5.34, Аноним (34), 10:45, 01/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Заблуждаетесь Допустим у нас есть такой код some_obj do_smth 1 Здесь some_obj... большой текст свёрнут, показать
     
  • 2.12, АнонимЪ (?), 14:54, 30/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    FLProg
    OpenCobalt
     
  • 2.21, Аноним (21), 03:52, 31/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    smalltalk был одним из первых ООП, ему многое прощается. В какой-то степени многие другие языки тырили/переосмысляли фичи смолтолка.

    Из того что всем хочется, но что плохо переносится - это "сообщения"/"события". Что-то близко похожее - это signal/slot в GLIB/Qt. Сделать такую модель быстрой сложновато - в первой "наивной" реализации начинают сравнивать строки (что естественно небыстро, если хочется много событий всегда и везде).

     
     
  • 3.33, vvm13 (?), 17:21, 31/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > smalltalk был одним из первых ООП, ему многое прощается. В какой-то степени многие другие языки тырили/переосмысляли фичи смолтолка.

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

     
  • 2.27, Аноним (26), 10:35, 31/05/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В легаси. А вообще это один из самых влиятельных языков программирования:

    1. Первый ООП язык который применялся в бизнесе. Все последующие ООП языки разрабатывались с оглядкой на него
    2. В нём были изобретены и обкатаны паттерны, описанные бандой четырёх
    3. Для него Xerox изобрели графический интерфейс пользователя
    4. Для него была создана первая графическая IDE
    5. Первый тестовый фреймворк sUnit, по образцу которого написаны все современные фреймворки юнит-тестов
    6. Как следствие - первое применение TDD и экстремального программирования
    7. Из него вышла модель акторов
    8. В нём родилась концепция RAD и агильщина

     
     
  • 3.36, подрывник (?), 16:00, 01/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >2. В нём были изобретены и обкатаны паттерны, описанные бандой четырёх

    3. Это его и погубилло.

     

  • 1.8, Аноним (8), 13:57, 30/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто-нибудь юзал? Что там и как, есть ли жизнь на Марсе?
     
     
  • 2.18, vvm13 (?), 17:29, 30/05/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Из нынешних популярных языков/систем Smalltalk ближе всего к JavaScript'у и Python'у. По моему нескромному мнению, у него гораздо-гораздо-[и ещё 106 раз "гораздо"] лучший синтаксис, чем у этой пары (но заодно, наверное, это и самый большой барьер для освоения; несмотря на то, что синтаксис прост, он довольно непривычен), более продуманная система типов, лучшие IDE и отладчик. Самая большая проблема - малая распространённость, откуда следствием идут другие проблемы и порочные круги.

    Однако я поклонник VisualAge Smalltalk. Но эта вещь коммерческая, а свободный по сути только Pharo. (Нет, существует ещё как минимум и GNU Smalltalk, но про него давно не слышал).

     
     
  • 3.49, Saemon Zixel (?), 05:32, 31/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Есть ещё Cincom VisualWorks Smalltalk в бесплатной NonCommerce редакции. Вполне активно развивающийся, быстрый и удобный. Уже 10 лет его использую.

    А VisualAge Smalltalk вроде уже не развивается, только поддерживается?

     

  • 1.19, vvm13 (?), 17:34, 30/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А, ну да, есть ещё Squeak, над которым работал ещё сам Алан Кей. Очень необычная штука с необычным GUI. А Pharo - это своего рода форк Squeak'а, где люди попытались "вернуть" в него "обычность".
     
  • 1.28, Golangdev (?), 11:59, 31/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > языка программирования Smalltalk

    в музей.

    строго не рекомендуется учить как первый язык.

    ответ на вопрос "почему" можно найти на hh.ru, количество вакансий %)

     
     
  • 2.32, vvm13 (?), 17:17, 31/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не просто из-за количества вакансий. Дело в том, что, когда Smalltalk более-менее хорошо знаешь (это достигается не за неделю) и потом сравниваешь с так называемыми "современными" популярными языками и системами программирования, чувствуешь себя очень неприятно, поскольку понимаешь, настолько они уродливые и отстойные. Когда же не знаешь и не с чем сравнивать, жить и работать гораздо легче.
     
     
  • 3.37, Golangdev (?), 18:06, 01/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > когда Smalltalk более-менее хорошо знаешь

    похоже на аргументацию Завалишина про его ОС Фантом, так хороша, так всех на голову выше...

    только вот никому не нужна как и Smalltalk (за исключением изучения истории)

    бизнесам (читай тем кто плоити деньги) начхать на "уродства и отстой", им нада чтобы быстро / с разумной скоростью и чтобы система написанная на основе омгла дальше развиваться, опять же быстро или с разумной скоростью

    чем может похвастаться смолтолк ?

    большим коммьюнити ?
    большим кол-вом прости госпаде ответов на StackOverflow ?
    сформированными Best practices ?
    большим кол-вом библиотек на каждый чих ?
    скоростью написания ?
    лёгкостью поддержки ?
    хорошей масшабируемостью ?
    лёгкостью создания микросервисов ? (даже не думай спорить плохо это или хорошо. это реальность, печальная или весёлая)
    хорошей поддержкой работы в контейнерах ?
    отсутствием Bus factor в лице полутора анониусов кто его любит но код которых никто не видел ?

     
     
  • 4.40, Kuku (?), 12:07, 02/06/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>большим коммьюнити ?

    Оно не большое, но приличное по размерам в мире, так как реализаций Smalltalk систем  достаточное количество:
    Pharo, Squeak, Dolphin, Smalltalk/X, Cincom, Cuis, GNU smalltalk, VAST, GemStone. Все реализации поддерживаются и используются. Smalltalk/X, Cincom, VAST, GemStone коммерческие и вполне успешные на этом поприще.
    >> большим кол-вом прости госпаде ответов на StackOverflow ?

    Язык прост как табуретка, а системы позволяют опустится до компилятора и посмотреть что там не так(Внезапно в Pharo все написано на Smalltalk на 99%).
    >> сформированными Best practices ?

    Все ООП соткано из Бест практис Smalltalk, о чем вы?
    >> большим кол-вом библиотек на каждый чих ?

    Есть проблемы, но не такие большие как вам кажется.
    >> скоростью написания ?

    Это киллер фича Smalltalk. Более менее по быстроте написания к нему приближаются Python, Ruby и Clojure.
    >> лёгкостью поддержки ?

    Таких языков нет и систем нет %)
    >> хорошей масшабируемостью ?

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

    У Pharo никаких проблем  с этим нет. Минимальный образ Pharo 12 Мб, пакуйте в докер шмокер и вуаля. А дальше по системе.
    >> хорошей поддержкой работы в контейнерах ?

    Пакуете в контейнер и работает.
    >> отсутствием Bus factor в лице полутора анониусов кто его любит но код которых никто не видел ?

    Это касается почти любого языка, Rust в этом ну прям чемпион %)

     
     
  • 5.42, Golangdev (?), 06:49, 04/06/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > но приличное

    Под коммьюнити, или распространённостью я в том числе считаю конференции на русском. Они есть по Go и Java. Хоть одну по смоллтолку назовёте ?

    > Все ООП соткано из Бест практис Smalltalk

    Ответ не засчитан. Где бест практиктики ? Делаю вывод что их нету ввиду непопулярности языка ;)

    > Есть проблемы, но не такие большие как вам кажется.

    Тут дело не в том что мне кажется, а в фактах. А они таковы, что работу на смоолтолке найти нельзя. Следовательно нет смысла его учить/изучать. Только как музейный экспонат, в контексте изучения истории, в том числе провального менеджмента.

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

    Знаю, но не скажу ? Делаю вывод что не знаете.

    >> отсутствием Bus factor
    > Это касается почти любого языка

    А вот нет, нормальные популярные языки, для которых можно найти реальных разработчиков (анонисусы с опеннета не в счёт) на hh.ru этим недостатком не обладают.

    Можете не продолжать %)

     
     
  • 6.43, Kuku (?), 17:47, 04/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >>Ответ не засчитан. Где бест практиктики ? Делаю вывод что их нету ввиду непопулярности языка ;)

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

    >>Знаю, но не скажу ? Делаю вывод что не знаете.

    Назовите тем замечательные маштабируемые языки, да еще изрядно популярные, просвиоите нас сирых.

    >>А вот нет, нормальные популярные языки, для которых можно найти реальных разработчиков (анонисусы с опеннета не в счёт) на hh.ru этим недостатком не обладают.

    Так и скажите, что нормальностл языка для вас определяется не его свойствами, а hh, вам нужен язычок для галеры, то да Smalltalk явно не из этих. Питоний ваше все и не интересуйьесь другим.

     
     
  • 7.44, Golangdev (?), 21:06, 04/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > включают режим клоуна

    слив засчитан

     
  • 4.41, Аноним (41), 21:54, 02/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще Pharo это не просто Смолтолк, но и песочница для исследования и развития динамически типизированных ООП языков. Можно сказать - это антипод Хаскеля, который служит песочиницей для исследования статически типизированных функциональных языков.

    Вот, например, список из сотен научных статей написанных создателями Pharo:

    https://rmod.gitlabpages.inria.fr/website//publications.html#publications

     
  • 3.45, Neon (??), 19:36, 07/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И почему же этот идеал проиграл уродливым и отстойным ?!)))
     
  • 2.35, Аноним (35), 14:52, 01/06/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я когда в универе учился - мечтал хорошенько выучить один ЯП и всю жизнь на нём программировать. Поэтому был одержим поиском идеального языка, но все они были какие-то корявые: в одном - одна фича реализована хорошо, в другом - другая. В итоге стал хипповать со Смолтолком, Прологом и Лиспом. Мечтал написать какую-нибудь офигенную прогу на этих языках и жить, как Торвальдс допиливая её до самой старости. Но не смог т.к. был тупым студентом и языки эти полюбил потому что не мог их осилить. Легко любить язык на котором не пишешь.

    А после универа на первой же работе пришлось спуститься с небес на землю и писать макросы для Офиса на VB. Затем за 9 лет пришлось освоить и использовать все популярные языки: Python, Java, C#, PHP, JavaScript, Go. На некоторых проектах доводилось писать сразу на трёх-четырёх одновременно, Саша-Грей стайл, иногда ещё и с поддержкой легаси: этот сервис пишем на современной Яве, а этот - гвоздями прибит к 6 версии.

    В какой-то момент понимаешь, что все динамические ООП языки одинаковые: знаешь Смолтолк - легко освоишь Python, Ruby и PHP. Вторая группа - это статически типизированные языки: Java, C#, с некоторой натяжкой Go. Третья - ООП на прототипах, как в JavaScript. Хотя JS - это вообще вещь в себе.

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

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

     
     
  • 3.38, Golangdev (?), 18:11, 01/06/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > в универе учился

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

    я не осуждаю их как людей, каждый крутится (или не крутится) в меру своих способностей

    кто знает, как бы я вёл себя на их месте, сидя в застойном универе не на самой высокой зп

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

    у уж прислушаться к нему или нет - каждый решает сам

     
     
  • 4.39, Quad Romb (ok), 03:05, 02/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Язык очень красивый, элегантный и простой.
    Просто песня какая-то, а не язык.
    Без всякой иронии пишу.

    Есть толковая и старая книжка "Smalltalk by Example" где толково с примерами не только база языка показана и рассказана, но и всякие принципы которые облегчают разработку на нём.
    С тех пор много чего сверху навертели, но вся эта база осталась неизменной.

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

    Но, если кто-то любит такие тихие удовольствия - попробуйте.
    Правда, очень красивая вещь.

     
     
  • 5.46, Neon (??), 19:37, 07/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Парадокс какой то. Язык очень красивый, элегантный и простой. Но никому не нужный на практике.)))
     
     
  • 6.47, Quad Romb (ok), 21:15, 07/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Парадокс какой то. Язык очень красивый, элегантный и простой. Но никому не
    > нужный на практике.)))

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

     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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