LINUX.ORG.RU

Вышел Pharo 7.0

 , , , ,

Вышел 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 ()
Последнее исправление: Virtuos86 (всего исправлений: 4)
Ответ на: комментарий от loz

Прошу прощения, я правда старался но не нашел адекватного русского аналога :) Может предложишь?

«Issue»? «Рекламации».

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

«Issue»? «Рекламации».

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

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

«Рекламации».

Некорректно. В ишью не только баги, но и фичи и улучшения.

Это тоже может быть в «рекламациях». ГОСТов не видел, но во вполне официальных документах серьёзной международной фирмы баги и фичреквесты собирательно называли рекламациями.

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

Поверьте показала. Не даром мы забили на JS и пишем на Bridge.Net.

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

Куда им развиваться? Они со времён лиспа только дегралируют. Статика - наоборот. Обязательства раста в компилтайм чего только стоят.

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

во вполне официальных документах серьёзной международной фирмы

Вики утверждает, что:

Реклама́ция (лат. reclamatio — громкое возражение, неодобрение) — претензия покупателя или заказчика, предъявляемая продавцу или поставщику (подрядчику) по поводу ненадлежащего качества или количества поставляемого товара, обнаруженного в период действия гарантийных обязательств, требование об устранении недостатков, снижении цены, возмещении убытков (причинённого ущерба). Также называется клейм (англ. claim — требование).

https://ru.wikipedia.org/wiki/Рекламация

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

На JS тоже много всяких свистоперделок делают. А воз и ныне там...

maxlinux
()

дорабатке

Ну и точки в конце списка.

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

В ишью не только баги, но и фичи и улучшения.

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

А изначально давным-давно issues - это баг-трекер Собственно и сейчас это баг трекер не меньше чем на 2/3

Слово проблема носит несколько негативный характер. Вот и не используется.

Нет слова которое было бы универсальным. Для task, challenge, question, bug, discussion.

Так появляется issue.

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

Просто возьмите весь софт для Windows, от калькуляторов до тех же «распределённых вычислений» - динамические языки там на последнем месте. Смешно говорить, но даже статическая Джаба под вендой не рулит - везде С/С++.

Но таки в Windows 10 всё начали переписывать на C# говне и на динамическом говне. Их новый калькулятор в стиле Metro точно написан на какой-то тормозной хрени. Как и новая панель управления.

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

На ЛОРе давно уже выяснили, что «issue» нужно переводить как «неурядица».

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

Но таки в Windows 10 всё начали переписывать на C# говне

Не знаю, что там в Windows 10 Но C# используется много где начиная от самой VS и заканчивая каким-нибудь Sound Forge. Да и вообще много разного софта нормально ворочается.

Как говорится не надо давать дураку стеклянный жер.

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

А тщательно продуманный нативный блоб с куцым. нерасширяемым функционалом

Вот интересный момент. Почему статика это всегда блоб, а динамика это почти всегда груда текстовых файлов и интерпретатор. Почему нет популярного статически типизируемого скриптового языка? Я только AngelScript нашел, но он вообще не популярный

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

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

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

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

Мэйнстрим - статика

То-то я смотрю, все вокруг пишут на O'Caml, Haskell, ATS. Да хотя бы на крестах с современными плюшками, а не по-прежнему на уровне «си с классами».

buddhist ★★★★★
()

Блин, у меня в отделе 8 человек и все манагенры говорят что это дохера, в тут 75!

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

issue в данном случае можно перевести как «проблемная позиция». В компьютерной терминологии это всегда связано с понятием «проблема».

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

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

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

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

не поставит на кон свои яйца, что эта программа никогда не упадёт

А ващи джавописцы с наСильниками готовы?

DonkeyHot ★★★★★
()

популярных и развивающихся реализаций языка Smalltalk

Какую дичь только не откопают

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

но например аналога динамическому Эрлангу для распределенных систем небыло долгое время

Это смотря про какие распределенные системы идет речь. А то ведь окажется, что на задачах, где MPI используется на сотнях тысяч нод, никаким Эрлангом в принципе не пахнет.

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

«Issue»? «Рекламации»

Посмотрел словарь. Правильный перевод оригинального термина на мой активный словарь - «тема». Кстати и коротко.

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

Любишь типы, смотри сюда

[динамические типыв тоже могут в autocompletion]

Когда смогут в автоматическую проверку компилятором - сообщи.

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

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

Хозяину, конечно, интересно взять какой-нибудь язык для тупых, чтобы пожертвовав вашей эффективностью минимизировать свои риски. А в чём тут ваш интерес?

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

Мы же оба знаем, что в языке с «message passing» и «extremely late binding» проверка типов компилятором - утопия.

Xотя бы уже потому, что код в St компилируется инкрементально, по мере написания методов в браузере

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

В принципе, написать софт на динамическом языке можно, и даже быстро. Скорость — зависит в первую очередь от наличия библиотек; поэтому в вебе на клиенте рулит JS, а в бигдате — питон. Напиши аналогичные библиотеки (или хотя бы биндинги) для хорошего статического языка, и скорость разработки сравняется.

А вот по скорости рефакторинга динамика сливает вчистую. Я как-то попросил JS-ников заменить числовые ID на текстовые. Оказалось, это задача на пару недель, как минимум. В бэкенде я бы это сделал максимум за час.

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

Давайте без дичайшей чепухи по поводу - программа никогда не упадёт и поэтому все пишут на статических языках.

Во-первых: не все пишут, уже туева хуча финансовых организаций как минимум используют php и|или js, а как максимум ещё с десяток чисто динамических штуковин и всё ок, по крайней мере как-то работает и никто не парится.

Во-вторых: падать что угодно может как угодно, в том числе физический отказ серверов. Поэтому всегда в крупных ответственных проектах принято полагаться не на суперпупер безотказные свойства того или иного языка, а на резервирование, репликацию и быстрое обнаружение сбоев, откатку, обход и тд. Взять те же базы данных, именно этим в своё время отличались базы вроде oracle, db2, mssql от их младших братьев вроде mysql - кластеризацией, репликацией и динамическим или хоть каким-нибудь конфигурированием всего этого дерьма.

В-третьих: вы пишете полную чепуху о динамическом связывании и яйцах, потому что есть SQL, на котором уже десятки лет пишут и который позволяет миллион раз выстрелить себе в ногу в том числе на ходу создавать триггеры и прочие плюшки. Без этой самой динамичности этот SQL вообще был бы непригоден для бизнес логики, а случаи когда серьёзные приложения написаны на 90% на SQL весьма не редки.

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

Вполне возможно, что эта скорость рефакторинга банально зависит от квалификации разработчиков. Особенно когда речь про фронтэндников идёт. В простейших случаях, вещи вроде - переопределить объявление того или иного свойства на другой тип в сотнях файлов даже sedом делается. Ну и кое-что уже неплохо поддерживается современными ide.

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

А изначально давным-давно issues - это баг-трекер

Изначально термин пришел из канцелярщины. «Issue #xxx» - это «дело №xxx».

Linfan ★★★★★
()

Вот немного ",", пользуйтесь

Версия для Windows так же доступна[,] но находится в дораб[а/о]тке

Так же отмечается[,] что новая инфраструктура...

Глаз режет, извините.

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

ЯП со устроенным де. Приперно как емакс это де и ос дял лиспа.

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

А вот по скорости рефакторинга динамика сливает вчистую.

Это больше о возможностях IDE и насколько хорошо/плохо организована архитектура проекта.

Скорость — зависит в первую очередь от наличия библиотек

Объем кода на питоне в 3-5 раз меньше, чем для языков с сишным синтаксисом. Утверждение эмпирическое, но таки педалить гораздо меньше.

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

Такое ни на чем не допустимо. Иначе получится Windows 10.

На динамике и Win10 не получится - это будет просто груда мусора, которая не взлетит.

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

Бедные, убогие создатели языков после лиспа.

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

Просто потому, что ни один прогер (в здравом уме - это важно! :) ) не поставит на кон свои яйца

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

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

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

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

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

в него нельзя просто влезть и настрогать своих REPL'ов.

A что, все изменения в коде на динамическом языке через REPL должны проходить?

seiken ★★★★★
()

Таки дако извиняюсь, а есть пример известных реальных полезных приложений на смолтоке?

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

Мы же оба знаем, что в языке с «message passing» и «extremely late binding» проверка типов компилятором - утопия.

Ну а если мы оба знаем, зачем один из нас постит шарлатанство с LiveCode?

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

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

Но тестирование не ловит даже ограниченного класса ошибок (ловит только подмножество ошибок разных классов).

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

Там проблема была в сравнениях. Грубо говоря, нужно было отловить все случаи, когда в коде делается id1 == id2, и обработать ситуацию, когда одно — число, а другое — строка.

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

Это больше о возможностях IDE

Ни одна IDE не имеет магических возможностей.

В нашей конторе вообще нет ограничений по IDE — используй что хочешь.

для языков с сишным синтаксисом

Ну, я не спорю, что сишный синтаксис — говно, при чём тут это?

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

автоматическим тестированием

Вот только даже 100% покрытие тестами не защищает даже от самых тупых ошибок. Зато убивает скорость разработки напрочь.

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

Ты не поверишь, но и на FoxPro много чего написано. Но это не отменяет того, что он безбожно устарел.

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

Smalltalk introduced the world to the language virtual machine. (No, it wasn’t the first but it was the best-known.) This is the same tech that underpins Java and .NET.

Smalltalk pioneered JIT (just-in-time) compilation.

From Smalltalk came the first modern IDE (integrated development environment), which included a text editor, a system or class browser, an object or property inspector, and a debugger.

Smalltalk was the first language tool to support live programming and advanced debugging techniques such as on-the-fly inspection and code changes during execution in an easily usable form.

Smalltalk introduced the software architectural pattern MVC (Model-View-Controller).

To a large extent, Smalltalk was responsible for giving us test-driven development (or TDD) and extreme programming (or XP), which are both very influential in today’s standard agile practices.

Smalltalk pioneered the development of object databases of which GemStone/S is a great example.

Smalltalk gave us the first refactoring browser.

Smalltalk was instrumental in developing the graphical user interface (or GUI) and the “what you see is what you get” (WYSIWYG) user interface.

People don’t realize this, but Smalltalk is every bit as extensible as Lisp! Read Lisp, Smalltalk, and the Power of Symmetry. Who needs Lisp macros?

Apple’s success owes a lot to Smalltalk. It’s true!

Objective-C has been the foundation of macOS and iOS, and Objective-C is essentially a cross between C and Smalltalk.
MacOS evolved from NeXTStep which was built with Objective-C.
Steve Jobs was inspired by Xerox PARC’s GUI and WIMP to completely realign Apple’s strategy; the GUI was a direct outflow of Smalltalk work.
loz ★★★★★
() автор топика
Ответ на: комментарий от Miguel

Ни одна IDE не имеет магических возможностей.

Это аргумент уровня все языки эквивалентны по Тьюрингу.

Вот только даже 100% покрытие тестами не защищает даже от самых тупых ошибок. Зато убивает скорость разработки напрочь.

Зависит от качества тестов, а есть пример тупой ошибки которую ты не смог отловить тестом?

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

perl тоже умеет

my $int             :TYPE('int');       # must have an 'int' value
my $float           :TYPE('float');     # must have a 'float' value
my $string          :TYPE('string');    # must not be a reference
my $file            :TYPE('IO::File');  # must be an IO::File
my @array_of_ints   :TYPE('int');       # Each slot must contain 
                                        #   an int
my %hash_of_floats  :TYPE('float');     # Each value must be a float
Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.