The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

22.01.2016 12:04  Релиз языка программирования Rust 1.6, развиваемого проектом Mozilla

Состоялся релиз языка программирования Rust 1.6, развиваемого проектом Mozilla, обеспечивающего автоматическое управление памятью и предоставляющего средства для высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime. Параллельно с Rust совместно с компанией Samsung развивается экспериментальный браузерный движок Servo, написанный на языке Rust и отличающийся поддержкой многопоточного рендеринга web-страниц и распараллеливанием операций с DOM (Document Object Model).

Новый выпуск примечателен переводом libcore в разряд стабильных. Стандартная библиотека функций Rust базируется на базовой библиотеке libcore, которая не зависит от платформ и самодостаточна. Поверх libcore построена расширенная библиотека libstd, через которую доступны функции работы с памятью, вводом/выводом и многопоточностью. В обособленном виде libcore может применяться в низкоуровневых компонентах операционных систем и во встраиваемых платформах. Стабилизация данной библиотеки даёт возможность приступить к созданию низкоуровневых приложений, не опасаясь нарушений совместимости с будущими выпусками Rust. Кроме libcore в разряд стабильных также переведено около 30 расширенных библиотечных функций и методов libstd, таких как функции семейства drain() для работы с коллекциями, From для преобразования типов и Vec::extend_from_slice().

Язык Rust развивается проектом Mozilla и сфокусирован на безопасной работе с памятью и обеспечении высокого параллелизма выполнения заданий. При этом Rust обходится без использования сборщика мусора или runtime, что делает возможным создания на Rust библиотек, которые могут выступать в роли прозрачной замены библиотекам для языка Си. Для распространения библиотек на языке Rust, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo, позволяющий получить нужные для программы библиотеки в один клик. Для размещения библиотек введён в строй репозиторий crates.io.

По структуре язык Rust напоминает C++, но существенно отличается в некоторых деталях реализации синтаксиса и семантики. Автоматическое управление памятью избавляет разработчика от манипулирования указателями и защищает от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Rust поддерживает смесь императивных процедурных и объектно-ориентированных методов с такими парадигмами, как функциональное программирование и модель акторов, а также обобщённое программирование и метапрограммирование, в статических и динамических стилях.

  1. Главная ссылка к новости (http://blog.rust-lang.org/2016...)
  2. OpenNews: Релиз языка программирования Rust 1.5, развиваемого проектом Mozilla
  3. OpenNews: На 2016 год запланировано задействование в Firefox кода на языке Rust и движка Servo
  4. OpenNews: Релиз языка программирования Rust 1.4, развиваемого проектом Mozilla
  5. OpenNews: Представлена операционная система Redox, написанная на языке Rust
  6. OpenNews: Увидел свет язык программирования Rust 1.0
Лицензия: CC-BY
Тип: Программы
Ключевые слова: rust
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, rshadow, 14:32, 22/01/2016 [ответить] [смотреть все]
  • –10 +/
    Мозилла в последнее время выкидывает все что не ФФ и не приносит бабло Кода моз... весь текст скрыт [показать]
     
     
  • 2.3, amonimous, 14:42, 22/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +12 +/
    Дык в будущем этот их ФФ и будет на расте
     
     
  • 3.17, Lester, 16:03, 22/01/2016 [^] [ответить] [смотреть все]  
  • +3 +/
    Возможно будет Разработчики уже не говорят о ближайшей замене gecko на servo, р... весь текст скрыт [показать]
     
  • 3.28, pkdr, 18:05, 22/01/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    Вряд ли, учитывая то, что сейчас делают мозилловцы, они проведут статистическое ... весь текст скрыт [показать]
     
  • 2.64, D246ner, 20:04, 23/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +3 +/
    Если не будет развивать его Mozilla, будут развивать его другие В Dropbox пишут... весь текст скрыт [показать] [показать ветку]
     
  • 1.2, Аноним, 14:34, 22/01/2016 [ответить] [смотреть все]  
  • –7 +/
    Некрасивый он и плохо читаемый. Наверно на него пересядут Си-шники.
     
     
  • 2.5, Roo2AT7d, 14:50, 22/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –3 +/
    Жрущим кактус не привыкать?
     
  • 2.9, Crazy Alex, 15:11, 22/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +6 +/
    Для сишника там слишком много условностей и заморочек.
     
  • 1.4, index.php, 14:47, 22/01/2016 [ответить] [смотреть все]  
  • –4 +/
    Когда же наконец запилят один самый мощный язык программирования в котором будет... весь текст скрыт [показать]
     
     
  • 2.6, Наркоман, 14:53, 22/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –9 +/
    Swift чем не подходит?
     
     
  • 3.8, index.php, 15:02, 22/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Нельзя делать сайты и клепать программы под Windows and Android или можно?
     
     
  • 4.43, броподрол, 22:57, 22/01/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Сайтики уже можно Windows and Android скоро будет, в баг треке уже баг есть жди... весь текст скрыт [показать]
     
  • 2.7, Аноним, 15:01, 22/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +6 +/
    Пиши на Лиспе, в нем один синтаксис.
     
     
  • 3.10, Crazy Alex, 15:12, 22/01/2016 [^] [ответить] [смотреть все]  
  • –2 +/
    Точнее, в нём вообще толком синтаксиса нет. Тем и плох.
     
     
  • 4.14, rob pike, 15:50, 22/01/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    Тем и хорош.
    Односторонние медали встречаются нечасто.
     
     
  • 5.20, Crazy Alex, 16:37, 22/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Ну да Но лисп для мейнстрима банально неудобен Впрочем, как любое универсально... весь текст скрыт [показать]
     
     
  • 6.26, rob pike, 17:50, 22/01/2016 [^] [ответить] [смотреть все]  
  • +4 +/
    И каждый из прочитавших этот комментарий под словом мейнстрим понял что-то сво... весь текст скрыт [показать]
     
     
  • 7.48, Crazy Alex, 02:06, 23/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Характеристика мейнстрима только одна - его МНОГО И это заведомо исключает любо... весь текст скрыт [показать]
     
     
  • 8.51, angra, 02:22, 23/01/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Ну а теперь задумайся, откуда появляются орды готовых специалистов и готовых ча... весь текст скрыт [показать]
     
     
  • 9.66, Crazy Alex, 04:55, 24/01/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Это как раз легко объяснить 1 на языке простое делается просто, а дальше - ка... весь текст скрыт [показать]
     
  • 8.53, rob pike, 02:31, 23/01/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    А этого МНОГО - его одним куском много, или оно из множества небольших и разных ... весь текст скрыт [показать]
     
     
  • 9.67, Crazy Alex, 05:07, 24/01/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    За цифирками - к TIOBE или на сайты вакансий, но как бы очевидно, что сейчас всё... весь текст скрыт [показать]
     
  • 4.15, freehck, 15:51, 22/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Зато на нём можно легко и непринуждённо быстренько зафигачить себе DSL специальн... весь текст скрыт [показать]
     
     
  • 5.18, Crazy Alex, 16:25, 22/01/2016 [^] [ответить] [смотреть все]  
  • –4 +/
    Можно Но этот DSL будет весьма слабо читаем А вот на любом современном интерпр... весь текст скрыт [показать]
     
     
  • 6.30, freehck, 19:00, 22/01/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    Это уже зависит от Вас, и только от Вас Нет Просто нет Без лисповых макросов ... весь текст скрыт [показать]
     
     
  • 7.40, QuAzI, 22:02, 22/01/2016 [^] [ответить] [смотреть все]  
  • +/
    А сопровождать этот код потом будет полтора магиканца на пенсии Где-то мы про т... весь текст скрыт [показать]
     
  • 7.49, Crazy Alex, 02:17, 23/01/2016 [^] [ответить] [смотреть все]  
  • –2 +/
    А дайте задачу - уверен, что найдётся пяток готовых решений для чего-то мейнстри... весь текст скрыт [показать]
     
     
  • 8.54, rob pike, 03:21, 23/01/2016 [^] [ответить] [смотреть все]  
  • +3 +/
    Вот вы сами построили strawmanа, и сами его успешно забороли с усердием, достойн... весь текст скрыт [показать]
     
     
  • 9.68, Crazy Alex, 05:22, 24/01/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Потому что мне тут в сотый раз начали рассказывать о том, как лисп хорош для быс... весь текст скрыт [показать]
     
     
  • 10.71, freehck, 15:15, 24/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Ну что ж, я могу Вам только посочувствовать, что Вам 100 раз объясняют столь про... весь текст скрыт [показать]
     
     
  • 11.72, Michael Shigorin, 21:20, 24/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Вообще-то такого не прочёл -- скорее неважно, потому что не требовалось требует... весь текст скрыт [показать]
     
  • 6.37, ., 21:49, 22/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Ну тЭорЭтически - вот их то лишперы и делают ... весь текст скрыт [показать]
     
  • 6.62, Онаний Онаниевич, 15:41, 23/01/2016 [^] [ответить] [смотреть все]  
  • –2 +/
    Это Вы про JavaScript, Python и PHP чтоли Более мусорных языков я в жизни не ви... весь текст скрыт [показать]
     
     
  • 7.69, Crazy Alex, 05:24, 24/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Из этих - питон как DSL выглядит очень чистенько - определешь нужную библиотеку ... весь текст скрыт [показать]
     
  • 3.11, Аноним, 15:13, 22/01/2016 [^] [ответить] [смотреть все]  
  • +/
    ... и всё. Только, #%$^, синтаксис, тебе этого должно хватить.
     
  • 2.12, Аноним, 15:14, 22/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +5 +/
    Да тебе нужен 1С! Там всё понятно.
     
     
  • 3.13, index.php, 15:17, 22/01/2016 [^] [ответить] [смотреть все]  
  • –2 +/
    МНЕ НУЖЕН УНИВЕРСАЛЬНЫЙ ЯЗЫК, а не 1C
     
     
  • 4.21, Аноним, 16:42, 22/01/2016 [^] [ответить] [смотреть все]  
  • +/
    это была ирония же
     
  • 4.23, омномномнимус, 17:16, 22/01/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    PL/1
     
     
  • 5.38, ., 21:50, 22/01/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    > PL/1

    Ха! Надо же чего вспомнили! :)

     
  • 4.44, svicer, 23:02, 22/01/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Мамина сиська, это универсальный язык для вас?
     
  • 2.16, жабабыдлокодер, 16:02, 22/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Brainfuck же!
     
  • 2.19, iLex, 16:29, 22/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Когда-то давно на роль такого языка претендовал C Всего каких-то 17 лет назад... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.22, Aleksey, 16:45, 22/01/2016 [^] [ответить] [смотреть все]  
  • +5 +/
    Это всё hype, его можно спокойно игнорировать, базовые знания по computer scienc... весь текст скрыт [показать]
     
     
  • 4.24, Andrey Mitrofanov, 17:30, 22/01/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Ога, небазовые вперемешку с не-знаниями переполняют аналы ... весь текст скрыт [показать]
     
  • 4.27, rob pike, 17:56, 22/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Начните с бенчмаркинга на Haswell классических структур данных и алгоритмов ... весь текст скрыт [показать]
     
     
  • 5.33, Michael Shigorin, 21:01, 22/01/2016 [^] [ответить] [смотреть все]  
  • +/
    А что там ... весь текст скрыт [показать]
     
     
  • 6.47, rob pike, 01:02, 23/01/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Ну, например, можно обнаружить как хитрые списки, над которыми бились лучшие умы... весь текст скрыт [показать]
     
     
  • 7.50, Crazy Alex, 02:22, 23/01/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    А детальнее где глянуть Что-то на практике я об такое не бился, ни на C, ни на ... весь текст скрыт [показать]
     
     
  • 8.55, rob pike, 04:42, 23/01/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    А начните вот с Мейерса http www aristeia com TalkNotes ACCU2011_CPUCaches pdf... весь текст скрыт [показать]
     
  • 7.58, Michael Shigorin, 13:43, 23/01/2016 [^] [ответить] [смотреть все]  
  • +/
    О как, не слышал ... весь текст скрыт [показать]
     
  • 4.46, й, 00:07, 23/01/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    да-да, особенно представления о многопоточных программах.
     
  • 3.25, Аноним, 17:31, 22/01/2016 [^] [ответить] [смотреть все]  
  • +3 +/
    Сильно подозреваю, что 17 лет назад или ваши задачи были несколько специфичными ... весь текст скрыт [показать]
     
     
  • 4.52, Crazy Alex, 02:29, 23/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Насчёт c exceptions - он, как обычно, ничего не уточнил, так что не понять, на... весь текст скрыт [показать]
     
     
  • 5.61, rob pike, 15:18, 23/01/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Если бы Линус делал как положено , у нас бы сейчас вместо ядра были EJB с RMI-I... весь текст скрыт [показать]
     
  • 3.32, Michael Shigorin, 21:00, 22/01/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    Чё-то не помню я тогда нашествия плюсатых cgi-шек спрашивали ведь и за сайты ... весь текст скрыт [показать]
     
     
  • 4.45, rob pike, 23:30, 22/01/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    mod_perl вовремя появился Сишные модули к апачу писали иногда, если надо было с... весь текст скрыт [показать]
     
  • 2.70, ПолковникВасечкин, 10:55, 24/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Давно запилили
    https://ru.m.wikipedia.org/wiki/ДРАКОН
     
  • 1.29, Аноним, 18:33, 22/01/2016 [ответить] [смотреть все]  
  • –1 +/
    Согласно тому что они обещают нет сборщика мусора и нет ручного освобождения пам... весь текст скрыт [показать]
     
     
  • 2.31, Аноним, 19:45, 22/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +4 +/
    Первый курс?
     
     
  • 3.34, Аноним, 21:10, 22/01/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Чего первый курс Вот почему когда задаёшь вопрос, то ответить не могут, упрекну... весь текст скрыт [показать]
     
     
  • 4.39, Аноним Аналитег, 21:54, 22/01/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Что ты там написал в первом сообщении вообще не понятно В основной массе языков... весь текст скрыт [показать]
     
  • 2.35, Анонимус2, 21:40, 22/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Как раз сборщик мусора решает эту задачу почти как вы описали, т е неэффективно... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.36, Аноним, 21:47, 22/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Есть умный указатель У него есть указатель и счётчик Как только мы делаем a ... весь текст скрыт [показать]
     
     
  • 4.41, Аноним Аналитег, 22:25, 22/01/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    > По сути это и есть сборщик

    Если бы это был сборщик мусора... подсчет ссылок использовался для управления памятью в больших приложениях с незапамятных времен. Просто когда у тебя один объект используется в трех разных местах, то без подсчета тяжело понять когда этот объект можно удалять. Но есть там проблемы с циклическими ссылками как я описал выше.
    У GC проблема с вынужденными stop-the-world паузами потому никакого real-time на java не пишут и расход памяти. Зато jre решена проблема с фрагментацией памяти и создание нового объекта обходится вроде бы дешевле, за счет того, что памяти у системы ненужно запрашивать, т.к. CG уже запросил с запасом. Хотя и для "С" это не проблема, можно использовать для менеджмента памяти костыли от апача с бассейном и ведрами :)

     
     
  • 5.73, freehck, 21:22, 26/01/2016 [^] [ответить] [смотреть все]  
  • +/
    А как, кстати, производится управление счётчиком "умного указателя" при многопоточной работе? Лочится на время присваивания?
     
     
  • 6.74, Аноним Аналитег, 23:34, 27/01/2016 [^] [ответить] [смотреть все]  
  • +/
    У меня нет достаточной компетенции для ответа на вопрос, я джава кодер, максимум доводилось заниматься портированием сишных приложений на джаву.
     
  • 2.42, Аноним, 22:40, 22/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    И в чем, интересно, здесь будет профит от ручного освобождения памяти А так ht... весь текст скрыт [показать] [показать ветку]
     
  • 2.56, angra, 06:20, 23/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Массивы(есть еще tuple и vec) в rust иммутабельны. Так что такая "задача" там просто не возникнет. Также там есть несколько разных типов указателей, есть понятия ownership и lifetime, так что методы работы с ними весьма отличаются от привычных по С.
     
  • 2.57, Аноним, 07:52, 23/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    в описанной ситуации rust позволит использовать только указатели с подсчетом ссы... весь текст скрыт [показать] [показать ветку]
     
  • 1.59, 321, 13:47, 23/01/2016 [ответить] [смотреть все]  
  • –1 +/
    >Rust библиотек, которые могут выступать в роли
    >прозрачной замены библиотекам для языка Си.

    ну, вот и хорошо. перепишите Линукс (ядро) уже на нём.

     
     
  • 2.63, free_net_user, 15:52, 23/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Тут правда не линукс:
    https://github.com/thepowersgang/rust-barebones-kernel
    https://github.com/redox-os/redox
     
  • 1.60, free_net_user, 15:12, 23/01/2016 [ответить] [смотреть все]  
  • +1 +/
    Рекомендую прочитать статью сотрудника Microsoft который вместе с Anders Hejlsberg работал над TypeScript:

    http://www.jonathanturner.org/2016/01/rust-and-blub-paradox.html

    Особо интересно узнать мнение бывалых C++ ков.

     
     
  • 2.65, Аноним Аналитег, 22:30, 23/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    +1 Отличная статья. Вопрос можно обобщить s/мнение бывалых C++ ков/мнение бывалых Blub программеров/g :)
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor TopList