Новости «Разработка»
Основная команда разработчиков radare2 форкнула его в новый продукт Rizin

Rizin — свободный и с открытым исходным кодом фреймворк для реверс-инжиниринга, включает в себя дизассемблер, эмулятор, hex-редактор, отладчик и многое другое.
Причиной форка разработчики называют стресс и неуважение, которое они испытывали при работе в сообществе сложившемся вокруг radare2, и для дальнейшего развития в сторону ценностей, которых они придерживаются, 8 декабря был создан форк и написан CoC.
Основная команда Cutter (это GUI для radare2), которая также была частью основной команды radare2, покинула radare2 и стала соучредителем Rizin. После этого Cutter переключается с radare2 на Rizin в качестве бэкэнда.
>>> Подробности
Выпущены в свет Intel oneAPI Toolkits

8 декабря состоялся выпуск набора программных инструментов Intel, предназначенных для разработки программ с использованием единого программного интерфейса (API) для различных вычислительных ускорителей, включая векторные команды процессоров (CPU), графические ускорители (GPU) и программируемые вентильные матрицы (FPGA) — Intel oneAPI Toolkits for XPU Software Development.
Базовый набор инструментов «oneAPI Base Toolkit» содержит компиляторы, библиотеки, средства для анализа и отладки, а также средства обеспечения совместимости, которые помогают перенести программы использующие CUDA на диалект Data Parallel C++ (DPC++).
Дополнительные наборы инструментов предоставляют средства для высокопроизводительных расчётов (HPC Toolkit), для разработки искусственного интеллекта (AI Toolkit), для «интернета вещей» (IoT Toolkit) и для высокопроизводительной визуализации (Rendering Toolkit).
Инструменты Intel oneAPI позволяют исполнять программы, полученные из одного и того же исходного кода на вычислительном оборудовании разной архитектуры.
Наборы инструментов можно скачать бесплатно. Кроме бесплатной версии инструментов есть и платная, которая даёт доступ к технической поддержке от инженеров Intel. Также доступна возможность использовать для разработки и тестирования кода сервис Intel® DevCloud, который предоставляет доступ к различным CPUs, GPU и FPGA. Будущие версии Intel® Parallel Studio XE и Intel® System Studio будут базироваться на Intel oneAPI.
Ссылка для скачивания: https://software.intel.com/content/www/us/en/develop/tools/oneapi/all-toolkits.html
( читать дальше... )
>>> Подробности
PHP 8.0.0
Команда разработчиков PHP объявила о выпуске новой версии языка — PHP 8.0.0.
Улучшения и новые возможности:
-
Union Types. Вместо аннотаций PHPDoc для комбинации типов вы можете использовать нативные объявления типа union, которые проверяются во время выполнения.
-
Именованные аргументы. Вместо аннотаций PHPDoc теперь можно использовать структурированные метаданные с родным синтаксисом PHP.
-
Оператор nullsafe. Вместо проверки на null теперь можно использовать цепочку вызовов с новым оператором nullsafe. Когда проверка одного элемента в цепочке не удается, выполнение всей цепочки прерывается, и она сводится к null.
-
Just-in-time компиляция. В PHP 8 появилось два движка JIT. Tracing JIT, наиболее многообещающий из двух, показывает улучшенную производительность: втрое на синтетических тестах и в 1,5-2 раза на некоторых специфических приложениях. Типичная производительность приложения находится на одном уровне с PHP 7.4.
>>> Подробности
Релиз языка программирования Nim 1.4.0
Вышла новая версия системного языка программирования Nim, которому в этом сентябре исполнился год с момента выхода первой стабильной версии. По синтаксису язык похож на Python, а по производительности почти как C++. Согласно FAQ язык во многом заимствует из (в порядке весомости вклада): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.
Работает везде благодаря возможности компиляции в С/C++/Objective-C/JS. В нём поддерживаются макросы, ООП, дженерики, исключения, горячая замена кода и многое другое. Лицензия - MIT.
Наиболее значительные изменения:
-
Появился новый сборщик мусора ORC, использующий алгоритм из ARC, но при этом специальным образом обрабатывающий циклические ссылки. Включается опцией
--gc:orc
. О различиях ARC/ORC есть отличная статья. -
Добавлен режим строгих определений функций, при котором включается дополнительная проверка на мутабельность объектов. Активируется через прагму
{.experimental: "strictFuncs".}
или через ключ--experimental:strictFuncs
. -
Ключевое слово
from
теперь может быть использовано как оператор. -
Добавлена прагма
.noalias
. Она сопоставляется с ключевым словом Crestrict
, чтобы повысить эффективность, которую может обеспечить это слово. -
Конкретные предупреждения теперь можно превратить в ошибки через
--warningAsError[X]:on|off
. -
Новая команда:
nim r main.nim [args...]
, которая компилирует и запускает main.nim, и включает--usenimcache
так, что результат сохраняется в$nimcache/main$exeExt
, используя ту же логику что иnim c -r
для избавления от перекомпиляции, когда исходники не изменились. Пример:
nim r compiler/nim.nim --help # скомпилирован в первый раз
echo 'import os; echo getCurrentCompilerExe()' | nim r - # это тоже работает
nim r compiler/nim.nim --fullhelp # без перекомпиляции
nim r --nimcache:/tmp main # бинарник сохранён в /tmp/main
-
Добавлена новая подсказка
--hint:msgOrigin
, которая покажет где компилятор сгенерировал сообщения об ошибках/предупреждения. Это помогает, когда неочевидно откуда пришло сообщение. -
Добавлен флаг
--backend:js|c|cpp|objc
(или -b:js и т.д.) для смены бэкенда. -
Добавлен флаг
--usenimcache
для вывода бинарников в nimcache. -
Удалены ключи:
--oldNewlines
,--laxStrings
,--oldast
,--oldgensym
-
Утилита
nimsuggest
теперь показывает не только предварительное объявление, но и расположение реализации по запросуdef
.
Помимо этого добавлено множество изменений в стандартную библиотеку и множество исправлений багов.
>>> Подробности
()
DuploQ - графический фронтенд для Duplo (детектор дублированного кода)

DuploQ представляет собой графический интерфейс к консольной утилите Duplo (https://github.com/dlidstrom/Duplo), предназначенной для поиска дублированного кода в исходных файлах (т.н. «копипаста»).
Утилита Duplo поддерживает несколько языков программирования: C, C++, Java, JavaScript, C#, но также может быть использована для поиска копий в любых текстовых файлах. Для указанных языков Duplo старается игнорировать макросы, комментарии, пустые строки и пробелы, выдавая пользователю максимально «чистые» результаты.
DuploQ значительно облегчает работу по поиску дублированного кода, позволяя быстро указать, где производить поиск, настроить необходимые параметры и визуализировать результаты в простом для понимания виде. Также можно создавать и сохранять для последующего использования проекты, включая в них необходимые папки и указав параметры и шаблоны имён файлов для поиска дубликатов в данном наборе.
DuploQ является мультиплатформенным приложением, написанным с помощью фреймвока Qt версии 5. В настоящее время как минимум поддерживаются следующие платформы (при условии установленной Qt версии не ниже 5.10):
- Microsoft Windows 10
- Ubuntu Linux
- Fedora Linux
Также высока вероятность работы DuploQ на иных платформах, которые официально поддерживаются Qt Company.
На странице релиза DuploQ (https://github.com/duploq/duploq/releases) можно скачать как исходные коды, так и бинарные пакеты для указанных выше систем (64 bit only).
DuploQ + Duplo лицензированы под GPL-лицензией.
>>> Подробности
Python 3.9.0
Вышел новый стабильный релиз популярного языка программирования Python.
Python – высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Основные черты – динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений, высокоуровневые структуры данных.
Python – стабильный и распространённый язык. Он используется во многих проектах и в различных качествах: как основной язык программирования или для создания расширений и интеграции приложений. Основные области применения: веб-разработка, машинное обучение и анализ данных, автоматизация и системное администрирование. В настоящий момент Python занимает третье место в рейтинге TIOBE.
( читать дальше... )
>>> Подробности
ZenMake 0.10.0
ZenMake — ещё одна система сборки для C/C++ и ряда других языков программирования с декларативными конфигурационными файлами.
ZenMake написан на python с использованием Waf в качестве фреймворка. Основная цель проекта — быть простым в использовании насколько это возможно, но оставаться достаточно гибким.
Зачем еще одна система сборки? Подробности (на английском): https://zenmake.readthedocs.io/en/latest/why.html
Основной репозиторий: https://gitlab.com/pustotnik/zenmake
Документация: https://zenmake.readthedocs.io/
Примеры использования: https://gitlab.com/pustotnik/zenmake/tree/master/demos
Способы использования:
- Установить в систему через
pip install zenmake
и использовать на манер CMake, Meson и др., вызывая zenmake в корне проекта. - Скачать zipapp-форму zenmake.pyz отсюда или сгенерировать самостоятельно через команду zipapp и использовать как встроенную систему сборки.
>>> Подробности
Опрос о состоянии Rust 2020
Сообщество Rust запустило опрос о состоянии языка и экосистемы 2020 State of Rust Survey.
Цель опроса – выявить слабые и сильные стороны языка и определить приоритеты разработки.
Опрос опубликован на нескольких языках, участие анонимно и потребует около 10-15 минут. Ответы принимаются до 24 сентября.
Ссылка на форму 2020 State of Rust на русском языке
>>> Подробности
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, кроме устранения значительного количества проблем предыдущих версий, позволяет создавать и редактировать порты узлов графа, а также экспортировать графы в виде изображений с выбранным разрешением для дальнейшей печати.
>>> Подробности
← предыдущие | следующие → |