Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

nushell — современный shell, сочетающий Unix-конвейеры и объекты в духе PowerShell

Блог компании Флант Open source *Системное администрирование **nix *Оболочки *
На днях был представлен проект nushell (краткое название — Nu). Он появился благодаря идеям из «философии классических конвейеров в Unix, подхода со структурированными данными из PowerShell, функционального программирования, системного программирования и так далее». На GitHub проект лаконично описан как «современный shell эры GitHub, написанный на Rust».

Читать дальше →
Всего голосов 27: ↑25 и ↓2 +23
Просмотры 7K
Комментарии 14

Microsoft создаёт новый язык программирования, основанный на Rust

C++ *C *Rust *Разработка под Windows *IT-компании


Компания Microsoft развивает новый язык программирования на основе Rust. Как пишет издание ZDnet, проект получил название Verona. Планируется, что на его основе Microsoft перепишет некоторые компоненты Windows 10, чтобы решить проблемы с безопасностью.

Как указывает ZDnet со ссылкой на Мэтта Миллера, специалиста Microsoft по безопасности, около 70% всех уязвимостей, которые были обнаружены в продуктах Microsoft в последние годы, были связаны с ошибками управления памятью. Это происходит потому, что языки C и C++, которые традиционно используют для создания системного ПО, передают управление оперативной памятью разработчику. Это неизбежно приводит к ошибкам.
Читать дальше →
Всего голосов 54: ↑44 и ↓10 +34
Просмотры 33K
Комментарии 94

Русский перевод книги «The Rust Programming Language» (TRPL)

Open source *Программирование *Rust *
Добрый праздничный день.

По окончанию перевода официальной версии TRPL или раст-бука (ссылка на русский вариант), я решил написать про свои размышления, наблюдения и встретившиеся сложности.
Перевод последней актуальной версии сделан на основе последней редакции из основного репозитория английского оригинала.
Читать дальше →
Всего голосов 68: ↑68 и ↓0 +68
Просмотры 26K
Комментарии 26

Вышла версия 1.0 библиотеки для управления секс-игрушками Buttplug

JavaScript *Программирование *C# *Rust *

После 3,5 лет разработки компания Nonpolynomial обновила открытую библиотеку для секс-игрушек до версии 1.0. Библиотека управляет вибрацией с клавиатур, геймпадов и шлемов виртуальной реальности, а также синхронизирует импульсы с фильмами через плагины для VLC и Kodi.

Читать далее
Всего голосов 43: ↑43 и ↓0 +43
Просмотры 21K
Комментарии 43

Microsoft упростила доступ к API Win32 для языков Rust и C#

API *C *C# *Rust *Разработка под Windows *

Компания Microsoft рассказала о проекте по упрощению взаимодействия с API Win32 для языков программирования Rust и С#. Проект получил название win32metadata и доступен для предварительного просмотра на Github.

Читать далее
Всего голосов 28: ↑23 и ↓5 +18
Просмотры 7.9K
Комментарии 18

Google, Microsoft, Huawei, Mozilla и AWS основали Rust Foundation

Программирование *Rust *

Развитием языка программирования Rust займется некоммерческая организация Rust Foundation. Новый фонд создали AWS, Huawei, Google, Microsoft и Mozilla. Уже сформирован бюджет на два года работы фонда, он составит миллион долларов.

Читать далее
Всего голосов 21: ↑21 и ↓0 +21
Просмотры 8.7K
Комментарии 12

Линус Торвальдс рассказал о том, где Rust впишется в Linux

Настройка Linux *Программирование *C *Rust *Разработка под Linux *

Линус Торвальдс и Грег Кроа-Хартман поделились своими мнениями о том, как они видят работу на Rust в Linux. Ядро Linux написано на C, но Rust постепенно получает поддержку для использования в качестве системного языка.

Читать далее
Всего голосов 23: ↑19 и ↓4 +15
Просмотры 26K
Комментарии 29

Разработчик показал, как получить SSH-ключ с помощью compile-time макроса в Rust в VSCode просто при открытии приложения

Информационная безопасность *Программирование *GitHub Rust *
Слева консоль злоумышленника, справа жертвы, которая открыла файл в VSCode со специальным макросом на Rust.

14 мая 2021 года разработчик Джаред Харпер показал в GitHub, как можно удаленно получить ключ для авторизации по SSH (а по факту и другие данные и файлы) при простом открытии жертвой атаки файла с исходным кодом в редакторе кода для кроссплатформенной разработки Visual Studio Code. Атакуемый даже не поймет, что произошло, так как для скрытой передачи данных ему не нужно делать далее никаких манипуляций с открытым проектом. Атакующий использовал для этого специальный макрос на Rust. На компьютере пользователя должен быть установлен плагин rust-analyzer и инструменты для работы с кодом на языке Rust.
Читать дальше →
Всего голосов 14: ↑9 и ↓5 +4
Просмотры 2.4K
Комментарии 5

Tor Project планирует заменить код C на Rust

Программирование *Совершенный код *C *Rust *Браузеры

Tor Project получил $ 670 тысяч от Zcash Open Major Grants на обновление языка программирования. Оно позволит сделать клиент Tor более адаптируемым и простым для использования. Tor Project планируется перевести с языка С на Rust.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 8.2K
Комментарии 9

Google: команде безопасности ядра Linux не хватает примерно сотни инженеров

Настройка Linux *C *Rust *Разработка под Linux *IT-компании

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

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 9.3K
Комментарии 45

Cloudflare добавила поддержку Rust для создания воркеров

Разработка веб-сайтов *JavaScript *API *Rust *Периферия

В Cloudflare внедрили поддержку создания воркеров на Rust без использования JavaScript. Соответствующий код опубликован на GitHub. 

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 1.2K
Комментарии 0

Язык программирования Rust

Программирование *Rust *
Разработчики из Mozilla Research опубликовали презентацию, в которой рассказали о прогрессе за последний год в разработке экспериментального языка программирования Rust, преимуществах Rust перед Google Go, о его применении в проектах Mozilla, а также о типичных примерах использования в будущем.

Rust — новый мультипарадигменный, исключительно функциональный, императивно-процедурный, объектно-ориентированный язык программирования, над которым Mozilla Research работает с 2009 года (сам проект ведёт историю с 2006 года). Исходные тексты распространяются через Github под лицензией BSD.

Как и Go, язык программирования Rust объединяет производительность и безопасность компилируемых языков (как С++) со скоростью разработки динамических языков (как Python).
Читать дальше →
Всего голосов 25: ↑15 и ↓10 +5
Просмотры 9K
Комментарии 13

Обзор языка программирования Rust

Программирование *Rust *
Из песочницы
Rust — новый экспериментальный язык программирования, разрабатываемый Mozilla. Язык компилируемый и мультипарадигмальный, позиционируется как альтернатива С/С++, что уже само по себе интересно, так как даже претендентов на конкуренцию не так уж и много. Можно вспомнить D Вальтера Брайта или Go от Google.
В Rust поддерживаются функицональное, параллельное, процедурное и объектно-ориентированное программирование, т.е. почти весь спектр реально используемых в прикладном программировании парадигм.

Я не ставлю целью перевести документацию (к тому же она весьма скудная и постоянно изменяется, т.к. официального релиза языка еще не было), вместо этого хочется осветить наиболее интересные фичи языка. Информация собрана как из официальной документации, так и из крайне немногочисленных упоминаний языка на просторах Интернета.

Читать дальше →
Всего голосов 74: ↑73 и ↓1 +72
Просмотры 85K
Комментарии 72

Mozilla и Samsung создают браузерный движок нового поколения Servo

IT-компании
Mozilla и Samsung неожиданно объявили о совместном проекте: разработке веб-движка «нового поколения», оптимизированного под будущие «более быстрые, многоядерные, гетерогенные компьютерные архитектуры». Проект получил название Servo (код на Github).

«Servo — попытка создать веб-браузер заново с нуля на современном оборудовании и переосмыслить старые посылки. Это значит устранить сами причины уязвимостей в системе безопасности и в то же время создать платформу, которая полностью использует производительность массовых параллельных вычислений на оборудовании завтрашнего дня. Поэтому Servo пишется на языке Rust, новом, безопасном языке системного программирования, разработанном в Mozilla совместно с большим сообществом энтузиастов», — сказано в официальном сообщении на сайте Mozilla.
Читать дальше →
Всего голосов 89: ↑84 и ↓5 +79
Просмотры 35K
Комментарии 76

Ключевые возможности Rust

Программирование *Параллельное программирование *Rust *
Recovery mode
Rust — новый язык программирования, разрабатываемый корпорацией Mozilla. Главная цель разработчиков — создание безопасного практичного языка для параллельных вычислений. Первая версия языка была написана Грэйдоном Хором в 2006 году, а в 2009 году к разработке подключилась Mozilla. С тех пор изменения претерпел и сам компилятор, изначально написанный на OCaml: он был успешно переписан на Rust с использованием LLVM в качестве back-end.

Основным продуктом, разрабатываемым на Rust, является новый веб-движок Servo, разработка которого также ведется Mozilla. В 2013 году к разработке Rust и Servo присоединилась корпорация Samsung Electronics, при активном участии которой код движка Servo был портирован на ARM архитектуру. Поддержка языка столь серьезными игроками IT индустрии не может не радовать и дает надежду на его дальнейшее активное развитие и совершенствование.

Язык Rust просто не может не понравится системным и сетевым разработчикам, тем, кому по работе приходится писать много кода, производительность которого критична, на C и C++, потому что:
  1. Rust ориентирован на разработку безопасных приложений. Сюда входит безопасная работа с памятью: отсутствие null-указателей, контроль за использованием не инициализированных и деинициализированных переменных; невозможность совместного использования разделяемых состояний несколькими задачами; статический анализ времени жизни указателей.
  2. Rust ориентирован на разработку параллельных приложений. В нем реализована поддержка легких (зеленых) потоков, асинхронного обмена сообщениями без копирования пересылаемых данных, возможность выбора размещения объектов на стеке, в локальной куче задачи или куче, разделяемой между задачами.
  3. Rust ориентирован на разработку эффективных по скорости и памяти приложений. Использование LLVM в качестве back-end позволяет производить компиляцию приложения в нативный код, а простой интерфейс взаимодействия с C кодом – легко использовать уже имеющиеся высокопроизводительные библиотеки.
  4. Rust ориентирован на разработку кросс-платформенных приложений. Компилятор официально поддерживается на платформах Windows, Linux и Mac OS X, при этом существуют порты на другие *NIX платформы, такие как FreeBSD. Также поддерживается и несколько архитектур процессоров: i386, x64 и ARM.
  5. Rust позволяет писать в разных стилях: объектно-ориентированном, функциональном, actor-based, императивном.
  6. Rust поддерживает уже существующие отладочные инструменты: GDB, Valgrind, Instruments.

Читать дальше →
Всего голосов 63: ↑59 и ↓4 +55
Просмотры 30K
Комментарии 56

Вышел Rust 0.9

Программирование *Параллельное программирование *Rust *

Mozilla выпустила новую версию компилятора Rust 0.9 и соответствующих инструментов.

Rust — это компилируемый и мультипарадигмальный язык для системного программирования, который позиционируется как альтернатива С/С++. Визуально он похож на C, но отличается в деталях синтаксиса и семантики. Идеально подходит для параллельных вычислений.

Разработчики говорят о существенном улучшении рантайма и подсистемы ввода-вывода. Так, в компиляторе появились статические ссылки и поддерживается оптимизация во время линковки (link-time). В языке уменьшено количество разных видов замыканий, чтобы упростить и сделать более логичным синтаксис.
Читать дальше →
Всего голосов 53: ↑45 и ↓8 +37
Просмотры 18K
Комментарии 61

Вышел Rust 0.10

Программирование *Системное программирование *Rust *
image

Rust — компилируемый мультипарадигмальный язык, позиционируется как альтернатива С/С++ с уклоном в параллельные вычисления, безопасность и удобство работы с памятью.

Что нового в Rust 0.10:
Читать дальше →
Всего голосов 48: ↑44 и ↓4 +40
Просмотры 20K
Комментарии 31

Зачем нам нужен Rust?

Программирование *C++ *Rust *
Rust — системный язык программирования, который исполняется чертовски быстро, предотвращает почти все падения, а также устраняет неопределённости совместного доступа к данным. Он разрабатывается Mozilla как инструмент для создания обозревателя нового поколения — Servo.

Пункты соприкосновения

Данное определение языка кажется сказкой, ибо доступные нам прежде инструменты всегда балансировали между скоростью и надёжностью.
А что же наяву?
Всего голосов 122: ↑86 и ↓36 +50
Просмотры 63K
Комментарии 187

Сравнение Rust и С++ на примерах

C++ *Rust *

Предисловие


Вот и обещанное сравнение языков. Примеры, конечно, искуственные, так что используйте своё воображение, чтобы оценить масштабы угрозы в реальном мире.

Все C++ программы были собраны при помощи gcc-4.7.2 в режиме c++11, используя online compiler. Программы на Rust были собраны последней версией Rust (nightly, 0.11-pre), используя rust playpen.

Я знаю, что C++14 (и далее) будет залатывать слабые места языка, а также добавлять новые возможности. Размышления на тему того, как обратная совместимость мешает C++ достичь звёзд (и мешает ли), выходят за рамки данной статьи, однако мне будет интересно почитать Ваше экспертное мнение в комментариях. Также приветствуется любая информация о D.

Погрузиться в код...
Всего голосов 72: ↑66 и ↓6 +60
Просмотры 35K
Комментарии 96

Сравнение D и C++ и Rust на примерах

C++ *D *Rust *
Данный пост основывается на Сравнение Rust и С++ на примерах и дополняет приведенные там примеры кодом на D с описанием различий.

Все примеры были собраны с помощью компилятора DMD v2.065 x86_64.
Читать дальше →
Всего голосов 63: ↑58 и ↓5 +53
Просмотры 35K
Комментарии 50