The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Увидел свет язык программирования Rust 1.13, opennews (?), 11-Ноя-16, (0) [смотреть все]

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


8. "Увидел свет язык программирования Rust 1.13"  +4 +/
Сообщение от Аноним (-), 12-Ноя-16, 00:40 
>> защищает от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п.
>>избавляет
>>защищает
> Почему-то в этой хвалебной оде языку Rust скромно умалчивается слово:
>>опускает
> производительность.

А можно поподробнее -- как именно вы повышаете производительность обращением к областям освобожденной памяти и выходами за границы буфера?


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

14. "Увидел свет язык программирования Rust 1.13"  –4 +/
Сообщение от Андрей (??), 12-Ноя-16, 02:58 
Убирая проверки из рантайма. И по возможности реализуя их для debug сборки.
Ответить | Правка | Наверх | Cообщить модератору

17. "Увидел свет язык программирования Rust 1.13"  +2 +/
Сообщение от Аноним (-), 12-Ноя-16, 03:09 
> Убирая проверки из рантайма. И по возможности реализуя их для debug сборки.

C каких это пор вдруг компайлтайм == рантайм?


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

22. "Увидел свет язык программирования Rust 1.13"  –3 +/
Сообщение от Андрей (??), 12-Ноя-16, 04:28 
А Раст может узнать все размеры не выполняя программу? Чудеса. А если не все, то такое и для C/C++ есть: статический анализатор.
Ответить | Правка | Наверх | Cообщить модератору

58. "Увидел свет язык программирования Rust 1.13"  +8 +/
Сообщение от Аноним (-), 12-Ноя-16, 14:56 
> А Раст может узнать все размеры не выполняя программу?

А чего это вы перескочили на "все размеры"? Естественно, не все.  И что? Отказаться от возможности сделать что-то во время компилирования из таких вот религиозных соображений?

>Чудеса.

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

> А если не все, то такое и для C/C++ есть: статический анализатор.

И это, конечно же, заслуга структуры языка, особенно у слаботипизированного Си! Ви таки делаете мне смешно! А скажите-ка любезные, каким образом вы сможете проверить анализатором в сишной программе время жизни чего-либо или владения, если это не предусмотренно самим языком?

Кстати, походу мало кто из ярых "защитников истинного Си" понимает, какую титаническую работу проделали в гцц по части анализа кода и варнингов-рекомендаций. Запустили бы для сравнения какой нибудь Turbo/Borland C(++)/Watcom C -- а то привыкли к хорошему и воспринимают, как само собой разумеющееся ... да еще и на сторонние статистические анализаторы, которые появились *рен знает сколько лет после компиляторов  кивают, типа  "мы ежики, тоже летать умеем!" :).


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

30. "Увидел свет язык программирования Rust 1.13"  +8 +/
Сообщение от Аноним (-), 12-Ноя-16, 06:29 
Во-первых стандартный способ обхода массивов в rust - через итераторы, никаких проверок там нет.

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

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

51. "Увидел свет язык программирования Rust 1.13"  –4 +/
Сообщение от Аноним (-), 12-Ноя-16, 13:24 
И в итоге любой нетривиальный алгоритм будет состоять из unsafe'ов чуть менее чем полностью.
Ответить | Правка | Наверх | Cообщить модератору

64. "Увидел свет язык программирования Rust 1.13"  +3 +/
Сообщение от Аноним (-), 12-Ноя-16, 16:23 
> И в итоге любой нетривиальный алгоритм будет состоять из unsafe'ов чуть менее  чем полностью.

Или анониму следует объяснить что такое "нетривиальность" в его понимании или же найти тут http://benchmarksgame.alioth.debian.org/u64q/program.php?tes... или тут http://benchmarksgame.alioth.debian.org/u64q/program.php?tes...
ансейфы.

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

83. "Увидел свет язык программирования Rust 1.13"  +/
Сообщение от 5kbps (ok), 13-Ноя-16, 00:06 
> И в итоге любой нетривиальный алгоритм будет состоять из unsafe'ов чуть менее
> чем полностью.

Нет. Просто нужно использовать соответствующие парадигме программирования техники.

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

93. "Увидел свет язык программирования Rust 1.13"  –4 +/
Сообщение от Аноним (-), 13-Ноя-16, 06:57 
... и забыть о производительности.
Ответить | Правка | Наверх | Cообщить модератору

97. "Увидел свет язык программирования Rust 1.13"  +/
Сообщение от Аноним (-), 13-Ноя-16, 15:32 
> ... и забыть о производительности.

А все почему? А потому что вброс^W гладиолус!
Или тут
http://benchmarksgame.alioth.debian.org/u64q/program.php?tes...
http://benchmarksgame.alioth.debian.org/u64q/program.php?tes...
ансейф невидимым шрифтом спрятан?

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

100. "Увидел свет язык программирования Rust 1.13"  –1 +/
Сообщение от Аноним (-), 14-Ноя-16, 02:58 
На benchmarksgame ссылаться - как на дистроватч.

Синтетика, подкреплённая неадекватностью: https://habrahabr.ru/post/119579/

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

106. "Увидел свет язык программирования Rust 1.13"  +/
Сообщение от Аноним (-), 14-Ноя-16, 14:03 
> На benchmarksgame ссылаться - как на дистроватч.

Я ссылаюсь на код, который, как не крути, писался в первую очередь с целью "выжать все".

> Синтетика, подкреплённая неадекватностью: https://habrahabr.ru/post/119579/

Как будто без хабра никто об этом не знает.
PyPy кстати вроде никогда особо не блистал на игрищах, т.к. питоно-код был слишком заточен под CPython.

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

44. "Увидел свет язык программирования Rust 1.13"  +/
Сообщение от Аноним (-), 12-Ноя-16, 11:23 
Вас hearthbleed видимо ничему не научил.
https://cve.mitre.org/data/downloads/allitems.html — посмотрите просто ради интереса, какая часть уязвимостей связана с этом самом супероптимизирующем подходе с отсутствием проверок границ.
Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

99. "Увидел свет язык программирования Rust 1.13"  –1 +/
Сообщение от Аноним (-), 13-Ноя-16, 22:01 
Покажите реализацию SSL на божественном русте и без hearthbleed'a
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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