Новости IT, хостинга
  Android, Apple, Facebook, Google, Linux, Microsoft, Samsung, Twitter, Интернет, Россия, браузеры, обновление ПО, онлайн-сервисы, операционные системы, планшеты, рынок ИТ, сделки, смартфоны, социальные сети, уязвимости  
  новостей: 10376
  комментариев: 2655

Mozilla разрабатывает новый язык программирования Rust


Представители проекта Mozilla разрабатывают новый мультипарадигменный язык программирования Rust. Изначально, проект Rust был основан Грейдоном Хоаре (Graydon Hoare) в 2006 году, в 2009 году проектом заинтересовалась компания Mozilla Corporation и включилась в его разработку. Исходные тексты проекта распространяются в рамках лицензии BSD.

Список базовых возможностей:
Ориентация на безопасность:
Аккуратная работа с памятью - никаких нулевых и потерянных указателей. Автоматическое управление памятью;
Контроль изменчивости. Объекты неизменяемы (Immutable) по умолчанию;
Безопасность динамического выполнения: обработка сбоев, исключения, ведение лога, RAII / dtors;
Typestate: возможность определения сложных инвариантов, контролирующих структуры данных.
Ориентация на параллельность и эффективность кода:
Явный контроль памяти, контролирование схемы распределения памяти;
Крайне легкие задачи, формируемые в виде сопрограмм. Лёгкость в порождении тысяч и миллионов подпроцессов;
Итераторы стека (фактически лямбда-блоки без распределения кучи);
Статическая, нативная компиляция с созданием исполняемых файлов ELF, PE, Mach-o;
Прямой и простой интерфейс для кода на языке Си;
Ориентация на практическое применение:
Мультипарадигменный, исключительно функциональный, императивно-процедурный, объектно-ориентированный, поддерживающий параллельную actor-модель;
Функции первого класса с биндингами;
Нет номинальных типов или иерархии типов;
Мультиплатформенный, поддерживается Windows, Linux, MacOS X;
Хранение строк в UTF8, разнообразие низкоуровневых типов;
Работает с существующими нативными наборами инструментов: GDB, Valgrind, Shark и т.д.;
Практическая возможность нарушения правил: возможность игнорирования правил безопасности, если чётко указано, когда и как их нарушать.
Ответы разработчиков на вопросы "почему и зачем?" вкратце сводятся к следующему:
Существующие языки этого уровня абстракции и эффективности неудовлетворительны, в частности своим отношением к безопасности и плохой поддержкой параллелизма;
Целями проекта не являются: применение конкретных сверх-современных технологий; предпочтение выразительности, минимализму и элегантности перед другими целями; полный охват системного языка вплоть до степени "можно написать ядро"; охват полного набора возможностей C++ или любого другого языка - функциональность, охватывающая все наиболее употребительные возможности; 100%-ная статичность и безопасность; возможность работы на любой платформе.
Ни одна из частей ещё не готова к запуску в производство. На данный момент существует bootstrap-компилятор на Ocaml со множеством ошибок и отсутствующим функционалом; неполная, но рабочая версия runtime-библиотеки; некоторые тесты и документация; слабые зачатки стандартной библиотеки.
Участие компании Mozilla Corporation в проекте не предполагает внезапной переработки браузера, смысл её участия в экспериментировании и проверки некоторых возможностей. Каких-либо конкретных планов по реальному использованию на сегодня не существует, эти возможности будут зависеть от проявленного интереса сообщества.
Основная работа выполняется работниками Mozilla Corporation, основными правами владеет Mozilla Foundation, что не является необычным для разработки, спонсируемой крупными компаниями или организациями. Выбор Github, а не традиционных для Mozilla инструментов, таких, как Mercurial/Bugzilla/Tinderbox, продиктован особенностями самого Git, в частности быстрым прогрессом в развитии Git с того времени, как была выбрана Mercurial для основных нужд разработки в Mozilla, сниженные административные формальности для работы с кодом и т.п.

Источник: opennet.ru

  1 декабря 2010 427
Версия для печати

← предыдущая новость следующая новость →

Мой комментарий
Ваше имя*:
Email:
Комментарий*:
Зарегистрироваться автоматически: Вы будете зарегистрированы на сайте автоматически при добавлении комментария. Обязательно заполните поле Email для этого.
Сумма чисел 7 и 13*:            


Хостеры (2459)
HostDB (35)
Софт (2640)
Железо (993)
Интернет (1435)
Статистика и аналитика (3324)


Лучшие новости

Самые читаемые новости

Отправить сообщение администратору

Сумма чисел 26 и 8*:


Яндекс цитирования
сообщить о неточности