LINUX.ORG.RU

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

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

 , , , , , , ,

Компания Open Source Security спонсирует разработку gccrs

Компания Open Source Security спонсирует разработку gccrs
Группа Разработка

12 января компания Open Source Security, известная разработкой grsecurity, объявила о спонсировании разработки фронтенда к компилятору GCC для поддержки языка программирования Rust — gccrs.

Изначально gccrs разрабатывался параллельно с оригинальным компилятором Rustc, но из-за отсутствия спецификаций к языку и частых ломающих совместимость изменений на раннем этапе разработка была временно заброшена и возобновилась только после выхода Rust 1.0.

Open Source Security мотивируют своё участие возможным появлениям кода на Rust в ядре Linux и тем, что ядро собирается чаще всего компилятором gcc. Дополнительно к этому, программы на нескольких языках сразу могут иметь уязвимости, вызванные именно этим фактом (см. Exploiting Mixed Binaries), которых бы не было в программах на чистом C или C++.

На данный момент Open Source Security спонсируют работу одного разработчика, который будет работать над gccrs в течение следующего года, с возможностью выделения средств на увеличение штата. Так же в процессе участвует британская компания Embercosm, специализирующаяся на разработке GCC и LLVM и предоставившая оформление официального трудоустройства разработчиков для данной инициативы.

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

 , gccrs, ,

hateyoufeel
()

Релиз Wasmer 1.0

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

Выпущен Wasmer 1.0 — среда выполнения WebAssembly (сокр. Wasm), написанная на Rust. Wasm автоматически помещает приложения в песочницу для безопасного выполнения, защищая хост от ошибок и уязвимостей в них. Wasm также предоставляет экономичную среду выполнения, позволяющую контейнерам Wasmer работать там, где контейнеры Docker слишком громоздки.

Особенности выпуска:

  • Параллельная компиляция в разы уменьшила время компиляции программ.
  • Компиляторы на выбор: Singlepass (упор на быстроту компиляции), Cranelift, LLVM (упор на оптимизацию кода).
  • Появление кросс-компиляции, возможность скомпилировать Wasm для aarch64 архитектуры с x86_64 машины и наоборот.
  • Поддержка Apple Silicon.

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

 , wasmer, ,

mydibyje
()

Rust 1.49

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

Опубликован релиз 1.49 языка программирования Rust.

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

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

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

 

fsb4000
()
: Джои Хесс прекращает поддержку github-backup (48 комментариев)

lsFusion 4

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

Вышел новый релиз одной из очень немногих бесплатных открытых высокоуровневых (уровня ERP) платформ разработки информационных систем lsFusion. Основной акцент в новой четвертой версии был сделан на логику представлений — пользовательский интерфейс и все что с ним связано.

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

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

 

NitroJunkie
()

Ruby 3.0.0

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

Вышел новый релиз динамического рефлективного интерпретируемого высокоуровневого объектно-ориентированного языка программирования
Ruby версии 3.0.0. По заявлению авторов, зафиксировано утроение производительности (по тесту Optcarrot), таким образом достигнута поставленная в 2016 году цель, описанная в концепции Ruby 3x3.

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

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

 ,

linuks
()

Завершён переход FreeBSD с системы контроля версий Subversion на Git

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

Последние несколько дней свободная операционная система FreeBSD переходила от своей разработки, которая велась с помощью Subversion, к использованию распределенной системы контроля версий Git, которая используется в большинстве других проектов с открытым исходным кодом.

Переход FreeBSD с Subversion на Git состоялся. Миграция была завершена на днях, и теперь новый код поступает в их основной репозиторий Git и на Github.

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

 , , ,

mydibyje
()
: Поиск с помощью pip search в репозитории PyPi отключён в связи с возросшей нагрузкой (143 комментария)

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

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

Rizin — свободный и с открытым исходным кодом фреймворк для реверс-инжиниринга, включает в себя дизассемблер, эмулятор, hex-редактор, отладчик и многое другое.

Причиной форка разработчики называют стресс и неуважение, которое они испытывали при работе в сообществе сложившемся вокруг radare2, и для дальнейшего развития в сторону ценностей, которых они придерживаются, 8 декабря был создан форк и написан CoC.

Основная команда Cutter (это GUI для radare2), которая также была частью основной команды radare2, покинула radare2 и стала соучредителем Rizin. После этого Cutter переключается с radare2 на Rizin в качестве бэкэнда.

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

 , , ,

mydibyje
()

Выпущены в свет Intel oneAPI Toolkits

Выпущены в свет 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

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

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

 , , , ,

cdslow
()

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.

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

 

cocucka
()
: Coq 8.12 (16 комментариев)

Релиз языка программирования 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. Она сопоставляется с ключевым словом C restrict, чтобы повысить эффективность, которую может обеспечить это слово.

  • Конкретные предупреждения теперь можно превратить в ошибки через --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.

Помимо этого добавлено множество изменений в стандартную библиотеку и множество исправлений багов.

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

 , ,

anonymous
()
: Выпуск языка программирования Rust 1.47 (239 комментариев)

DuploQ - графический фронтенд для Duplo (детектор дублированного кода)

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-лицензией.

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

 , duplo, , ,

ii-system
()

Python 3.9.0

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

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

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

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

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

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

 ,

cocucka
()
: Perl 5.32.2 (31 комментарий)

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

Способы использования:

  1. Установить в систему через pip install zenmake и использовать на манер CMake, Meson и др., вызывая zenmake в корне проекта.
  2. Скачать zipapp-форму zenmake.pyz отсюда или сгенерировать самостоятельно через команду zipapp и использовать как встроенную систему сборки.

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

 , ,

Vark
()

Опрос о состоянии Rust 2020

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

Сообщество Rust запустило опрос о состоянии языка и экосистемы 2020 State of Rust Survey.

Цель опроса – выявить слабые и сильные стороны языка и определить приоритеты разработки.

Опрос опубликован на нескольких языках, участие анонимно и потребует около 10-15 минут. Ответы принимаются до 24 сентября.

Результаты прошлого года

Ссылка на форму 2020 State of Rust на русском языке

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

 

perl5_guy
()
: QtProtobuf 0.5.0 (11 комментариев)