Возврат к списку

Проект Verona: Microsoft перепишет часть Windows на новом языке

05.12.2019     

Microsoft запустила экспериментальный проект по разработке собственного языка программирования Verona, основанного на Rust. По данным CNews, Microsoft планирует переписать на новом языке некоторые низкоуровневые компоненты ОС Windows 10, чтобы сделать систему надежнее.

Зачем это нужно

Microsoft хочет создать новый язык программирования для разработки низкоуровневых компонентов. Сейчас они написаны в основном на С и С++. Основная цель – сделать компоненты устойчивыми ко взлому.

Экспериментировать будут с частью ОС, правда, какие именно компоненты затронут, неизвестно. Но, по словам инсайдеров, впоследствии все компоненты, которые атакуют особенно часто, могут переписать с нуля на новом языке программирования. Это сделает Windows гораздо безопаснее.

Чем плохи С и С++

С и С++ универсальны. Они сочетают возможность высокоуровневой разработки и функции непосредственной работы с фундаментальными компонентами (памятью, процессами, потоками, адресами и т.д.).

Но в то же время у С и С++ есть множество потенциальных и реальных проблем. Очень многое здесь отдается на откуп программисту. Особенно часто сложности возникают при работе с оперативной памятью.

 

Около 70% уязвимостей связаны в ошибками контроля памяти

 

Специалист Microsoft Мэттью Миллер заявил, что 70% уязвимостей в ПО компании, найденных за последние 12 лет, связаны с ошибками контроля памяти. Часто программы падают, обращаясь к адресу памяти после его освобождения. Нередки и выходы за границы буфера, дедлоки (взаимная блокировка ресурсов параллельными потоками), утечки памяти, которую выделили динамически, но забыли освободить.

В С и С++ нет многих встроенных инструментов, которые появились в других языках – например, проверка выхода за границы массива. Такие вещи реализовали в стандартных и пользовательских библиотеках, но с ними приходится жертвовать производительностью. Сборщика мусора (механизма, который удаляет ненужные программе объекты) в С и С++ тоже нет.

Особенности нового языка

Сам язык с нуля Microsoft разрабатывать не планирует. За основу взяли Rust – достаточно молодой проект Mozilla, создателя браузера Firefox.

Главное отличие нового языка от Rust – в модели владения. В Rust используется модель на базе единичных объектов, в новом языке будут оперировать группами объектов.

Принцип владения в новом языке также предполагает автоматическое управление памятью. Закрывая возможность манипулировать памятью вручную, создатели языка избавляют разработчиков от снежного кома потенциальных проблем.

В оригинальном Rust нет сборщика мусора – это сделано для повышения производительности, к тому же за счет модели владения объектами сборщик попросту не нужен. В новом языке сборщик мусора могут реализовать, но с минимальным ущербом для производительности.

Исходные коды наработок Microsoft планирует открыть для изучения и распространять под свободной лицензией Apache 2.0. На Github уже появился репозиторий Verona, но он пока пуст.

Эксперименты с Rust

Microsoft заинтересовалась Rust несколько месяцев назад. Тогда инсайдеры заявили, что компания хочет использовать язык, чтобы переписать несколько своих продуктов.

Разработчик системы аппаратной виртуализации Hyper-V Адам Берч в ноябре заявил в корпоративном блоге, что переписывает на Rust с нуля некий низкоуровневый компонент Windows. На тот момент был не завершен, но Берч положительно оценил опыт работы в нем.

Разработчик отметил, что в Rust, конечно, нет некоторых возможностей, к которым он привык в С. Он предположил, что компания сможет их добавить. Но в целом перевести кодовую базу компонентов системы на Rust и создать решения с «чистыми интерфейсами» не составит труда.

Применение Rust

Rust призван закрыть критические уязвимости в Firefox. Код браузера включал более 4 млн строк на С++, и именно они в основном провоцировали утечки данных и падения.

Rust изначально создавался с прицелом на параллельное выполнение задач и безопасность. Mozilla в рамках проекта Quantum полностью переработала архитектуру Firefox и перевела многие компоненты браузера на Rust. Кроме того, язык использовали для создания движка HTML-рендеринга Servo для Firefox.

Вскоре проектом заинтересовались и другие гиганты. Известно, что Rust используют Google, Facebook, Amazon, Dropbox, Fastly, Baidu.

Ведущий инженер Intel Джош Триплетт заявил: его компания заинтересована в развитии Rust, чтобы он мог конкурировать с С. А разработчик ядра Linux Грег Кроа-Хартман пообещал не препятствовать включению в ядро системы фреймворков для создания драйверов на Rust.


Автор:
Ксения Шестакова Обозреватель


Комментарии
Избранное Подписка Сортировка: Древо
1. protexprotex 123 05.12.19 17:06 Сейчас в теме
2. DoctorRoza 05.12.19 17:13 Сейчас в теме
3. frkbvfnjh 568 06.12.19 07:21 Сейчас в теме
(1) 1 Сраст
user1314022; 1serger; dimisa; narutouzumaki_13; +4 Ответить
4. protexprotex 123 06.12.19 07:34 Сейчас в теме
(3) Как то грубо будет звучать. Или как назовешь так и поплывет?
5. Darklight 21 06.12.19 12:00 Сейчас в теме
6. protexprotex 123 06.12.19 18:23 Сейчас в теме
Оставьте свое сообщение

См. также

На рынок вышел смартфон без операционной системы

Новость Linux Гаджеты

Компания Pine Microsystems представила новый смартфон PinePhone Braveheart Edition. Устройство продается без операционной системы – установить один из дистрибутовов Linux придется самостоятельно.

сегодня в 14:56    540    user1015646    14       

PlayStation 5: новый логотип – новые функции

Новость Видеоигры

На пресс-конференции Sony, в рамках выставки CES 2020, компания представила логотип новой игровой консоли PlayStation 5, выпуск которой запланирован на 2020 год.

24.01.2020    1067    SKravchenko    3       

Рейтинг языков программирования TIOBE назвал самый популярный язык 2019 года

Новость Рейтинг Языки программирования

Первым, по версии составителей рейтинга TIOBE, ожидаемо стала Java, а второе место неожиданно досталось C. Серебряный призер рейтинга обогнал Python – лидера 2007, 2010 и 2018 годов. 

21.01.2020    2023    user1015646    12       

Доступно для всех: вышло приложение GitHub для Android

Новость GitHub Мобильные приложения

Крупнейший на планете хостинг репозиториев GitHub представил официальное приложение для Android. Ссылки на загрузку бета-версии получили пользователи, которые заранее оставили заявки на GitHub. 

21.01.2020    1006    user1015646    3       

Большие перемены: Google откажется от приложений для Chrome и сторонних cookies

Новость Google Интернет

Google рассказал о двух крупных изменениях в своей политике: компания перестанет поддерживать сторонние cookies в браузере Chrome и откажется от приложений для него. 

20.01.2020    1635    user1015646    1       

В России появится «медицинский» ИИ на отечественных нейропроцессорах 

Новость Искусственный интеллект Медицина Нейросети

Российские разработчики создадут программно-аппаратную базу для системы искусственного интеллекта, которую планируется использовать в медицине. Для ее создания задействуют отечественные нейропроцессоры.

17.01.2020    1400    user1015646    3       

Amazon представила библиотеку для создания приложений с применением ИИ

Новость Amazon Искусственный интеллект

Чтобы создать приложение с помощью ИИ, разработчику достаточно написать всего три строки кода. 

16.01.2020    1505    AnastasiaKl    7       

Microsoft предложила купить новый ПК вместо обновления старого до Windows 10

Новость Microsoft

Поддержка Windows 7 прекращается 14 января. Microsoft напоминает пользователям, что их устройство может не поддерживать «десятку», и рекомендует вместо обновления купить новый компьютер. 

14.01.2020    1846    VKuser24342747    19       

Российский программист создал сервис, который может продолжить любую историю за рассказчика

Новость Искусственный интеллект Маск Нейросети

Разработчик Михаил Гранкин создал сервис «Порфирьевич», который умеет дописывать тексты на русском языке. Гранкин взял за основу нейросеть GPT-2 компании OpenAI. Один из основателей компании – Илон Маск, создатель Tesla и SpaceX. 

09.01.2020    9056    user1015646    15       

Apple отключила чип для Bluetooth в российских iPhone 11 из-за запрета Роскомнадзора

Новость Apple Роскомнадзор

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

24.12.2019    2520    VKuser24342747    38       

Система госзакупок засбоила после перехода на свободное ПО

Новость Госзакупки Мобильные приложения Тендер

Модуль в системе госзакупок, который отвечает за взаимодействие с электронными площадками и внешними решениями, решили перевести на ПО с открытым исходным кодом. В результате перехода система больше суток работала со сбоями.

23.12.2019    1599    user1015646    6       

Путин подписал указ о переводе российских больниц на электронный документооборот

Новость Здравоохранение, медицина, стоматология Путин Цифровая экономика

Президент России Владимир Путин утвердил несколько поручений, направленных на цифровизацию здравоохранения. Среди них – внедрение электронного документооборота в больницах страны. 

19.12.2019    2360    user1015646    8       

Экспертный совет: «Яндекс» значительно обновил поисковую систему

Новость Интернет Яндекс

«Яндекс» представил обновление «Вега» для своей системы поиска. В сервисе появилось более 1500 нововведений и улучшений. Главная особенность – функция экспертного поиска. 

19.12.2019    1778    VKuser24342747    4       

ИИ от Amazon освободит врачей от бумажной работы и поможет пациенту прочесть рецепты

Новость Amazon Искусственный интеллект Нейросети

Разработчики представили нейросеть Transcribe Medical. Она слушает беседу врача и пациента и помогает вести медицинские записи.

19.12.2019    1521    user1015646    1       

Russian AI Cup 2019: стартовал чемпионат Mail.Ru Group по программированию искусственного интеллекта

Новость Искусственный интеллект Нейросети

Участвовать в Russian AI Cup 2019 могли все желающие – от студентов профильных вузов и фанатов передовых технологий до профессиональных разработчиков.

17.12.2019    2117    user1015646    14       

Вот так сюрприз: в самом копируемом фрагменте Java-кода нашли ошибку

Новость Языки программирования

Сайт StackOverflow – популярная система вопросов и ответов о программировании. Но не все советы коллег одинаково полезны: в самом цитируемом куске кода на Java, представленном на StackOverflow, обнаружили серьезный баг.

16.12.2019    3022    user1015646    3       

Команда из России превратила Python-хакатон в свой мастер-класс

Новость Языки программирования

В Бахрейне прошел ИТ-марафон GeoHack-2019. Команды должны были создать нейронные сети для обработки данных с месторождений нефти.

13.12.2019    2092    user1015646    3       

Google начал учитывать контекст слов при русскоязычном поиске

Новость Google Интернет Нейросети

Компания Google обновила алгоритмы для поиска по русскоязычным сайтам. Это крупнейший апдейт системы за последние пять лет. Его главная цель – улучшить результаты выдачи. 

13.12.2019    1540    VKuser24342747    3       

Аэропорт «Внуково» отказался от электронных посадочных талонов из-за законодательства

Новость Законодательство Цифровая экономика

«Внуково» перестал пускать в самолеты пассажиров с электронными посадочными талонами. Остальные российские аэропорты по-прежнему используют цифровые билеты. 

11.12.2019    2289    VKuser24342747    5       

У кроссплатформенной библиотеки разработки Qt появился свой магазин модулей и дополнений

Новость Языки программирования

Qt Company запустила официальный магазин дополнений и модулей для Qt: популярный фреймворк используют для создания ПО на С++, но существуют привязки решения к другим языкам.

11.12.2019    2131    user1015646    5       

Apple изменит политику презентации моделей

Новость Apple Гаджеты

С момента выпуска первого смартфона – в 2007 году – Apple презентовала свои новинки раз в год. В агентстве JP Morgan предположили, что к 2021 году стратегия изменится: компания начнет презентовать новинки дважды в год.

10.12.2019    1549    Bukaska    2       

Nvidia не будет поддерживать macOS в следующем обновлении CUDA

Новость Apple MacOS Видеоигры

Новую версию платформы параллельных вычислений CUDA нельзя будет установить на macOS. Nvidia приняла решение, которое в перспективе может повлиять на качество работы программ с тяжелой графикой и сложными вычислениями на компьютерах Apple. 

09.12.2019    1683    user1015646    2       

Свой Space, свои правила: JetBrains представил новый сервис для командной работы

Новость git Управление проектами

Компания JetBrains анонсировала новый сервис для организации командной работы. Продукт от разработчика с российскими корнями получил название Space.

09.12.2019    2205    user1015646    13       

Huawei Mate 30 стал первым телефоном компании без деталей из США

Новость Android Гаджеты

Компания Huawei выпустила первый смартфон, собранный без американских комплектующих. Тем не менее, компания все еще продолжает бороться против санкций США. 

09.12.2019    1859    VKuser24342747    1       

Инфостарт и electroNeek запускают программу роботизации процессов для малых и средних предприятий

Новость Автоматизация Инфостарт

Инфостарт заключил партнерский договор с компанией electroNeek – разработчиком  программного обеспечения для автоматизации повторяющихся бизнес-задач. Наша цель – сделать роботизированную автоматизацию процессов (RPA) доступной. 

06.12.2019    2738    user997184    7