Новости «Разработка»
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при выходе из области видимости;
( читать дальше... )
>>> Подробности
Анонсирован выход 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
>>> Подробности
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
>>> Официальный сайт
Очередной релиз QVGE 0.5.5 (визуальный редактор графов)
Вышел очередной релиз QVGE, мультиплатформенного приложения для просмотра и редактирования двумерных графов.
В настоящей версии поддерживаются следующие форматы:
- GML
- GraphML
- GEXF
- DOT/GraphViz (основные тэги)
Версия 0.5.5, кроме устранения значительного количества проблем предыдущих версий, позволяет создавать и редактировать порты узлов графа, а также экспортировать графы в виде изображений с выбранным разрешением для дальнейшей печати.
>>> Подробности
Облачная конференция по Perl и Raku
COVID-19 разогнал всех по домам, но как бы то ни было, у сообщества накопилось много интересных мыслей по Perl и Raku, которыми хочется поделиться.
Присоединяйся к трёхдневному мероприятию насыщенному интересными выступлениями!
Конференция будет проходить с 24 по 26 июня. Купившие билет в 10$, смогут смотреть живые выступления и задавать вопросы докладчикам. Для всех остальных, видеоотчёт будет доступен на ютуб совершенно бесплатно.
Доклады традиционно читают волонтёры и желающие могут поддержать альтруистов рублём.
>>> Подробности
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++ теперь использует директории
~/.configand~/.cacheдля хранения разного. - Добавлена функция
GaussianBlur. - Модернизирован внешний вид виджетов в дизайнере слоёв.
- Поддержка нескольких мониторов в MacOS и другие исправления.
- В дизайнер добавлено несколько часто используемых виджетов, таких как
ColorPusher,TreeCtrl,ColumnList. - Нативный диалог выбора файлов,
FileSelector, переименован вFileSelNativeи добавлен в MacOS (в дополнение к Win32 и gtk3). - Рефракторинг
GLCtrlв OpenGL/X11. - Добавлена функция
GetSVGPathBoundingBox. - PGSQL теперь может экранировать
?через??или использовать методNoQuestionParamsв целях избежания использования?как символа подстановки параметров.
>>> Подробности
Вышла новая версия языка программирования 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.
>>> Подробности
Релиз кроссплатформенного 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. Это первый официальный стабильный релиз.
( читать дальше... )
>>> Подробности
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/bincкрипт для запуска программы;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.
>>> Подробности
Embeddable Common Lisp 20.4.24
После трех лет разработки, 24-го апреля, была выпущена новая версия ECL – интерпретатора Common Lisp. ECL, опубликованный под лицензией LGPL-2.1+, может быть использован как в качестве встраиваемого интерпретатора, так и для постройки автономных библиотек и исполняемых файлов (есть возможность трансляции в C).
Изменения:
- поддержка локальных никнеймов в пакетах;
- поддержка атомарных операций;
- специализированное представление сложных типов с плавающей запятой;
- порт на iOS;
- исправления для слабых хэш-таблиц и слабых указателей;
- исправления состояний гонок во внутренностях ECL;
- синхронизация и кастомные тесты для хэш-таблиц;
- улучшенная метастабильность и улучшенная поддержка метаобъектного протокола (MOP).
Также у проекта появился второй мейнтейнер.
>>> Подробности
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.
>>> Подробности
Вышел 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.
>>> Подробности
| ← предыдущие | архив |
