Pull to refresh
  • by relevance
  • by date
  • by rating

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

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

Читать дальше →
Total votes 27: ↑25 and ↓2 +23
Views 7K
Comments 14

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

C++ *C *Rust *Development for Windows *IT-companies


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

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

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

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

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

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

JavaScript *Programming *C# *Rust *

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

Читать далее
Total votes 43: ↑43 and ↓0 +43
Views 21K
Comments 43

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

API *C *C# *Rust *Development for Windows *

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

Читать далее
Total votes 28: ↑23 and ↓5 +18
Views 8K
Comments 18

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

Programming *Rust *

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

Читать далее
Total votes 21: ↑21 and ↓0 +21
Views 8.8K
Comments 12

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

Configuring Linux *Programming *C *Rust *Development for Linux *

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

Читать далее
Total votes 23: ↑19 and ↓4 +15
Views 26K
Comments 29

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

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

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

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

Programming *Perfect code *C *Rust *Browsers

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

Читать далее
Total votes 14: ↑14 and ↓0 +14
Views 8.2K
Comments 9

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

Configuring Linux *C *Rust *Development for Linux *IT-companies

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

Читать далее
Total votes 14: ↑13 and ↓1 +12
Views 9.3K
Comments 45

Функции AWS Lambda быстрее всего выполняются на Go и Rust

ITSumma corporate blog Cloud computing *Amazon Web Services *Web services testing *Serverless *
Эксперт по Java и любитель AWS Александр Филичкин опубликовал интересные бенчмарки функций AWS Lambda на всех языках программирования, которые официально поддерживаются (плюс ещё два).

AWS Lambda — услуга AWS, которая обеспечивает событийно-ориентированные вычисления. Она активируется в ответ на заданное событие — и автоматически привлекает все необходимые ресурсы для обработки запроса. Другими словами, она позволяет запускать код без выделения серверов и управления ими (бессерверная модель). Вы платите только за фактическое время вычисления.

AWS Lambda официально поддерживает NodeJS, Python, Go, Ruby, .Net и Java, но косвенно поддерживаются и другие языки. Александр добавил к тестам Rust и GraalVM.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Views 1.1K
Comments 0

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

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

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

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

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

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

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

Читать дальше →
Total votes 74: ↑73 and ↓1 +72
Views 85K
Comments 72

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

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

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

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

Programming *Concurrent computing *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.

Читать дальше →
Total votes 63: ↑59 and ↓4 +55
Views 30K
Comments 56

Вышел Rust 0.9

Programming *Concurrent computing *Rust *

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

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

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

Вышел Rust 0.10

Programming *System Programming *Rust *
image

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

Что нового в Rust 0.10:
Читать дальше →
Total votes 48: ↑44 and ↓4 +40
Views 20K
Comments 31

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

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

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

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