vadimpanin: (Default)
2014-11-24 12:06 pm

Я вот не понимаю

Анонсирован Gngr, новый web-браузер, ориентированный на обеспечение приватности
http://www.opennet.ru/opennews/art.shtml?num=41112

В комментах браузер критикуют только за то, что он написан на Жаве. Причем, цепляются к "избежать проблем с безопасностью, свойственных продуктам на С/C++".
Прямой доступ к памяти из языка – это в самом деле проблема с безопасностью. Ей можно пренебречь в более-менее монолитных проектах, требующих максимальной производительности. В случае оупенсорса, как показала практика, наличие сотен комиттеров и простота получения UB для языка напрямую влияют на количество уязвимостей. Можно тот же OpenSSL вспомнить. Да, чисто теоретически грамотный программист не допустит "плохого кода", а даже если допустит - коммит не пройдет ревью, но в реальной жизни все сложнее. Программист не совсем понимает чужой код, ревьюер смотрит на код в отрыве от контекста – ошибки пролезают в продакшн. В джаве это приведет к экзепшну, в C/C++ – к неопределенному поведению. Я не говорю что виртуальная машина жавы без изъянов, но она берет на себя функцию детекта ошибок программиста в рантайме, и это – дополнительный уровень защиты.
vadimpanin: (Default)
2013-10-01 02:42 am

GNU потихоньку идет по пути Windows

Вышел пакетный менеджер GNU Guix 0.4
http://www.opennet.ru/opennews/art.shtml?num=38024

На самом деле это достаточно крутая штука. Nix позволяет иметь на одной машине любое количество версий любого софта / библиотек. GNU практически приходит к тому что Windows предоставляет с 90-х годов - возможность распространения пакетов со всеми зависимостями внутри самого пакета, без костылей с LD_PRELOAD/LD_LIBRARY_PATH и прочим (например, все то что я писал в школе, без проблем запускается в 2013-м на текущих ОС и железе).
Да, arguably понижается общая безопасность системы за счет того, что найденные уязвимости не патчатся "автоматически" во всем софте что использует какую-либо библиотеку, но с позиции деплоймента софта и разработки - получается очень удобно.
Один из минусов, правда, - оно _все_ линкует динамически, что несколько сказывается на оптимизации/производительности.