LINUX.ORG.RU

Новости «Разработка»

Активные теги:

 , , , , , , ,

: Вышел Kotlin 1.4 (288 комментариев)
: re2c 2.0 (11 комментариев)

Lua 5.4

Группа Разработка

После двух лет разработки, 29 июня тихо и незаметно вышла новая версия языка программирования Lua — 5.4.

Lua – это простой интерпретируемый язык программирования, который легко встраивается в приложения. Благодаря этим качествам, Lua широко используется как язык расширения или описания конфигурации программ (в частности, компьютерных игр). Распространяется Lua по лицензии MIT.

Предыдущая версия (5.3.5) выходила 10 июля 2018 года.

Основные изменения в новой версии

  • новый сборщик мусора на основе поколений (generational). В функции collectgarbage параметры setpause и setstepmul объявлены устаревшими, вместо них рекомендуется использовать параметр incremental;

  • новая функция для выдачи предупреждений warn с возможностью отключения их отображения;

  • новая реализация math.random использует алгоритм xoshiro256** вместо предоставляемого libc и инициализирует генератор случайным числом;

  • константы (constant variables);

  • «закрываемые» (to-be-closed) переменные — локальные константы, для которых выполняется метод __close при выходе из области видимости;

( читать дальше... )

>>> Подробности

 

cdslow
()
: QtProtobuf 0.4.0 (22 комментария)

Анонсирован выход Perl 7

Группа Разработка

Вчера вечером на «Perl and Raku Conference in the Cloud», Sawyer X анонсировал смену основной версии Perl с 5 на 7. Работы уже ведутся, новая версия выйдет в течение года. Большого количества изменений ждать не стоит, если коротко: Perl 7 это всё тот же Perl 5.32 с современными настройками по умолчанию. Вам больше не надо явно подключать возможности которые вы и так используете, их включат для вас!

( читать дальше... )

Perl 5.32 переходит в режим долгой поддержки на срок от 5 лет.

Развёрнутый анонс от Брайана Д Фоя: https://www.perl.com/article/announcing-perl-7/
TL;DR версия от него же: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html

>>> Подробности

 , perl7

perl5_guy
()

Free Pascal 3.2.0

Группа Разработка

Состоялся выпуск FPC 3.2.0!

Эта версия является новым крупным релизом и содержит багфиксы и обновления пакетов, новые возможности и новые таргеты.

Со времени выхода FPC 3.0 прошло 5 лет, так что рекомендуется обновиться как можно скорее.

Новые возможности: https://wiki.freepascal.org/FPC_New_Features_3.2.0

Список изменений в которых может нарушиться обратная совместимость: https://wiki.freepascal.org/User_Changes_3.2.0

Список новых поддерживаемых платформ: https://wiki.freepascal.org/FPC_New_Features_3.2.0#New_compiler_targets

Скачать: https://www.freepascal.org/download.html

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

 , ,

fsb4000
()

Очередной релиз QVGE 0.5.5 (визуальный редактор графов)

Очередной релиз QVGE 0.5.5 (визуальный редактор графов)
Группа Разработка

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

В настоящей версии поддерживаются следующие форматы:

  • GML
  • GraphML
  • GEXF
  • DOT/GraphViz (основные тэги)

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

>>> Подробности

 ,

ii-system
()
: Perl 5.32.0 (56 комментариев)
: Доступна предварительная сборка Qt 6.0 (112 комментариев)

Облачная конференция по Perl и Raku

Группа Разработка

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

Присоединяйся к трёхдневному мероприятию насыщенному интересными выступлениями!

Конференция будет проходить с 24 по 26 июня. Купившие билет в 10$, смогут смотреть живые выступления и задавать вопросы докладчикам. Для всех остальных, видеоотчёт будет доступен на ютуб совершенно бесплатно.

Доклады традиционно читают волонтёры и желающие могут поддержать альтруистов рублём.

>>> Подробности

 , ,

perl5_guy
()

U++ Framework 2020.1

Группа Разработка

В мае этого года (точная дата не сообщается) вышла новая, 2020.1, версия U++ Framework (Он же Ultimate++ Framework). U++ — кроссплатформенный фреймворк для создания GUI приложений.

Нововведения в текущей версии:

  • Linux бэкенд по умолчанию теперь использует gtk3 вместо gtk2.
  • «look&feel» в Linux and MacOS переработан и лучше поддерживает тёмные темы.
  • У ConditionVariable и Semaphore появились варианты метода Wait с параметром timeout.
  • Добавлена функция IsDoubleWidth для определения глифов UNICODE двойной ширины.
  • U++ теперь использует директории ~/.config and ~/.cache для хранения разного.
  • Добавлена функция GaussianBlur.
  • Модернизирован внешний вид виджетов в дизайнере слоёв.
  • Поддержка нескольких мониторов в MacOS и другие исправления.
  • В дизайнер добавлено несколько часто используемых виджетов, таких как ColorPusher, TreeCtrl, ColumnList.
  • Нативный диалог выбора файлов, FileSelector, переименован в FileSelNative и добавлен в MacOS (в дополнение к Win32 и gtk3).
  • Рефракторинг GLCtrl в OpenGL/X11.
  • Добавлена функция GetSVGPathBoundingBox.
  • PGSQL теперь может экранировать ? через ?? или использовать метод NoQuestionParams в целях избежания использования ? как символа подстановки параметров.

>>> Подробности

 , , ,

next_time
()

Вышла новая версия языка программирования D (2.091.0)

Группа Разработка

Изменения в компиляторе:

  • Окончательно убран деаллокатор классов.
  • Возможность сообщать о номерах строк в стиле GNU.
  • Добавлена экспериментальная генерация заголовочников C++ из внешних (extern) объявлений C|C++: DMD теперь умеет писать заголовочные файлы C++, содержащие биндинги на объявления в существующих файлах D, помеченных как extern(C) или extern(C++).

Изменения в рантайме:

  • Добавлен пропущенный в некоторых местах pthread_attr_destroy.
  • Расширенные биндинги в core.sys.windows.security.
  • Добавлен core.stdcpp.memory.unique_ptr.
  • Добавлен TFD_TIMER_CANCEL_ON_SET.

Изменения в библиотеке:

  • std.bigint теперь @safe.
  • Замена approxEqual на isClose в std.math.
  • Удалён устаревший std.format.Mangle.
  • Удалены устаревшие структуры ByLine, ByChunk, ByRecord из std.stdio.
  • std.algorithm.sorting.schwartzSort теперь поддерживает и бинарные функции трансформации.
  • Добавлена curry в std.functional.

Изменения в инсталляторе:

  • Скрипт инсталляции теперь может исполняться на Windows.

Изменения в Dub:

  • Добавлена переменная окружения SOURCE_FILES.
  • У DUB теперь стиль дополнения zsh.

>>> Подробности

 ,

next_time
()
: Cor - алтернативная ООП система для Perl (38 комментариев)

Релиз кроссплатформенного UI фреймворка MauiKit 1.1.0

Релиз кроссплатформенного UI фреймворка MauiKit 1.1.0
Группа Разработка

Проект Maui – это свободное программное обеспечение с открытым исходным кодом, поддерживаемое сообществом KDE и разработанное Nitrux Latinoamericana.

MauiKit – набор элементов управления и инструментов, основанных на QQC2 и Kirigami, совместно используемых в наборе приложений Maui. MauiKit помогает быстро создавать пользовательские интерфейсы, которые соответствуют Maui HIG. Основан на Qt, QML, и C++. Содержит компоненты, готовые к использованию и работающие на Android, Linux, Windows, Mac OS и iOS.

Версия 1.1.0 содержит обновления, новые функции, исправления ошибок. Для этого первого полного релиза пакеты распространяются непосредственно с официальной веб-страницы MauiKit. Это первый официальный стабильный релиз.

( читать дальше... )

>>> Подробности

 , , ,

cocucka
()

Deno 1.0

Deno 1.0
Группа Разработка

Состоялся мажорный релиз Deno – открытой, безопасной среды выполнения программ на языке TypeScript, обладающей следующими особенностями:

  • Исключительно явный доступ к файловой системе, сети и окружению через установку соответствующих разрешений пользователем;
  • Исполнение TypeScript без Node.JS и tsc;
  • Обратная совместимость с Javascript: любое подмножество программ для Deno, не ссылающееся на глобальное пространство имён Deno и являющееся валидным Javascript кодом можно исполнять в браузере;
  • Поставка в виде единственного исполняемого файла, также содержащего в себе дополнительные инструменты, такие как
    • deno run --inspect-brk: дебаг-сервер, взаимодействующий с Visual Studio Code и инструментами удалённой отладки в Google Chrome;
    • deno install: установщик программ для Deno из удалённых ресурсов. Производит загрузку вместе с зависимостями и добавляет в $HOME/.deno/bin cкрипт для запуска программы;
    • deno fmt: производит форматирование кода;
    • deno bundle: бандлер программ на Deno. Производит js-файл, содержащий в себе программу для Deno и её зависимости;
    • WIP: генератор документации и инструмент аудита зависимостей;
  • Отсутствие зависимости от npm и package.json: внешние модули подгружаются и используются (загрузка по сети происходит только во время первого выполнения, в дальнейшем модуль кэшируется вплоть до вызова с флагом --reload) после указания их URL прямо в программе:
    import * as log from "https://deno.land/std/log/mod.ts";
    
  • Абсолютно все асинхронные операции возвращают Promise, в отличие от Node.JS;
  • Выполнение программы всегда останавливается при возникновении необработанных ошибок.

Deno – встраиваемая среда, и может быть использована для расширения существующих программ на Rust с помощью крейта deno_core.

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

Deno подходит для использования в качестве выполнения скриптов – поддерживается вызов через shebang.
Есть REPL.
Написано на языке программирования Rust.

>>> Подробности

 ,

Princesska
()

Embeddable Common Lisp 20.4.24

Группа Разработка

После трех лет разработки, 24-го апреля, была выпущена новая версия ECL – интерпретатора Common Lisp. ECL, опубликованный под лицензией LGPL-2.1+, может быть использован как в качестве встраиваемого интерпретатора, так и для постройки автономных библиотек и исполняемых файлов (есть возможность трансляции в C).

Изменения:

  • поддержка локальных никнеймов в пакетах;
  • поддержка атомарных операций;
  • специализированное представление сложных типов с плавающей запятой;
  • порт на iOS;
  • исправления для слабых хэш-таблиц и слабых указателей;
  • исправления состояний гонок во внутренностях ECL;
  • синхронизация и кастомные тесты для хэш-таблиц;
  • улучшенная метастабильность и улучшенная поддержка метаобъектного протокола (MOP).

Также у проекта появился второй мейнтейнер.

>>> Подробности

 ,

BOSS-NIGGER
()
: QtProtobuf 0.3.0 (12 комментариев)

Tcl/Tk. Альтернативный диалог выбора файлов для платформ Linux и Android

Группа Разработка

Сегодня скриптовый язык Tcl/Tk используется не только на компьютерах, но и с успехом портирован на платформу Android. Но именно на этой платформе стали особенно видны все недостатки диалога выбора файлов tcl/tk (tk_getSaveFile, tk_getOpenFile или tk_chooseDirectory).

Что не устраивает в этом диалоге? Отсутствие в нем элементарных операций с папками/файлами: создать, уничтожить, переименовать. Нет, не подумайте, в самом tcl все эти механизмы, естественно, реализованы, их просто нет в GUI диалога. В Linux это не так заметно, а вот на платформе Android этот диалог вызывает массу неудобств.

В итоге была создана балалайка (так еще называют пакеты/package для tcl) tkfe (tk file explorer).

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

В проекте имеется комплексный пример по использованию пакета. Естественно, этот диалог можно также использовать и на других платформах. Не составляет также труда перенести его на Python/TkInter.

>>> Подробности

 , , tcltk, ,

TclTk
()

Вышел PyTorch 1.5.0

Группа Разработка

PyTorch — популярный фреймворк для машинного обучения — обновился до версии 1.5.0. Этот релиз включает в себя несколько крупных дополнений и улучшений API, среди которых можно отметить:

  • C++ API, ранее считавшийся экспериментальным, окончательно стабилизирован. Теперь пользователи могут легко переводить свои модели с Python API на C++ API.

  • Стабилизирован пакет torch.distributed.rpc, предоставляющий широкие возможности в распределенном обучении, включая автоматическое вычисление градиентов и обновление параметров модели.

  • Обновлен torch_xla — пакет, который использует компилятор XLA для ускорения обучения моделей на облачных TPU.

  • Также обновлены пакеты torchaudio, torchvision и torchtext, предоставляющие инструменты для разработки моделей, обрабатывающих звуковые, графические и текстовые данные.

  • Python 2 больше не поддерживается. Вся дальнейшая разработка будет вестись только для Python 3.

>>> Подробности

 , ,

ymn
()
: Вышел Python 2.7.18 — последний выпуск ветки Python 2 (103 комментария)