The OpenNET Project / Index page

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

Третий выпуск языка программирования Rust, развиваемого проектом Mozilla

13.07.2012 23:25

Представлен релиз экспериментального языка программирования Rust 0.3, развиваемого проектом Mozilla. Rust является языком со строгой типизацией, сфокусированным на безопасной работе с памятью и обеспечении высокого параллелизма выполнения заданий (возможность порождать тысячи и даже миллионы подпроцессов). Исходные тексты проекта распространяются под лицензией MIT. Компилятор поддерживает сборку для платформ Linux (x86 и x86_64), FreeBSD (x86_64), Mac OS X (x86 и x86_64) и Windows (x86), включая возможность кросс-компиляции и сборки сразу для нескольких целевых платформ. Параллельно с Rust развивается экспериментальный браузерный движок Servo, написанный на языке Rust и отличающийся поддержкой многопоточного рендеринга web-страниц и распараллеливанием операций с DOM (Document Object Model).

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

С момента прошлого выпуска внесено около 1900 изменений. В язык добавлена серия улучшений, направленных на упрощение процесса кодирования, таких как более компактный синтаксис замыканий, контроль вывода предупреждений на уровне отдельных элементов и поддержка выражения 'do' (вместо do-while). Проведена чистка семантики языка, выполнена реорганизация компилятора, расширен спектр библиотечных функций, добавлены новые экспериментальные возможности, такие как поддержка деструкторов и iface для классов, оптимизированный для совместного доступа к памяти тип 'const'.

Базовые возможности языка:

  • Ориентация на безопасность:
    • Аккуратная работа с памятью - никаких нулевых и потерянных указателей. Автоматическое управление памятью;
    • Контроль изменчивости. Объекты неизменяемы (Immutable) по умолчанию;
    • Безопасность динамического выполнения: обработка сбоев, исключения, ведение лога, RAII / dtors;
    • Typestate: возможность определения сложных инвариантов, контролирующих структуры данных.
  • Ориентация на параллельность и эффективность кода:
    • Явный контроль памяти, контролирование схемы распределения памяти;
    • Крайне легкие задачи, формируемые в виде сопрограмм. Лёгкость в порождении тысяч и миллионов подпроцессов;
    • Итераторы стека (фактически лямбда-блоки без распределения кучи);
    • Статическая, нативная компиляция с созданием исполняемых файлов ELF, PE, Mach-o;
    • Прямой и простой интерфейс для кода на языке Си;
  • Ориентация на практическое применение:
    • Мультипарадигменный, функциональный, императивно-процедурный, объектно-ориентированный, поддерживающий параллельную actor-модель;
    • Функции первого класса с биндингами;
    • Нет номинальных типов или иерархии типов;
    • Мультиплатформенный, поддерживается Windows, Linux, Mac OS X, *BSD;
    • Хранение строк в UTF8, разнообразие низкоуровневых типов;
    • Работает с существующими нативными наборами инструментов: GDB, Valgrind, Shark и т.д.;
    • Практическая возможность нарушения правил: возможность игнорирования правил безопасности, если чётко указано, когда и как их нарушать.



  1. Главная ссылка к новости (https://mail.mozilla.org/piper...)
  2. OpenNews: Второй выпуск языка программирования Rust, развиваемого проектом Mozilla
  3. OpenNews: Проект Mozilla представил релиз компилятора для языка программирования Rust
  4. OpenNews: Mozilla разрабатывает новый язык программирования Rust
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/34325-rust
Ключевые слова: rust, lang, mozilla
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (78) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 23:43, 13/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Вот так мозилла собирается победить хром?
     
     
  • 2.2, Аноным (ok), 00:04, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Для этого нужно пиарить изо всех щелей, а не какие-то там языки изобретать, хомякам всё равно ведь.
     

  • 1.3, Aleks Revo (ok), 00:07, 14/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Мозилла готовится к новой революции в собственной платформе.
    Что ж, будем надеяться, что язык даст те преимущества, которых не хватает.
     
     
  • 2.13, all_glory_to_the_hypnotoad (ok), 01:16, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    ни к чему они не готовятся, активно занимаются симуляцией инновационных разработок. Сколково с наночубайсом нервно курят в сторонке
     
     
  • 3.29, Куяврик (?), 09:03, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    на чём основано ваше мнение?
     
     
  • 4.57, Пингвино (ok), 15:26, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Карманный аналитик же
     
     
  • 5.71, ТОЛСТАЯ СВИНКА (?), 17:48, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Карманный аналитик же

    Карманов - аналитик же  :))

     

  • 1.4, ВовкаОсиист (ok), 00:10, 14/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    чем-то напоминает язык Go
     
     
  • 2.8, Аноним (-), 00:43, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    У них, действительно, много общего, но области применения разные. Rust нацелен на разработку высокопроизводительных клиентских приложений, на вроде браузеров, Go для этих целей вряд ли применим.
     
     
  • 3.40, Crazy Alex (ok), 10:17, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У них общего примерно как у котёнка со львом. Go - примитивнейший язык, а здесь - хорошая, мощная мультипарадигменная махина. Вот с D сравнимо.
     
     
  • 4.126, Ы (?), 17:51, 16/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>хорошая, мощная мультипарадигменная махина.

    От того и не взлетит :) Я сказал!

     

  • 1.5, Аноним (-), 00:15, 14/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Конкурент Erlang'a?
     
     
  • 2.6, Вернат (?), 00:22, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    если все так как пиарят то он порвет erlang по крайней мере по скорости выполнения
     

  • 1.7, Аноним (-), 00:34, 14/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    С интересом наблюдаю за этим проектом. Если всё получится, наконец-то появится замена C++ с человеческим лицом. Очень привлекает сочетание высокого уровня кода и производительности.
     
     
  • 2.21, anonymous (??), 06:37, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    D
     
     
  • 3.22, Crazy Alex (ok), 07:11, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, и он уже production-ready
     
  • 2.63, Аноним (-), 16:07, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Если всё получится, наконец-то появится замена C++ с человеческим лицом.

    Ну уж чего-чего, а замен C++ к счастью на сегодняшний день достаточно.

     

  • 1.9, СуперАноним (?), 00:44, 14/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    >Статическая, нативная компиляция с созданием исполняемых файлов ELF, PE, Mach-o

    Ну хорошо, что хоть без байткодов и виртуальных машин обошлись.

     
     
  • 2.64, Аноним (-), 16:12, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ну хорошо, что хоть без байткодов и виртуальных машин обошлись.

    То есть вы так уверены, что там нет виртуальной машины?
    При наличии хотя бы автоматической работы с памятью, не говоря про все остальное.

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

     
     
  • 3.72, ТОЛСТАЯ СВИНКА (?), 17:58, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Это вы, похоже, далеки от нашей галактики. Быдлокодить всякую веб- и гуй-шнягу, действительно, можно на чем угодно, лишь бы фантазия позволяла. А как вы будете быдлокодить на ВМ-языке, например, реалтаймовый эффект-процессор для звукового потока? У нас не у всех в туалетах кластеры зашкерены.
    И, кстати, автоматическое управление памятью не подразумевает наличие ВМ. В С++ используются "вумные" указатели и подсчет ссылок.
    Я совершенно не против ВМ-языков, они действительно удобны, но область применения ограничена.
     
     
  • 4.78, Аноним (-), 18:30, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    От вашей галактики - наверное да И очень этому рад Уж себя-то самого вы наверн... большой текст свёрнут, показать
     
  • 4.88, arisu (ok), 20:26, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > А как вы будете быдлокодить на ВМ-языке, например, реалтаймовый эффект-процессор для звукового
    > потока?

    для начала — не стану быдлокодить, а буду программировать. обычно это решает большинство проблем автоматически. это уже не говоря о том, что в некоторых случаях хороший JIT может обогнать AOT-компиляторы.

     
  • 4.100, Аноним (-), 21:09, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > И, кстати, автоматическое управление памятью не подразумевает наличие ВМ. В С++ используются "вумные" указатели и подсчет ссылок.

    А вы не в курсе случайно, что в языках, изначально не предназначенных для автоматического управления памятью, умные указатели без специальных плясок с бубном работают крайне неэффективно. А при попытках их оптимизации со всеми остальными подсистемами получается ни что иное, как обратно целая ВМ. Так что проще бывает сразу сделать ВМ, либо еще проще - взять готовую.

    Быдлокодеры такие быдлокодеры. Всех вокруг считают быдлокодерами, но только не себя. И думают, что прочитав пару статей в Википедии, уже все знают о программировании.

     
     
  • 5.122, kurokaze (ok), 19:42, 15/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Последний абзац к тебе тоже непосредственно относится, такие дела
     
     
  • 6.123, Аноним (-), 19:56, 15/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Последний абзац к тебе тоже непосредственно относится, такие дела

    Может относится, а может и не относится. По крайней мере не я первый начал.

     
  • 4.121, kurokaze (ok), 19:41, 15/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Быдлокодить всякую веб- и гуй-шнягу, действительно, можно на чем угодно

    Ага, а потом поучаются монстры вроде Vuze

     

  • 1.10, Аноним (10), 01:02, 14/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    на громоптица у них нет времени, а на всякую ерунду - полно.
     
     
  • 2.14, paulus (ok), 01:32, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Люто плюсую! На птицу забили, в лисе с 13 регресс... Зато пилят браузняОС и языки всем показывают новые... Что они там курят в мозилле?
     
     
  • 3.18, user (??), 02:30, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    $100 купюры, думаю. Rust может принести денег, почтовик никак. На действия корпораций нужно смотреть с точки зрения денег и только денег. Помню было признание что они не осиливают поддерживать код на с++, не смогли они и сделать параллельность. И теперь у них единственный вариант это переписать всё на более высокоуровневый язык.
    Почему пришлось писать rust надеюсь понятно?
     
     
  • 4.48, Аноним (-), 12:55, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    как это ни странно, но на таком языке денег не заработаешь. Требуется порялка десятка лет чтобы новый ЯП хоть как-то вошёл в мейнтсрим и на нём можно было делаьть $. Мозила столько просто не проживёт, да и разработчики там упоротые
     
     
  • 5.59, user (??), 15:37, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Они уже переписывают рендер движок на Rust. Кто-то действительно верит, что мозила сможет нанять столько же высококлассных разработчиков на плюсах, как applle, google или microsoft? А rust позволяет сэкономить на программистов, спасая от ошибок работы с памятью и ошибок распараллеливания. Уверен что уже меньше чем через год каждый сможет поставить экспериментальную сборку фаерфокса с серво.
    Так что упорот здесь ты.
     
     
  • 6.86, arisu (ok), 20:20, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > А rust позволяет сэкономить на программистов

    ты уверен? а почитай-ка спеки ещё раз. а потом ещё раз. если ты всё ещё уверен, что писать *хороший* код на rust проще, чем на c++, то я даже не знаю, как дальше беседовать.

    но в одном ты таки прав: *хороших* программистов при использовании rust надо меньше, чем при использовании c++, код они будут писать быстрее и отлаживать его будет проще.

    а вся путаница потому, что ты неточно выразился.

     
     
  • 7.99, user (??), 20:47, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ты сам то понял что написал?
     
  • 5.62, тоже Аноним (ok), 16:02, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    На языках не зарабатывают деньги, а экономят. Можете считать, что Мозилла просто сделала себе библиотеку работы с памятью и распараллеливанием. Тем самым снижая затраты на разработку фич и устранение багов.
     
     
  • 6.67, Аноним (-), 16:46, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > На языках не зарабатывают деньги, а экономят. Можете считать, что Мозилла просто сделала себе библиотеку работы с памятью и распараллеливанием. Тем самым снижая затраты на разработку фич и устранение багов.

    Во многом согласен. Но правильнее было бы все-таки сказать - и зарабатывают, и экономят.

     
     
  • 7.69, Аноним (-), 17:03, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> На языках не зарабатывают деньги, а экономят. Можете считать, что Мозилла просто сделала себе библиотеку работы с памятью и распараллеливанием. Тем самым снижая затраты на разработку фич и устранение багов.
    > Во многом согласен. Но правильнее было бы все-таки сказать - и зарабатывают,
    > и экономят.

    У бизнеса, тащемта, процесс нумеро уно - как раз-таки зарабатывание. Экономия - это не бизнес-процесс вообще, смекаешь?

     
     
  • 8.76, businessman (?), 18:07, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по вашему стилю изъясняться, вы в бизнесе, кроме растопыривания пальцев, ма... текст свёрнут, показать
     
  • 8.112, sasha (??), 02:15, 15/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Один очень богатый человек сказал - Экономия миллиона - это заработок миллиона ... текст свёрнут, показать
     
     
  • 9.115, fa (??), 14:19, 15/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Этот умный человек, наверное, имел в виду какой-то частный случай Знак равенств... текст свёрнут, показать
     
     
  • 10.116, Аноним (-), 14:30, 15/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Любой бизнес - это всегда частный случай по отношению к другим бизнесам И тем б... текст свёрнут, показать
     
     
  • 11.117, тоже Аноним (ok), 16:14, 15/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Как наемный работник, поправлю как раз те, для кого главное - деньги, и стремят... текст свёрнут, показать
     
     
  • 12.118, businessman (?), 18:16, 15/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Почему вы так в этом уверены И почему вы так уверены, что те, про кого вы сейча... большой текст свёрнут, показать
     
  • 8.127, Ы (?), 17:55, 16/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Рюссиан бусинесмэн Тады - конечно ... текст свёрнут, показать
     
  • 3.26, Crazy Alex (ok), 07:26, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да ладно, у них всяко ресурсов побольше, чем у создателя D - а у того язык очень даже получился. Не всё ж прикладными задачами заниматься, надо и на перспективу думать.
     
     
  • 4.30, Куяврик (?), 09:07, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Не всё ж прикладными задачами заниматься, надо и на перспективу думать.

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


     
     
  • 5.39, Crazy Alex (ok), 10:11, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Похоже, они в прикладном таки упёрлись в барьер сложности - то ли дальше квалификации не хватает, то ли еще что. Вот и пытаются на кривой козе объехать - и вширь идут, и вглубь. В принципе, не так плохо - в хроме вообще вон никаких плюшек не прирастает уже довольно долго, а эти вполне себе развивают движок.
     
     
  • 6.41, arisu (ok), 10:23, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да заколебались просто писать на языках многолетней давности, где приходится заниматься нестандартной гимнастикой для простейших вещей.

    я вот почитал tutorial — забавный этот rust. такая себе солянка из схемы, эрланга, кусочка камла и так далее, завёрнутая в более-менее привычный синтаксис (чтобы новичков не пугать, да и просто чтобы не отвлекаться на мелочи). dylan чем-то напоминает — в плане «XXX с человеческим лицом». надо бы собрать и погонять.

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

     
  • 2.61, Xasd (ok), 15:49, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > на громоптица у них нет времени

    ну и отлично! Evolution сёравно явно лучше... (и Evolution тоже есть и под Венду)

    ..кстате вообще не понимаю почему в Мозиловском почтовом клиенте -- нет встроенной поддержки GnuPG.. этоже вообще позор какойто для почтовика

     
     
  • 3.125, an. (?), 14:44, 16/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А что такое GnuPG?.. О, википедия подсказала! Может поэтому нет?
     

  • 1.16, Вредоносный (ok), 01:42, 14/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как опакетят для Ubuntu пусть приходят, попробуем.
     
     
  • 2.31, Куяврик (?), 09:18, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Как опакетят для Ubuntu пусть приходят, попробуем.

    Дорогие виндовсятники. Раз космонавт устроил вам бинарный лягушатник с подогревом, вы не квакайте в сторону моря. Снаружи вашего уютного лягушатника творится погода по имени opensource. Это значит выкатываются исходники и дальше майнтейнеры работают. Так что в реальности немного не так. Не "пусть приходят", а "если нянечки соизволят, до нас тоже дойдёт".

     
     
  • 3.55, Вредоносный (ok), 14:09, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Эк вас батенька. Сразу видно талантливого человека, когда пятую точку припекает :)
     
     
  • 4.65, Аноним (-), 16:17, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Эк вас батенька. Сразу видно талантливого человека, когда пятую точку припекает :)

    Где это его припекло?
    Это вам возразить нечего.

     
     
  • 5.105, Вредоносный (ok), 22:12, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я не возражаю, я код пишу.
     
     
  • 6.111, Аноним (-), 23:15, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Я не возражаю, я код пишу.

    То что вы пытаетесь где-то писать какой-то код, вы думаете это вам придает какой-то особый статус? Очередное ваше высказывание не в тему.

    С другой стороны, пишете код, и не можете даже самостоятельно собрать пакет в Убунту. Да и то что вы выбрали именно Убунту при всем богатстве вариантов для людей, умеющих "писать код", - это тоже характеризует.

     
     
  • 7.113, name (??), 11:09, 15/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    а что нужно выбирать?
     
     
  • 8.114, Аноним (-), 11:24, 15/07/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если не знаете что, лучше продолжайте использовать то, что у вас сейчас ... текст свёрнут, показать
     
  • 6.124, Клыкастый (ok), 10:33, 16/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Я не возражаю, я код пишу.

    вы пишите. вдруг опакетят. а то и попробовать не сможете.


     
  • 2.35, arisu (ok), 10:04, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Как опакетят для Ubuntu пусть приходят, попробуем.

    от вашего «попробуем» толка нет. кстати, вашу еду уже один раз кто-то ел.

     
  • 2.36, Мимо шел (?), 10:08, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    https://launchpad.net/~kevincantu/+archive/rust/
     
     
  • 3.74, ТОЛСТАЯ СВИНКА (?), 18:04, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Хрена себе! Оперативненько.
     

  • 1.19, Аноним (-), 04:39, 14/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Перевод информации о релизе на русский язык: http://sysdev.me/rust_0_3/
     
  • 1.23, Crazy Alex (ok), 07:16, 14/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хм, оно не просто допускает actor-based, оно вообще не умеет, похоже, "обычную" модель разделения данных - даже тех, что immutable. Но зачем?
     
     
  • 2.24, user (??), 07:22, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Для безопасного параллельного программирования? И кажется не изменяемые данные таки могут быть разделены.
     
  • 2.25, Crazy Alex (ok), 07:24, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А, нет - это они описали невнятно. Во-первых, они где-то оговорились, что ummutable всё же передаваться может - что логично, но непонятно, какой синтаксис. Ну и обычные локи в принципе возможны в unsafe-части языка, просто они её стараются лишний раз не упоминать.

    А вообще - слишком много запихали в сам язык того,что стоило бы выкинуть в стандартную библиотеку. В частности - не факт, что стоило делать настолько фнудаментальным обмен между тасками через сообщения. Да и неотключаемые checks - это перебор.

     
     
  • 3.32, Куяврик (?), 09:20, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну и обычные локи в принципе возможны в unsafe-части языка, просто они её стараются лишний раз не упоминать.

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


     
     
  • 4.33, Crazy Alex (ok), 10:02, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот в D этой проблемы нет, хотя там тоже unsafe-часть отделена. Зато более-менее понятно, что возможно сделать. Думаю, что и здесь не было бы - в safe-подмножестве банально проще писать.
     
  • 3.37, arisu (ok), 10:08, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > обмен между тасками через сообщения

    уважаемый товарищ Алан Кей глаголет, что сообщения — это базовая фича для ООП. поскольку уважаемый товарищ Алан Кей и придумал ООП — он знает, о чём говорит. %-)

    собственно, сообщения — наиболее естественный метод коммуникации для сущностей. так что чем «глубже» в языке лежит поддержка этого механизма, тем лучше.

    если что: на язык не смотрел, официальные доки не читал, рассуждаю о сферическом ООП в вакууме.

     
     
  • 4.119, Crazy Alex (ok), 18:44, 15/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну а на практике мьютексы сотоварищи иногда большую выгоду дают, если подразумевается, что потоки работают на одной физической машине с SMP. С другой стороны - этот язык как системный не позиционируется, так что если в нём к каким-то ресурсам системы добраться нельзя - это, в общем-то, не криминал.

    Основной плюс модели локов - что с ней уже написана куча хорошо оптимизированного кода, которы можно достаточно просто портировать. Врапперы вокруг сей здесь не очень катят - на опыте D я знаю, что в подобных языках они смотрятся инородно и требуют особых плясок с бубном и потерь производительности - то ссылки считать надо,чтобы сишную память вовремя освободить, то где-то копирование происходит, где можно тупо передать указатель, то ещё что.

     

  • 1.56, Исчо_Аноним (?), 14:50, 14/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А тем временем в файрфокс 16 ожидается расширенная поддержка зондов.
    http://forum.mozilla-russia.org/viewtopic.php?id=55572
     
     
  • 2.73, Аноным (ok), 17:59, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Хомяки будут в восторге, остальные просто отключат и все довольны.
     
     
  • 3.101, Аноним (-), 21:21, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Хомяки будут в восторге, остальные просто отключат и все довольны.

    Если оно отключаемым будет.

     
     
  • 4.102, Аноным (ok), 21:48, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ФФ не Хром, вроде.
     
     
  • 5.108, Аноним (-), 22:36, 14/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > ФФ не Хром, вроде.

    Мы работаем над этим.

     
  • 4.120, Crazy Alex (ok), 18:45, 15/07/2012 [^] [^^] [^^^] [ответить]  
  • +/
    На худой конец - в Iceweasel будет отключаемым.
     

  • 1.58, Xasd (ok), 15:30, 14/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    а язык-то ништяковый :-)
     
  • 1.60, Xasd (ok), 15:37, 14/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а ктонить понял как использовать (а не только декларировать) -- Именованные-Интерфейсы?

    http://dl.rust-lang.org/doc/tutorial.html#scoping

     
  • 1.128, Аноним (-), 19:40, 16/07/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На сколько знаю лично я (у них так написано) - это экспериментальный язык и его никогда не планируется рекомендовать использовать в продакшне
     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру