The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Увидел свет язык программирования Rust 1.7"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Увидел свет язык программирования Rust 1.7"  +/
Сообщение от opennews on 04-Мрт-16, 10:47 
Доступен (http://blog.rust-lang.org/2016/03/02/Rust-1.7.html) релиз языка программирования Rust 1.7 (http://www.rust-lang.org), развиваемого проектом Mozilla, обеспечивающего автоматическое управление памятью и предоставляющего средства для высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime. Параллельно с Rust совместно с компанией Samsung развивается экспериментальный браузерный движок Servo (https://www.opennet.ru/opennews/art.shtml?num=36576), написанный (https://github.com/servo/servo/) на языке Rust и отличающийся поддержкой многопоточного рендеринга web-страниц и распараллеливанием операций с DOM (Document Object Model).


В новом выпуске основное внимание было уделено стабилизации библиотек - около 40 функций и методов (https://github.com/rust-lang/rust/blob/stable/RELEASES.md#ve...) переведены в разряд стабильных. В том числе стабилизирован новый API, позволяющий использовать собственные алгоритмы хеширования в типе HashMap. Ранее допускалось использование только алгоритма SipHash, который слишком медленный при использовании ключей небольшого размера. В Rust 1.7 разработчики могут подключить алгоритм FNV, что значительно ускорит работу с мелкими ключами, но приведёт к потере защиты от DoS-атак через подстановку большого числа значений, вызывающих коллизии.

Из других улучшений отмечается добавление вызова clone_from_slice() для эффективного копирования данных из одного слайса в другой, реализация порции методов проверки IP-адресов (например, Ipv4Addr::is_loopback или Ipv6Addr::is_multicast), различные улучшения в CString, новые операторы для числовых типов (например, i32::saturating_mul, i32::overflowing_add, i32::checked_rem). Сборочные скрипты улучшены для информирования пакетного менеджера Cargo о зависимостях. В команду "cargo rustc" добавлена возможность указания профилей, охватывающих используемые только при разработке зависимости, например, необходимые для проведения тестирования.

Напомним, что язык Rust сфокусирован на безопасной работе с памятью и обеспечении высокого параллелизма выполнения заданий. При этом Rust обходится без использования сборщика мусора или runtime, что делает возможным создания на Rust библиотек, которые могут выступать в роли прозрачной замены библиотекам для языка Си. Для распространения библиотек на языке  Rust, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo (http://blog.rust-lang.org/2014/11/20/Cargo.html), позволяющий получить нужные для программы библиотеки  в один клик. Для размещения библиотек введён в строй репозиторий crates.io (https://crates.io/).

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

URL: http://blog.rust-lang.org/2016/03/02/Rust-1.7.html
Новость: http://www.opennet.ru/opennews/art.shtml?num=43985

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Увидел свет язык программирования Rust 1.7"  –1 +/
Сообщение от LU on 04-Мрт-16, 10:47 
>1.7
>основное внимание было уделено стабилизации библиотек
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Аноним (??) on 04-Мрт-16, 11:03 
И..? в отличии от Go релизы выходят в 6 недельном цыкле.
И имеется ввиду стабилизация ранее "нестабильных конструкций", изменения которых никто не гарантировал.

Хороший подход при обкатке новых решений.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

42. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от GrNa on 04-Мрт-16, 15:38 
"цикле"
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

62. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от A.Stahl (ok) on 04-Мрт-16, 20:33 
>в отличии... ввиду...

Неужели кроме "цыкла" ничего не насторожило?

Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

51. "Увидел свет язык программирования Rust 1.7"  +3 +/
Сообщение от Аноним32 on 04-Мрт-16, 16:40 
если цель догнать по нумерации firefox то пойдёт, молодци
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

67. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Anonimchik on 04-Мрт-16, 23:45 
"молодцы" :D
Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

91. "Увидел свет язык программирования Rust 1.7"  +1 +/
Сообщение от Aleks Revo (ok) on 06-Мрт-16, 18:42 
Каким же образом? Более чем за полгода до второй версии даже не добрались ))
Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

3. "Увидел свет язык программирования Rust 1.7"  –2 +/
Сообщение от A.Stahl (ok) on 04-Мрт-16, 11:12 
>DOM

Make C not Rust! Rust go DOM!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

36. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Andrey Mitrofanov on 04-Мрт-16, 15:11 
>>DOM
>Rust go DOM!

Ты и аглицкого не знаешь? :))  //Раст проигрывает вчистую русскому и английскому в новости про себя. Обсудим суахили -- это интересно!

Rust проигрывает вчистую в этой теме
Rust hupoteza kabisa katika mada hii
錆は完全にこのトピックで失われます
拉斯特将彻底本主题丢失
કાટ સંપૂર્ણપણે આ વિષય ખોવાઈ જશે

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

37. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от A.Stahl (ok) on 04-Мрт-16, 15:19 
Извини, шутить ещё более плоско и очевидно, так чтобы даже ты понял, я не хочу.
https://en.wikipedia.org/wiki/Make_love,_not_war
https://en.wiktionary.org/wiki/Yankee_go_home
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

40. "Увидел свет язык программирования Rust 1.7"  –1 +/
Сообщение от Andrey Mitrofanov on 04-Мрт-16, 15:25 
> Извини, шутить ещё более плоско и очевидно, так чтобы даже ты понял,
> я не хочу.

Ах, не обижайся, а то ж я сам заплачу. Да, не все шекспира в оригинале по памяти, некоторым недоразвитым и разжёвывать надо

Rustie go DOMe

а то go DOM без yourself-а не попадает в шаблон.

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

41. "Увидел свет язык программирования Rust 1.7"  +1 +/
Сообщение от Andrey Mitrofanov on 04-Мрт-16, 15:29 
> Rustie go DOMe

И то у меня сомнения насчёт, не Rusties ли или Rustees. Rusti не.

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

43. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от GrNa on 04-Мрт-16, 15:39 
>> Rustie go DOMe
> И то у меня сомнения насчёт, не Rusties ли или Rustees. Rusti
> не.

Rustaceans)

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

18. "Увидел свет язык программирования Rust 1.7"  –4 +/
Сообщение от x0r (??) on 04-Мрт-16, 12:19 
"напоминает C++, но существенно отличается в некоторых деталях реализации синтаксиса и семантики."
ну почему чтобы пользоваться чем-то новым и хорошим я должен изучать новый синтаксис и портировать старый код?
у меня есть личная жизнь. и я бы изучал, что-то поумнее нового синтаксиса.
c++, java и c# взлетели возможно еще потому что синтаксис близок к C и всем знаком.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Увидел свет язык программирования Rust 1.7"  +8 +/
Сообщение от Школьник (ok) on 04-Мрт-16, 12:38 
Если ты знаешь синтаксис C++ и синтаксис Ruby, то синтаксис Rust не будет для тебя большой проблемой. А вообще, синтаксис языка не так уж и важен, гораздо важнее семантика. Перейти на язык с другим синтаксисом - не такая большая проблема по сравнению с переходом на язык с другой семантикой.
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

25. "Увидел свет язык программирования Rust 1.7"  –1 +/
Сообщение от fail on 04-Мрт-16, 13:11 
...
>> c++, java и c# взлетели возможно еще потому что синтаксис близок к C и всем знаком.
> Если ты знаешь синтаксис C++ и синтаксис Ruby, то синтаксис Rust не
> будет для тебя большой проблемой. А вообще, синтаксис языка не так
> уж и важен, гораздо важнее семантика. Перейти на язык с другим
> синтаксисом - не такая большая проблема по сравнению с переходом на
> язык с другой семантикой.

Только "лишнее" время тратить - чтобы напрягаться лишний раз и т.д. - нафикк..
ИМО, камрад пару постами раньше - правильно все изложил.
Все "фичи" - уничтожили синтаксисом (не подходящим для целевой аудитории) - imo, будет rust "барахтаться" в своей маргинальной нише.


Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

64. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Вареник on 04-Мрт-16, 21:39 
Совершенно верно.

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

А серьезные люди так и не придут, потому что преимуществ перед грамотным использованием boost, STL, Qt - накаких. За прямыми конкурентами (Swift, Go) - стоят деньги, среды разработки, библиотеки, нормальная документация.

А перед Java, Scala, Kotlin, С# - Rust это вырвиглазные головоломки, без преимуществ по скорости, т.к. проверки сьедают преимущества от нативности, без фреймворка, без среды.

А для души есть D.

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

65. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Аноним (??) on 04-Мрт-16, 22:42 
Кому как.
На работе Ява, "для души" и интереса пока Rust. На Rust-форумах так же есть европейцы джависты которые пишут на Ruste.

А энтерпрайс это дело наживное. Там, где важна скорость, на него обратят внимание. Высокочастотный трейдинг это та самая ниша куда он подойдет.

Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

69. "Увидел свет язык программирования Rust 1.7"  –2 +/
Сообщение от fail_ on 05-Мрт-16, 11:04 
> Кому как.
> На работе Ява, "для души" и интереса пока Rust. На Rust-форумах так
> же есть европейцы джависты которые пишут на Ruste.
> А энтерпрайс это дело наживное. Там, где важна скорость, на него обратят
> внимание. Высокочастотный трейдинг это та самая ниша куда он подойдет.

Угу, наживное(ядовито ухмыляясь), где-то год-другой назад зазывали на проект - на новом иновационном языке Rust еще 0.9 версия(если память не подводит), по портингу с С.

Ну как обычно, незнамо кто из троицы TL, SA или PM "обкурились" рекламных проспектов,
и давай "модернизец" хипстерский двигать в массы... (прошу не принимать на свой счет).

Так эти архаровцы (из rust) - не "асилили" выложить пакеты ни под один из mainstream дистрибутивов (deb, rpm, etc.)...

Итогец:

- ночная сборка (на то время 0.9) на виртуалке U14.04 не завелась
- из морально-спортивных соображений - удалось запустить только то ли 0.8, то ли 0.7
- после часового интернетинга, включаяя наглосаксонский сегмент, "зазыватели" получили конкрентый отлуп, с описанием целого ряда факторов и ссылкой на более компетентных кaмрадов
- главный вывод отправленный "зазывателям" до bloody Enterprise Rust`y еще 5-7 лет прокачиваться

Ответить | Правка | ^ к родителю #65 | Наверх | Cообщить модератору

73. "Увидел свет язык программирования Rust 1.7"  +5 +/
Сообщение от Аноним (??) on 05-Мрт-16, 12:39 
Между версиями 0.9 и текущей 1.7 огромная разница:

* Производительность увеличилась в разы.
* В дистрибутивах linux уже есть пакеты Rust и его собственного пакет-менеджера - cargo.
* Количество приложений в репозитории (~4300) уже позволяет найти что-то готовое.
* Сообщения компилятора о том что не так во многом более понятны и зачастую идут с описанием что требуется изменить.

Ответить | Правка | ^ к родителю #69 | Наверх | Cообщить модератору

76. "Увидел свет язык программирования Rust 1.7"  –1 +/
Сообщение от fail_ on 05-Мрт-16, 14:09 
без тени сарказма,

> Между версиями 0.9 и текущей 1.7 огромная разница:

это понятно, даже по цифрам,

> * Производительность увеличилась в разы.

надо приводить цифры, и по конкрентым задачам "интерсеным" для ЦА

> * В дистрибутивах linux уже есть пакеты Rust и его собственного пакет-менеджера

штатные ср-ва скажем 2 из N mainstream(в смысле LTS, BIN-based) дистрибутивов ?

- без левых репов
- без возни со сборкой
- как крайний вариант ШТАТНЫЕ пакеты для 2-3 distr. из mainstream с ОФИЦИАЛЬНОГО сайта

U14.04 - нет, даже ни в одной из секций: multiverse, universe
RhEl 7.x - под рукой нет, проверить не могу - но более чем уверен в той же ситуации как в U14.04

итого,
надо Rust & co заниматься серьезным продвижением в mainstream дистрибутивы & OS
думается, одним из признаков зрелости Rust => будет появление в mainstream

все, ушел из этой темы

P.S.:
Немного юмора на десерт,
откуда-то из сети, языки можно проставить/заменить по своему усмотрению:

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

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

Ответить | Правка | ^ к родителю #73 | Наверх | Cообщить модератору

71. "Увидел свет язык программирования Rust 1.7"  –1 +/
Сообщение от Аноним (??) on 05-Мрт-16, 11:39 
Да, грамотное использование защищает от ошибок в с++, поэтому с этой точки зрения нет никакого смысла переходить на Rust. Но есть другой момент, который в c++ так и не решен: http://www.gamedev.ru/flame/forum/?id=156989
Со временем ПО на Rust обойдет по производительности с++, и с этим пока вроде как ничего не планируется делать
Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

87. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Roo2AT7d (ok) on 06-Мрт-16, 14:15 
> http://www.gamedev.ru/flame/forum/?id=156989

Тем временем растоманы предлагают использовать вектор.

Ответить | Правка | ^ к родителю #71 | Наверх | Cообщить модератору

88. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Аноним (??) on 06-Мрт-16, 15:11 
И? В Rust нет этой проблемы
Ответить | Правка | ^ к родителю #87 | Наверх | Cообщить модератору

74. "Увидел свет язык программирования Rust 1.7"  +5 +/
Сообщение от Аноним (??) on 05-Мрт-16, 12:53 
А кто будет проверять что использование boost, STL грамотное? например для мультипоточного приложения?

Самый опытный сотрудник? или статические анализаторы за 5k долларов? а если и они что-то пропустят, что делать?

Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

75. "Увидел свет язык программирования Rust 1.7"  –5 +/
Сообщение от Аноним (??) on 05-Мрт-16, 13:18 
Зачем проверять? Просто пиши грамотно и не будет никаких проблем, вот и всё. Если пишешь неграмотно, возникают ошибки, - это твои проблемы, а не проблемы языка. Как было сказано, Qt, boost, stl и с++11 уже предоставили возможность писать полностью безопасный код в плане работы с памятью и вообще, а пользоваться этим или нет - личное дело каждого программиста.
Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

77. "Увидел свет язык программирования Rust 1.7"  +4 +/
Сообщение от Аноним (??) on 05-Мрт-16, 14:46 
это опять же проблема человеческой ошибки, и тот факт что софт её не словит - уже потенциальная ошибка.

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

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

Здесь, потенциально, выигрышно и смотрится Rust - компилятор не даст собрать ошибочный("не грамотный код") - это своего рода бесплатный статический анализатор кода, с бесплатными обновлениями который хочешь, не хочешь будет проверять код перед тем как сделать бинарник. Причем у этого статического анализатора ОЧЕНЬ большая юзербаза и очень продвинутые ключевые разработчики.

Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

81. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Аноним (??) on 05-Мрт-16, 16:22 
...

> Здесь, потенциально, выигрышно и смотрится Rust - компилятор не даст собрать ошибочный("не
> грамотный код") - это своего рода бесплатный статический анализатор кода, с
> бесплатными обновлениями который хочешь, не хочешь будет проверять код перед тем
> как сделать бинарник. Причем у этого статического анализатора ОЧЕНЬ большая юзербаза
> и очень продвинутые ключевые разработчики.

цифры можно привести,
по поводу мощности множеств:
"ОЧЕНЬ большая юзербаза" и "очень продвинутые ключевые разработчики"
vs
something else (gcc, clang, vs, etc..)

Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

82. "Увидел свет язык программирования Rust 1.7"  +2 +/
Сообщение от Аноним (??) on 05-Мрт-16, 16:59 
тут поясню что сравнивал аудиторию разработчиков статических анализаторов, многие из которых с закрытыми исходниками.
(соовт. возможно имеют меньший фидбек)
например: PVS-Studio или Contemplate ThreadSafe для Java

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

Ответить | Правка | ^ к родителю #81 | Наверх | Cообщить модератору

93. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от omnomnimous email on 07-Мрт-16, 10:03 
> Зачем проверять? Просто пиши грамотно и не будет никаких проблем, вот и

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

Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

97. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Аноним (??) on 08-Мрт-16, 01:45 
у Вас какое-то явно идеалистическое представление о "жабе", "правильности" и "энтерпрайсе" )

даже не беря в расчет всеми известный NullPointerExeption
Жаба вполне позволяет писать неправильный (о чем-то можно узнать в рантайме) и не производительный код.

Ответить | Правка | ^ к родителю #93 | Наверх | Cообщить модератору

98. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от omnomnimous email on 08-Мрт-16, 10:37 
Скажем так, жаба хотя бы пытается, это если сравнивать с тем же це. Нисколько её не идеализирую, но что есть, то есть.
Ответить | Правка | ^ к родителю #97 | Наверх | Cообщить модератору

80. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Аноним (??) on 05-Мрт-16, 15:51 
>т.к. проверки сьедают преимущества от нативности, без фреймворка, без среды.

какие такие проверки?

Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

92. "Увидел свет язык программирования Rust 1.7"  +1 +/
Сообщение от omnomnimous email on 07-Мрт-16, 09:58 
> Rust это вырвиглазные головоломки,

ок, не осилил, бывает
> без преимуществ по скорости

пруф?
> проверки сьедают преимущества от нативности

какие проверки? На этапе компиляции-то? Что они у тебя отЬели, болезный наш?
> А для души есть D.

ничего не имею против душевности данного языка, вот только, если уж сравнивать по вышеприведённым критериям, безопасность работы с памятью в нём как раз достигается сборщиком мусора, который, как раз,
> сЬедает преимущества от нативности

Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

22. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Аноним (??) on 04-Мрт-16, 12:57 
И чем же похожи? Код портировать придётся всё равно. Ведь даже C# или Java не содержит некоторых конструкций из C типа указателей.
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

30. "Увидел свет язык программирования Rust 1.7"  +3 +/
Сообщение от АнонимХ (ok) on 04-Мрт-16, 13:35 
Ерунда, это только кажется. Один вечер почитать мануал - сразу все понятно становится (синтаксис). Это вам не перл.

Как программист вообще может бояться синтаксиса? Ведь абстракции предметной области переложенные в код - это тоже, своего рода, особый синтаксис, с этим и приходится работать.

Раст - это вам не питон-пхп. Он, действительно, близок к С по духу, как оказывается, хоть я и был по-началу скептически настроен. В отличие от Go, например.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

53. "Увидел свет язык программирования Rust 1.7"  –6 +/
Сообщение от Ivan_83 email(ok) on 04-Мрт-16, 16:58 
Есть хх тыщ строк кода.
Кому и зачем их переписывать на русте?
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

54. "Увидел свет язык программирования Rust 1.7"  +4 +/
Сообщение от Растанимус on 04-Мрт-16, 17:19 
Никому и незачем. На Rust можно писать новый функционал в виде отдельной библиотеки, благо он прекрасно линкуется с существующими наработками.
Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

34. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Клыкастый (ok) on 04-Мрт-16, 14:24 
> ну почему чтобы пользоваться чем-то новым и хорошим я должен изучать новый
> синтаксис и портировать старый код?

потому что если у нового и хорошего всё тоже самое - это не настолько новое и возможно не сильно-то хорошее?


Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

86. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Аноним (??) on 05-Мрт-16, 20:54 
>> ну почему чтобы пользоваться чем-то новым и хорошим я должен изучать новый
>> синтаксис и портировать старый код?
> потому что если у нового и хорошего всё тоже самое - это
> не настолько новое и возможно не сильно-то хорошее?

Как бы на пальцах объяснить:
представьте лево- и право- стороннеe движение - вроде и ПДД простые, и навыки - а профи все-таки будут сильно материться...

...не можно еще две машины с разными рулями купить - но вот зачем ?

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

44. "Увидел свет язык программирования Rust 1.7"  +4 +/
Сообщение от Ordu email(ok) on 04-Мрт-16, 15:42 
> почему чтобы пользоваться чем-то новым и хорошим я должен изучать новый синтаксис и портировать старый код?

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

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

24. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от ALex_hha (ok) on 04-Мрт-16, 13:06 
> Увидеть свет может только что-то одушевлённое. ПО — это неодушевлённое.

идиомы, оксюмороны - нее, не слышал? :D

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

29. "Увидел свет язык программирования Rust 1.7"  –5 +/
Сообщение от Z777 on 04-Мрт-16, 13:34 
> обеспечивающего автоматическое управление памятью и ..., при этом обходясь без использования сборщика мусора и runtime.

Взаимоисключающие параграфы.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

33. "Увидел свет язык программирования Rust 1.7"  +1 +/
Сообщение от Клыкастый (ok) on 04-Мрт-16, 14:18 
только при условии, что GC - единственный способ автоматического управления памятью
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

47. "Увидел свет язык программирования Rust 1.7"  +4 +/
Сообщение от Нимано on 04-Мрт-16, 16:15 
200 лет назад, сеть "открытые берестяные рассылки":
>> cамокатная повозка, обеспечивающая высокую скорость передвижения и ..., при этом обходясь без использования лошадей и овса!
> Взаимоисключающие параграфы.

Ну, вон берем тот же Си, урезаем до безобразия и разрешаем только локальные переменные в стеке.
Получаем вполне сферически-рабочее "автоматическое управление памятью и ..., при этом обходясь без использования сборщика мусора и runtime.".  
Чешем репу  и пользуемся тем, что железки со времен тех 70тых таки стали в -цать раз мощнее, разрешаем маллок, прикручиваем анализатор времени жизни переменной, который в нужных местах вставляет фри, спотыкаемся о алиазинг и еще кучу граблей, приделываем владения, шлифуем ... и получаем через пару лет что-то типа раста.
В общем, почти никакой магии.


Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

66. "Увидел свет язык программирования Rust 1.7"  –1 +/
Сообщение от Crazy Alex (ok) on 04-Мрт-16, 23:31 
Если впрямую - скорее получаем что-то вроде свифта
Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

89. "Увидел свет язык программирования Rust 1.7"  –1 +/
Сообщение от Аноним (??) on 06-Мрт-16, 16:02 
> Если впрямую - скорее получаем что-то вроде свифта

Для виндохипстеров из мозиллы js то слишком сложный, а ты про что-то еще.

Ответить | Правка | ^ к родителю #66 | Наверх | Cообщить модератору

68. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Z777 on 05-Мрт-16, 10:20 
> прикручиваем анализатор времени жизни переменной, который в нужных местах вставляет фри

Этот ваш анализатор и есть GC.
И да, без рантайма все это будет сферический конь в вакууме делать?

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

70. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от fail_ on 05-Мрт-16, 11:18 
>> прикручиваем анализатор времени жизни переменной, который в нужных местах вставляет фри
> Этот ваш анализатор и есть GC.

Неверно, попытаюсь изложить свое мнение,
грубо говоря - компилер сам расстaвляет malloc/free (new/delete) во время компиляции.


Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

72. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Z777 on 05-Мрт-16, 12:32 
> во время компиляции.

Понял, классная штука.

Ответить | Правка | ^ к родителю #70 | Наверх | Cообщить модератору

79. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Нимано on 05-Мрт-16, 15:36 
> Этот ваш анализатор и есть GC.

К компилятору, а не рантайму – поэтому и "вставляет free"  а не "делает free".
А то ведь и разработчика можно так вот двусмысленно "Сборщиком Мусора" обозвать )

Тут проблема скорее в том, что просто расставить free маловато будет, нужно еще не допустить "use after free" и т.д. на уровне языка. Да и некоторые ограничения все равно будут "by design" (возможно, типа хитрых циклических конструктов).

В общем, сама по себе идея интересная.

> без рантайма все это будет сферический конь в вакууме делать?

Гм, у вас malloc/free уже без рантайма работает? )

Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

94. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от omnomnimous email on 07-Мрт-16, 10:08 
> 200 лет назад, сеть "открытые берестяные рассылки":
> приделываем владения

Ещё вот это не забудь приделать
https://doc.rust-lang.org/book/traits.html
фактически он и получится.

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

38. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Александр (??) on 04-Мрт-16, 15:21 
Все стеснялся спросить: а в продакшне Rust уже используется где-нибудь, или он пока еще только готовится "выстрелить"?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

56. "Увидел свет язык программирования Rust 1.7"  –1 +/
Сообщение от Аноним (??) on 04-Мрт-16, 17:30 
Используется.
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

59. "Увидел свет язык программирования Rust 1.7"  –1 +/
Сообщение от Аноним (??) on 04-Мрт-16, 19:46 
Я уже 3 год слышу о браузере на движке Серво, который на Раст, но как его похупать?????
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

61. "Увидел свет язык программирования Rust 1.7"  +1 +/
Сообщение от omnomnom on 04-Мрт-16, 20:31 
Все, кто хотел, давно уже "похупали", делай выводы =)
Ответить | Правка | ^ к родителю #59 | Наверх | Cообщить модератору

63. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от omnomnom on 04-Мрт-16, 20:36 
И да, начать процесс стоит отсюда https://github.com/servo/servo
Ответить | Правка | ^ к родителю #59 | Наверх | Cообщить модератору

78. "Увидел свет язык программирования Rust 1.7"  –2 +/
Сообщение от Аноним_m email on 05-Мрт-16, 15:23 
Любой язык использующий препроцессор, макросы - синтаксически устарел. Устарел именно эргономически, не  по функционалу. Rust родился синтаксически устаревшим.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

83. "Увидел свет язык программирования Rust 1.7"  –1 +/
Сообщение от Аноним (??) on 05-Мрт-16, 17:07 
чем, в плане эргономики, макросы мешают?
Ответить | Правка | ^ к родителю #78 | Наверх | Cообщить модератору

84. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Аноним_m email on 05-Мрт-16, 17:19 
Резким снижением понимаемости кода. По сути применяя макросы каждый программер создаёт свой подъязык, подсинтаксис, который и сам вскоре забудет. Текст становится шифром. Макросы, препроцессор ещё оправданы как-то для ассемблеров, но никак не для ЯВУ и без того имеющих средства структурирования, свёртывания кода. Макросы в языках высокого уровня- инетность мышления, анахронизм.
Ответить | Правка | ^ к родителю #83 | Наверх | Cообщить модератору

85. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Аноним (??) on 05-Мрт-16, 17:42 
Тут я с Вами в чем-то согласен.
Но в Rust пока макросы не столь всемогущи как C++, и потому компилятор даст только ограниченную возможность их использования/расширения.

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

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

Ответить | Правка | ^ к родителю #84 | Наверх | Cообщить модератору

90. "Увидел свет язык программирования Rust 1.7"  +1 +/
Сообщение от Аноним (??) on 06-Мрт-16, 16:09 
> Резким снижением понимаемости кода. По сути применяя макросы каждый программер создаёт
> свой подъязык, подсинтаксис, который и сам вскоре забудет.

С другой стороны, это позволяет адаптировать язык к той или иной проблематике. Если бы в драйверах устройств все битовые операции с регистрами устройств записывались так как они реально выглядят в понимании компилятора - ты бы вообще без драйверов остался.

Ответить | Правка | ^ к родителю #84 | Наверх | Cообщить модератору

95. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Аноним (??) on 07-Мрт-16, 12:19 
Очередной "я у мамы computer scientist".
Ответить | Правка | ^ к родителю #84 | Наверх | Cообщить модератору

96. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от rihad2 email on 07-Мрт-16, 15:07 
Нюансы работы с mut ссылками выглядят немного долбанутыми с непривычки.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

99. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Аноним (??) on 08-Мрт-16, 16:33 
Исключений так и нет? Значит зaкaпывайте. Ублюдcкий try! на каждой строчке пусть oбeзьяны пишут.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

100. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Аноним (??) on 08-Мрт-16, 17:57 
а что вы предлагаете вместо "try!" ?

https://doc.rust-lang.org/nightly/std/macro.try!.html
он же по сути сокращает конструкцию match возвращая Result или Error и выступает аналогом try в той же джаве.


или Вы хотите один раз написать "try" а все варианты catch писать на разные методы/функции:

    try {
        lines = Files.readAllLines(Paths.get("/to/my/file.txt"));
        SomeWorker.someWork(lines);
    }
    catch (IOException e) {
    }
    catch (SomeOtherException e) {
    }

Ответить | Правка | ^ к родителю #99 | Наверх | Cообщить модератору

101. "Увидел свет язык программирования Rust 1.7"  +/
Сообщение от Аноним (??) on 08-Мрт-16, 22:23 
в тему исключений, try и "?":
https://www.reddit.com/r/rust/comments/49i43m/initial_implem.../
Ответить | Правка | ^ к родителю #99 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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