The OpenNET Project / Index page

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



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

"Выпуск языка программирования Rust 1.39"  +/
Сообщение от opennews (??), 09-Ноя-19, 09:25 
Опубликован релиз языка системного программирования Rust 1.39, основанного проектом Mozilla. Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=51835

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

Оглавление

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


7. "Выпуск языка программирования Rust 1.39"  –26 +/
Сообщение от Аноним (7), 09-Ноя-19, 09:46 
Хороший язык программирования. На бумаге. Правда на нем невозможно реализовать некоторые алгоритмы (например дерево)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Выпуск языка программирования Rust 1.39"  +11 +/
Сообщение от Нонон (?), 09-Ноя-19, 09:47 
Какое дерево? 🌲
Ну и можно пруфы что ли?
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

10. "Выпуск языка программирования Rust 1.39"  –7 +/
Сообщение от Аноним (7), 09-Ноя-19, 09:48 
Проходи мимо, куда шел, зачем тебе пруфы
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

12. "Выпуск языка программирования Rust 1.39"  +10 +/
Сообщение от Нонон (?), 09-Ноя-19, 09:55 
В расте даже есть конструкции со счётчиком ссылок аля сборщик мусора.. там есть все на все случаи жизни и даже больше. И если кто-то говорит что на расте что-то сделать нельзя - то это просто нелепость какая-то..
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

13. "Выпуск языка программирования Rust 1.39"  –3 +/
Сообщение от Аноним (7), 09-Ноя-19, 09:56 
Да-да есть, но написано оно на unsafe (считай на си), а не на самом языке
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

19. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (19), 09-Ноя-19, 10:30 
Так ведь не цели избавиться от unsafe везде и вся.
Это ведь просто кукок кода где программист должен чувствовать больше ответственности.
Можно сказать в unsafe мире благодаря Rust появляется директива safe, но всё и полностью safe не будет никогда.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

23. "Выпуск языка программирования Rust 1.39"  +3 +/
Сообщение от ыы (?), 09-Ноя-19, 11:02 
Тогда я просто возьму C++ и превращу весь свой код в мешанину из unique_ptr и скажу - вот это крутая парадигма
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

73. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от виндотролль (ok), 09-Ноя-19, 19:26 
unique_ptr имеет runtime cost.
rust же все* безопасные фишки обещает давать без оверхеда** в рантайме.

* ну не все, иногда надо писать не совсем очевиндым способом, чтоб именно так было
** я не проверял и не интересовался детально

Хорошо бы, кто-то проверил да опубликовал детальное сравнение.

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

78. "Выпуск языка программирования Rust 1.39"  +3 +/
Сообщение от ыы (?), 09-Ноя-19, 20:47 
Ну ты мягко говоря некомпетентен. unique_ptr не имеет runtime cost
Ответить | Правка | ^ к родителю #73 | Наверх | Cообщить модератору

86. "Выпуск языка программирования Rust 1.39"  +1 +/
Сообщение от виндотролль (ok), 09-Ноя-19, 23:51 
> unique_ptr не имеет runtime cost

Вот здесь говорят, что имеет
https://youtu.be/rHIkrotSwcc?t=1061

Может от компилятора и уровня оптимизации зависит, конечно. Я с С++ действительно почти не знаком.

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

116. "Выпуск языка программирования Rust 1.39"  –2 +/
Сообщение от Аноним (116), 11-Ноя-19, 14:13 
Пусть говорят. Это несравнимо с тем, сколько ресурсов потребляют браузеры.
Ответить | Правка | ^ к родителю #86 | Наверх | Cообщить модератору

132. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от cppguy (?), 13-Ноя-19, 09:49 
Есть https://www.youtube.com/watch?v=rHIkrotSwcc
Ответить | Правка | ^ к родителю #78 | Наверх | Cообщить модератору

43. "Выпуск языка программирования Rust 1.39"  –2 +/
Сообщение от Аноним (43), 09-Ноя-19, 13:34 
> не цели избавиться от unsafe везде и вся

и какой же тогда во всём этом смысл?

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

49. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от red75prim (?), 09-Ноя-19, 14:31 
Чтобы логические ошибки в большей части кода не приводили к UB со всеми вытекающими: buffer overflow, memory corruption, use after free, ошибки из-за data races и т.п.
Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

72. "Выпуск языка программирования Rust 1.39"  +3 +/
Сообщение от burjui (ok), 09-Ноя-19, 19:23 
Смысл в том, чтобы было 99.9% кода без unsafe. У меня в проекте на 6300 строк всего 5 блоков unsafe, из них 2 - это вызовы isatty(), остальные - в аллокаторе, который считает максимальное потребление памяти (лень запускать бинарь через /usr/bin/time -v). На C++ 100% кода - unsafe.
Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

76. "Выпуск языка программирования Rust 1.39"  –3 +/
Сообщение от Нонон (?), 09-Ноя-19, 20:20 
Смотри, сейчас объясню unsafe))

У тебя есть вектор. Вектор как правило разного размера будет во время исполнения.

И ты тут берешь и обращаешься к vec[5] - программа сразу проверит что 5й элемент есть и его вернет а если 5го элемента нет - будет panic. Все просто..

Раст сделан так что тебе не нужно обычно обращатся к элементам вектора именно так.. vec[5] это немного странно.. обычно либо ты итерируешь без индекса либо используешь массив вместо вектора либо еще что..

Так вот, если ты на 100 процентов уверен что у тебя 5й элемент есть и хочешь к нему обратиться без проверки на его существование ты можешь это завернуть в unsafe. а внутри unsafe написать vec.get_unchecked(5)


Практическое применения - у тебя набор символов, и ты рандомно один из них выбираешь.. Генеришь число от нуля до len символов а потом с помошью unsafe выбираешь символ из своего набора. потому что ты знаешь что 100% там символ есть.

Почему заворачивать в unsafe - потому что vec.get_unchecked(5) если нет 5го элемента может вызвать UB вместо panic

Стоит добавить что нет надобности вообще писать unsafe. И если вы обратитесь к вектору так vec[5] то от этого никто не умрет и код медленнее не станет. Атвичаю

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

80. "Выпуск языка программирования Rust 1.39"  +1 +/
Сообщение от Аноним (80), 09-Ноя-19, 21:01 
В C++ так же, есть vec[5] и vec.at(5)
Ответить | Правка | ^ к родителю #76 | Наверх | Cообщить модератору

119. "Выпуск языка программирования Rust 1.39"  +1 +/
Сообщение от Аноним (119), 11-Ноя-19, 16:22 
> В C++ так же, есть vec[5] и vec.at(5)

Да и итерирование без индекса уже скоро десять лет, как есть.
for (auto x: myVector)

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

91. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (43), 10-Ноя-19, 12:02 
Примерно понял, но лично для меня как-то привычнее всё считать unsafe и проверять каждый пук вручную. А с таким подходом есть риск потерять бдительность и в каком-то месте не поставить проверку, положившись на компилятор или рантайм-среду, или просто забыв о ней. То есть, психологически проще постоянно писать аккуратно и осмотрительно, чем переключаться "тут safe, тут unsafe, а тут рыбу заворачивали".
Ответить | Правка | ^ к родителю #76 | Наверх | Cообщить модератору

99. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Ordu (ok), 10-Ноя-19, 17:25 
> То есть, психологически проще постоянно писать аккуратно и осмотрительно, чем переключаться "тут safe, тут unsafe, а тут рыбу заворачивали".

Нет. Психологически невозможно выдерживать бдительность на постоянно высоком уровне. Концентрация внимания всегда плавает, это замерялось неоднократно в экспериментах. Это ведь очень важная штука в некоторых профессиях, в которых секундное ослабление внимания может привести к катастрофе. В тех профессиях, людей тренируют специально, и внимание им тренируют, и вырабатывают такие навыки привычки, чтобы максимум деятельности был бы автоматизирован и происходил бы вне зависимости от внимания.

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

Чтобы минимизировать количество ошибок, тебе надо писать код так, чтобы разделять зоны ответственности между разными кусками кода. Скажем, есть динамический массив, есть его реализация, есть API к этой реализации. Инварианты динамического массива -- size>=len, например, -- это ответственность реализации динамического массива, и клиентский код должен быть лишён возможности эти инварианты нарушить. Если ты, реализуя динамический массив, осознал какие инварианты ты должен соблюдать, и сделал всё грамотно, то дальше, когда ты используешь динамический массив, тебе не надо бояться испортить динамический массив. Если ты сделал неграмотно реализацию, то будешь ли ты бояться или не будешь, это никак не спасёт от сегфолта вызванного неграмотной реализацией.

Когда ты разделяешь ответственность за корректность таким образом, тебе меньше надо удерживать во внимании, более того, есть триггер: unsafe. Если ты не можешь что-то сделать без unsafe, то вот тут надо думать. Можно остановиться, пойти покурить и подумать минут десять или даже полчаса, о том, что можно сломать используя unsafe так, как тебе хочется.

Это позволит тебе более эффективно расходовать свои ресурсы внимания и времени. Это позволит более эффективно работать даже с C, но в C нет такого триггера как unsafe, там проще не заметить момент, когда пора остановиться и подумать.

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

125. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (125), 12-Ноя-19, 03:04 
А ты каждый день пишешь дерево? "Ежедневная" логика обычно спокойно обходится без адских циклических референсов
Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

24. Скрыто модератором  –5 +/
Сообщение от alex (??), 09-Ноя-19, 11:32 
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

27. Скрыто модератором  +2 +/
Сообщение от ыы (?), 09-Ноя-19, 11:57 
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

30. Скрыто модератором  +1 +/
Сообщение от alex (??), 09-Ноя-19, 12:13 
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

44. Скрыто модератором  +/
Сообщение от Аноним (44), 09-Ноя-19, 13:36 
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

89. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Junior frontend developer (?), 10-Ноя-19, 09:06 
Потому что сами эти алгоритмы небезопасная черная магия. Нет никакой проблемы впрочем написать в unsafe, хорошо протестировать и скрыть за безопасным интерфейсом. В этом суть Rust, чтобы не весь код был unsafe, как в C++
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "Выпуск языка программирования Rust 1.39"  +3 +/
Сообщение от Грусть (?), 09-Ноя-19, 09:58 
https://doc.rust-lang.org/std/collections/struct.BTreeSet.html
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

28. "Выпуск языка программирования Rust 1.39"  –5 +/
Сообщение от Аноним (28), 09-Ноя-19, 12:01 
Бревна - это древнее г-но, которое давно пора похоронить и перейти на теговую семантику.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

29. "Выпуск языка программирования Rust 1.39"  –1 +/
Сообщение от ыы (?), 09-Ноя-19, 12:03 
Вместо перехода по указателю каждый раз искать ID в хещтаблице или что ты имеешь в виду?
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

32. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Safe (?), 09-Ноя-19, 12:31 
вроде можно с помощью raw pointers реализовать дерево в rust?
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

69. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от a3k (?), 09-Ноя-19, 19:07 
Можно и без unsafe, были б руки прямые.
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

117. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от TreeDataStructInRustIsPossible (?), 11-Ноя-19, 15:04 
вот пример реализации дерева на rust:

struct Node {
    data: i32,
    left: *mut Node,
    right: *mut Node
}
const _NULL: *const Node = std::ptr::null();

fn create_node(data: i32)->Node{
    Node {data: data, left: _NULL as *mut Node, right: _NULL as *mut Node}
}

fn main() {
    let mut tree = create_node(0);
    tree.left = &mut create_node(123) as *mut Node;
    tree.right = &mut create_node(312) as *mut Node;
    unsafe {(*tree.left).data = 345};
    let root_value = tree.data;
    let left_value = unsafe {(*tree.left).data};
    let right_value = unsafe {(*tree.right).data};
    println!("root_value={}, left_value={},right_value={}", root_value, left_value, right_value);
}

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

118. "Выпуск языка программирования Rust 1.39"  +1 +/
Сообщение от Аноним (118), 11-Ноя-19, 15:44 
Т.е. unsafe с сырыми указателями во все дыры засунуть? Как не рекомендуется делать в расте? Тогда может лучше на Си?
Ответить | Правка | ^ к родителю #117 | Наверх | Cообщить модератору

120. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от IsCbetterThanRust (?), 11-Ноя-19, 16:24 
это же вроде один из примеров реализации дерева в Rust?
разве то, что в C явно не указывается, что safe, а что unsafe - это лучше, чем в Rust?
Ответить | Правка | ^ к родителю #118 | Наверх | Cообщить модератору

121. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (118), 11-Ноя-19, 17:53 
Лучше бы было если бы была представлена реализация без unsafe-приемчиков.
Ответить | Правка | ^ к родителю #120 | Наверх | Cообщить модератору

122. "Выпуск языка программирования Rust 1.39"  +5 +/
Сообщение от Аноним (122), 11-Ноя-19, 18:18 
> Лучше бы было если бы была представлена реализация без unsafe-приемчиков.

https://docs.rs/ternary-tree/0.1.0/ternary_tree/
> A Rust implementation of Ternary Search Trees, with no unsafe blocks

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

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

8. "Выпуск языка программирования Rust 1.39"  +1 +/
Сообщение от Нонон (?), 09-Ноя-19, 09:46 
Поздравляю всех вовлечённых)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

52. "Выпуск языка программирования Rust 1.39"  –1 +/
Сообщение от Аноним (44), 09-Ноя-19, 14:53 
Все комменты к данному ответу удалили. Странно все это. Такая флеймообразующая тема. А комментов совсем нет.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

18. "Выпуск языка программирования Rust 1.39"  +24 +/
Сообщение от Аноним (7), 09-Ноя-19, 10:20 
Спасибо языку Rust, я стал большим поклонником C++, теперь его считаю удобным и красивым языком
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

20. "Выпуск языка программирования Rust 1.39"  –2 +/
Сообщение от htower (ok), 09-Ноя-19, 10:42 
уж щас тебе растоманы напихают в панамку от обиды :))))
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

34. "Выпуск языка программирования Rust 1.39"  +4 +/
Сообщение от Нонон (?), 09-Ноя-19, 12:45 
Растаманы сами на плюсах пишут или писали. Так что видимо его сообщение про плюсы никого не цепануло
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

127. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (127), 12-Ноя-19, 03:10 
Пихалка не выросла. А попробуют - так плюсовики её быстро ему обратно засунут до состояния дырки.
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

71. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от a3k (?), 09-Ноя-19, 19:10 
Ну C++ действительно стал лучше в последние годы.
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

75. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от burjui (ok), 09-Ноя-19, 19:47 
И ещё надёжным и безопасным.
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

21. "Выпуск языка программирования Rust 1.39"  –5 +/
Сообщение от Аноним (-), 09-Ноя-19, 10:48 
Что там сказал Линус про Раст, давайте вспомнем.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

33. "Выпуск языка программирования Rust 1.39"  +5 +/
Сообщение от Аноним (33), 09-Ноя-19, 12:38 
Вспоменать надо npm leftpad. Все остальное не заслуживает вспоменания.
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

41. "Выпуск языка программирования Rust 1.39"  +1 +/
Сообщение от Аноним (41), 09-Ноя-19, 13:32 
Ну что, вспомнели?
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

82. "Выпуск языка программирования Rust 1.39"  +4 +/
Сообщение от Аноним (82), 09-Ноя-19, 21:10 
> That's not a new phenomenon at all. We've had the system people who used Modula-2 or Ada, and I have to say Rust looks a lot better than either of those two disasters.

Ты об этом? Так это, наверное, самая большая похвала, которую можно получить от Линуса, если ты не C.

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

25. "Выпуск языка программирования Rust 1.39"  +3 +/
Сообщение от анонимчик (?), 09-Ноя-19, 11:41 
> Rust избавляет разработчика от манипулирования указателями

спасибо, но нет.

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

105. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (105), 10-Ноя-19, 21:50 
Я тоже люблю указатели =)
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

31. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (31), 09-Ноя-19, 12:22 
Ну что там, хрусты, ваш язык ещё не целиком состоит из двух-трёхбуквенных кейвордов?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

36. "Выпуск языка программирования Rust 1.39"  –3 +/
Сообщение от Ppp (?), 09-Ноя-19, 12:58 
Rust переводиться так - ржавчина.
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

51. "Выпуск языка программирования Rust 1.39"  –1 +/
Сообщение от Аноним (51), 09-Ноя-19, 14:50 
rust
[rʌst]

1. сущ.

1) коррозия; ржавчина
2) бот. ржавчина (жёлто-оранжевые пятна на листах и стеблях растений в местах, где развиваются споры паразитных грибов)
3) разг. деньги
4) моральное разложение; коррупция, продажность
5) вредное влияние безделья, бездеятельности (на характер, способности)

2. гл.

1)
а) ржаветь, покрываться ржавчиной; подвергаться коррозии
б) подвергать коррозии; окислять

2)
а) ухудшаться, портиться, притупляться, вырождаться (от бездействия)
б) притуплять, ослаблять (память, ум)
в) томиться от безделья

3) портить, развращать, разлагать

4)
а) становиться рыжим; приобретать рыжеватый цвет
б) придавать рыжий, рыжеватый цвет

5) бот. быть поражённым ржавчиной (о растениях)

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

47. "Выпуск языка программирования Rust 1.39"  –1 +/
Сообщение от red75prim (?), 09-Ноя-19, 13:56 
Две буквы "fn" таки получше нуля букв.
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

48. "Выпуск языка программирования Rust 1.39"  +1 +/
Сообщение от Аноним (44), 09-Ноя-19, 14:14 
Нуль букв лучше чем "fn".
Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

106. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (105), 10-Ноя-19, 21:52 
А зачем додумывать лучше явно сказать, а то мало ли еще чего во вселенной придумают данные или фунции не все ... Есть еще время и гравитация =)
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

35. "Выпуск языка программирования Rust 1.39"  –1 +/
Сообщение от Ppp (?), 09-Ноя-19, 12:53 
Книга которая у них на сайте отражает последние изменения в языке? Если нет то как учить этот Rust?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

38. "Выпуск языка программирования Rust 1.39"  +3 +/
Сообщение от Аноним (38), 09-Ноя-19, 13:25 
Нет. Текущая книга явно сильно отстает по фичам от текущего раста (по крайней мере, пример с сервером написан без асинков). Но для тех же плюсов тоже нет единой книги, которая написана человеческим языком и охватывает все самые последние возможности языка и обновляется с выходом каждой новой версии.

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

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

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

53. "Выпуск языка программирования Rust 1.39"  +1 +/
Сообщение от Аноним (51), 09-Ноя-19, 14:54 
> для тех
> же плюсов тоже нет единой книги, которая написана человеческим языком и
> охватывает все самые последние возможности языка и обновляется с выходом каждой
> новой версии.

Книга называется черновик стандарта.

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

126. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (125), 12-Ноя-19, 03:09 
> написан без асинков

Асинк стабилизировали буквально только что, а появление асинк конструкций не означает ни исчезание блокирующих ари, ни наличие асинхронных в стд. Всю канитель с асинком сейчас описывают в отдельной async book

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

40. "Выпуск языка программирования Rust 1.39"  –1 +/
Сообщение от Аноним (44), 09-Ноя-19, 13:32 
Просто чтобы ты был в курсе get started и документации больше чем достаточно для любого языка. Сейчас так то 2019 год.

Ты либо очень старый либо очень молодой.

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

103. "Выпуск языка программирования Rust 1.39"  +1 +/
Сообщение от Sgt. Gram (?), 10-Ноя-19, 21:26 
> Книга которая у них на сайте отражает последние изменения в языке? Если нет то как учить этот Rust?

Выучи для начала пунктуацию.

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

107. "Выпуск языка программирования Rust 1.39"  –2 +/
Сообщение от Аноним (105), 10-Ноя-19, 21:53 
Сам ты плохой
Ответить | Правка | ^ к родителю #103 | Наверх | Cообщить модератору

39. "Выпуск языка программирования Rust 1.39"  –1 +/
Сообщение от Аноним (38), 09-Ноя-19, 13:27 
Ну что, поздравляю всех, асинки в стандарте!

Что там со стабилизацией токио с поддержкой асинков?

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

46. "Выпуск языка программирования Rust 1.39"  –2 +/
Сообщение от Аноним84701 (ok), 09-Ноя-19, 13:45 
> Кроме библиотеки Stylo для css. Библиотеки Карл!

А пацаны-то как, в курсе?
https://www.rust-lang.org/production/users


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

50. "Выпуск языка программирования Rust 1.39"  –2 +/
Сообщение от Аноним (44), 09-Ноя-19, 14:47 
Какие-то стремнинные поделки у которых нет применения за пределами компаний которые их создали. Причем если копнуть глубже то сразу понятно что там ссылка на какую-то мало вменяемую статью как у Dropbox. Раст они уже давно не применяют. Или ссылка на гитхаб с двумя звездами от создателей. У некоторых проект на ноджс где они там раст применяют не понятно на зато в ссылку их добавили.

Но зато фанатики молятся на эту ссылку как на иконостас не зависимо что на самом деле делают с растом эти компании и делают ли.

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

57. "Выпуск языка программирования Rust 1.39"  +3 +/
Сообщение от Аноним84701 (ok), 09-Ноя-19, 15:59 
> Какие-то стремнинные поделки у которых нет применения за пределами компаний которые их создали.

Какое-то стремное сруливание с изначального (удаленного) "нету в продакшене!"
Кстати, под эту прогрессивную анонимную классификацию ЯП попадает тот же  Erlang. Всегда подозревал что-то эдакое!

>  Причем если копнуть глубже то сразу понятно что там ссылка на какую-то мало вменяемую статью как у Dropbox. Раст они уже давно не применяют. Или ссылка

Ну если анониму понятно, тогда да, так оно на самом деле и есть! А всякие <…> по ссылкам:

https://github.com/dropbox?utf8=%E2%9C%93&q=&...
>  An implementation of https://github.com/google/brotli in rust avoiding the stdlib
> Updated Feb 12, 2019
> Dropbox SDK for Rust
> Updated Sep 11, 2019

Media-IO
> Specialized in Broadcast and Cinema technologie, we are using Rust for our microservice workers and for our native web player.

https://github.com/media-io?utf8=%E2%9C%93&q=...

Beget
> As part of backup, resource management systems and DDOS mitigation

Cloudflare
https://github.com/cloudflare?utf8=%E2%9C%93&...
> Cloudflare's implementation of the NTS protocol written in Rust
> Savoury implementation of the QUIC transport protocol and HTTP/3

наверняка фейки злопыхателей-завистников.


> Но зато фанатики молятся на эту ссылку как на иконостас не зависимо что на самом деле делают с растом эти компании и делают ли.

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

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

59. "Выпуск языка программирования Rust 1.39"  +1 +/
Сообщение от Аноним (59), 09-Ноя-19, 17:13 
Ты хотя бы адекватный не бросаешься всякими синтетическими тестами.

Надеюсь не надо объяснять что твои ссылки это поделки которые написаны на расте просто чтобы хоть что-то написать на расте. Тот же Media-io суммарно все 16 проектов на расте получили 48 звезд. Остальное и комментировать смешно. Ты просто подтвердил мои слова своими ссылкам.

Твой припек вполне объясним тем что фанатизм не приводит ни к чему хорошему.

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

68. "Выпуск языка программирования Rust 1.39"  +4 +/
Сообщение от Аноним84701 (ok), 09-Ноя-19, 18:50 
> это поделки которые
> Тот же Media-io суммарно все 16 проектов на расте получили 48 звезд.
> Остальное и комментировать смешно.

Какая аргументативная аргументация o_O

> Надеюсь не надо объяснять что
> Ты просто подтвердил мои слова своими ссылкам.

Для полноты не хватает "И вообще, это знают все!1" (с)

> Твой припек вполне объясним тем что фанатизм не приводит ни к чему хорошему.

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

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

74. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от burjui (ok), 09-Ноя-19, 19:45 
Нормальные аргументы от анонимов на этом ресурсе - это ты хорошо пошутил. Тут каждый второй писал на C++ лабы в своей шараге и считает своим долгом блеснуть своим "опытом разработки" и облить помоями Rust, потому что последние две извилины разгладились на понятиях ownership и borrowing, а синтаксис вызывает панические атаки. Элита computer science, короче.
Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

96. "Выпуск языка программирования Rust 1.39"  –2 +/
Сообщение от Аноним (96), 10-Ноя-19, 15:12 
Чувак ты даже никуда не поступил и ни одной строчки на Расте не написал, но зато со своим мнением сюда пришел. Больше того ты работаешь в 1С-Битрикс говнокодишь на пихе, ты создаешь УГ. Как вообще у тебя рот открывается что-то тут писать я просто поражаюсь.
Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

109. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от burjui (ok), 11-Ноя-19, 03:01 
1. Я поступал в 2 разных ВУЗа, из первого вылетел, из второго ушёл сам по личным обстоятельствам. Правда, какое это отношение имеет к программированию?

2. На расте я написал больше одной строчки.
https://gitlab.com/bytefu/rambo
Это мой хобби-проект компилятора, генерит промежуточный код в форме SSA с базовыми оптимизациями, а из него - код для RISC-V.

3. В 1С-Битрикс я не работаю уже несколько лет, и там я писал не на PHP, а на Java, и не саму CMS (или как оно называется), а приложение Битрикс24 для Android.

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

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

102. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от SOska (?), 10-Ноя-19, 21:17 
Можно пример твоих супер поднлок на расте и сплюсах?
Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

97. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (96), 10-Ноя-19, 15:16 
Ну конечно аргументация Растобоев с их ссылкой на какой-то очень сомнительный список это верх аргументированности. И ведь даже не могут признать что язык их не нужен. Все пытаются выжать хоть что-то.
Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

77. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от souryogurt (ok), 09-Ноя-19, 20:38 
Ну кстати, много же раз уже обсуждались эти async функции в других языках. Эта фишка распространяется по коду как вирус, стоит только добавить одну такую функцию и все.. приходится все функции которые ее вызывают тоже делать async. Сам пробовал в питоне это. Исправте если ошибаюсь, как раз поэтому async и не внедрили в C++. Или в раст этот минус как-то обошли?
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

79. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от red75prim (?), 09-Ноя-19, 20:53 
async функция в расте возвращает структуру, которая реализует трейт Future, то есть реализует асинхронное вычисление. Из обычной функции можно вызвать асинхронную, получить эту структуру и что-то с нею сделать. Например, запустить на выполнение не ожидая результата (только если используется многопоточный экзекьютор), или запустить на выполнение и заблокироваться до получения результата.
Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

92. "Выпуск языка программирования Rust 1.39"  –3 +/
Сообщение от Forthemail (ok), 10-Ноя-19, 12:06 
На питоне не пробовал, но особой проблемы не вижу. На Java много писал асинхронного кода, вполне успешно смешивается тот и другой подход.
Если вызываемый код не будет вставать на ожидании ресурса или не делает долгих вычислений, то конечно его можно вызвать синхронно.
Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

128. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (127), 12-Ноя-19, 03:13 
Кому надо async в c++ - или берёт буст или стороннюю библиотеку. В итоге всё равно получается коллбачная лапша, но в стандарте такого нет.
Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

54. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (-), 09-Ноя-19, 15:23 
Все нравится кроме того, что компилер оставляет неиспользуемые функции и статические строки, на которые нет ссылок в коде.
Ответ хоть от кого-нибудь почему компилер так делает мне получить не удалось. Вот пример https://godbolt.org/z/8AE_S_
Получить бинарник в 60мб не такая уж недостижимая цель для раста. При этом до функциональности приложения, написанного с использванием какого-нибудь Electron'а, довольно далеко.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

55. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (55), 09-Ноя-19, 15:32 
Кстати жаба компилируется.

https://github.com/oracle/graal/blob/master/substratevm/LIMI...

оракл видимо собрался го закопать

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

56. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от red75prim (?), 09-Ноя-19, 15:55 
Потому что функция в публичном интерфейсе как член трейта. Выкидывать функции, которые могут быть вызваны, но не вызываются, - задача линкера. Собирайте с LTO.
Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

58. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (51), 09-Ноя-19, 17:00 
Статические строки разве экспортируются?
Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору

61. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (-), 09-Ноя-19, 17:32 
Странно, со своим компилятором, но уже новой версии, не могу воспроизвести то поведение. (С лто или без)
>Потому что функция в публичном интерфейсе

Можно подробнее? trait же не pub.

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

131. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от 11 (?), 12-Ноя-19, 21:33 
Trait всегда pub
Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

133. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (-), 13-Ноя-19, 11:20 
Тут написано обратное https://doc.rust-lang.org/reference/visibility-and-privacy.html
Ответить | Правка | ^ к родителю #131 | Наверх | Cообщить модератору

62. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (62), 09-Ноя-19, 17:53 
https://play.rust-lang.org/?version=stable&mode=release&edit...
А вот тут почему-то всё вырезается, даже не доходя до LLVM IR.
Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

64. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (-), 09-Ноя-19, 18:01 
Да, я отписал выше уже. На тот момент (где-то пару месяцев назад) мне никакими средствами неудавалось добиться удаления непубличного, неиспользуемого кода/данных в найтли.
Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

65. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (-), 09-Ноя-19, 18:04 
Эта версия видимо просит выдать листинг сам компилятор. Через cargo rustc --release -- --emit asm
Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

81. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (81), 09-Ноя-19, 21:06 
Я слышу хруст!
Интересно, если даже разрабы на плюсах говорят, что до конца в них не разбираются, то сколько же человек понимают сабж?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

85. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от анонимчик (?), 09-Ноя-19, 23:08 
это из-за неуместных сокращений, заглавных букв в библиотечных функциях и mut
Ответить | Правка | ^ к родителю #81 | Наверх | Cообщить модератору

90. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Junior frontend developer (?), 10-Ноя-19, 09:26 
Откуда вы беретесь, не пойму? Один из самых красивых и приятных языков, что сейчас существует.
Ответить | Правка | ^ к родителю #81 | Наверх | Cообщить модератору

101. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от анонимчик (?), 10-Ноя-19, 18:47 
просто у вас нет вкуса. кому-то и кобыла невеста.
Ответить | Правка | ^ к родителю #90 | Наверх | Cообщить модератору

110. "Выпуск языка программирования Rust 1.39"  +1 +/
Сообщение от Junior frontend developer (?), 11-Ноя-19, 03:36 
> просто у вас нет вкуса. кому-то и кобыла невеста.

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

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

134. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (-), 13-Ноя-19, 12:35 
>точно знаю, что этот наиболее приятный,

А Питон?

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

88. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (-), 10-Ноя-19, 05:59 
Вопрос знатокам, как в эмбеде идут дела и Раста?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

93. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от nelsonemail (??), 10-Ноя-19, 12:10 
Как-то так: )
http://forum.easyelectronics.ru/viewtopic.php?f=56&t=38543#
http://forum.easyelectronics.ru/viewtopic.php?f=56&t=37958
Ответить | Правка | ^ к родителю #88 | Наверх | Cообщить модератору

94. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Forthemail (ok), 10-Ноя-19, 12:12 
Есть группа embedded rust, которая занимается как раз этим.
Пользуюсь их наработками по портам для cortex m4 и рядом библиотек со статическими коллекциями и генератором кода из svd.
Пока проблемы не ловил. Отладка работает, через openocd в основном.
Ответить | Правка | ^ к родителю #88 | Наверх | Cообщить модератору

95. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Гражданин (?), 10-Ноя-19, 13:22 
Чего только не придумаешь, чтобы не учить Free Pascal.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

100. "Выпуск языка программирования Rust 1.39"  –1 +/
Сообщение от Anonymoustus (ok), 10-Ноя-19, 17:39 
> Чего только не придумаешь, чтобы не учить Free Pascal.

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

А один так и вовсе бегает и нервно подчищает нехрустоугодные комментарии.

«Отличный» язычок, раз у него такие невменяемые фанаты. :)

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

112. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (112), 11-Ноя-19, 10:35 
> «Отличный» язычок, раз у него такие невменяемые фанаты. :)

Самые невменяемые фанаты у С. Всё что не С - по умолчанию говно

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

124. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (124), 11-Ноя-19, 21:01 
А, ещё вы жутко брехливы, вот и тут... - почему же "по умолчанию"... Вовсе нетак. Всё внимательно анализируется.

Да и не всегда говно когда оно говно, например помню как поразился когда то увидев бодренькие 3D-гонки на ~2-ом пеньке у знакомого
- написанные на Delphi... (правда тогда их ещё не окончательно залагали гигабайтами системных библиотек и VCL, с интеграцией с .NET)
(Они должно быть выкинули весь VCL и писали на WinAPI
и т.о.даже сравнительно с Сями немного-поганенькой оптимизациями Delphi - хватало для настолько динамичной игры,
но в целом - на Delphi игры всегда лагали, хоть со времнем это перестало быть заметно из-за мощности ЦПУ, как воможно произошло и с той игрой на пеньке-2,
и тот кто делал в т.ч.вопреки моему совету делать игры на Си - потом сильно жалели,
в ч.н.когда у них например даже курсор тормозил в анимированном 2D квесте на топовом ПК 2003-5 года,
что уж точно никак не способствовало продажам игры,
а аргументация же до того была проста: Сяшников дороже нанимать, - ну да, ну да... Съэкономили!
Но, того было мало - следующий проект делали на C#, с такими же заявлениями как у Rust'овцев о скорости,
в итоге как позже читал в блоге: всё гипер залагав - тратили кучу внепланово времени/денег и в итоге Ж.всей фирме, если в кратце)

Теоретически и на Quick/VisualBasic(aka упрощённый C# технологически) и Rust - наверняка можно делать достаточно быстро
(правда что то ни разу такого не видел, а у меня раньше была привычка смотреть что на чём написанно,
и тормоза у таких - всегда были... либо для устранения тех - значительно пониженное качество),
но для этого прийдётся выкинуть все Rust "ноухау" фичи из головы...

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

129. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (112), 12-Ноя-19, 14:42 
Так вроде игры и делают на С# и сложное на С++. Почему так исход у историй?
Ответить | Правка | ^ к родителю #124 | Наверх | Cообщить модератору

130. "Выпуск языка программирования Rust 1.39"  –1 +/
Сообщение от Аноним (130), 12-Ноя-19, 19:02 
1) Компания очень маленькая, отечественная, т.е.полностью отечественная - все фанаты игр;

2) у нас повсеместная очень жосткая пирастия, ну это то не новость и заложенный риск, но в итоге - предыдущие игры еле-еле отбивались;

3) как следствие недостаток финансирования, частая утечка кадров и неуспеваемость набрать опыта персоналом;

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

6) неадекватное доверие к мнению друзей (некомпетентных значит, как по факту вышло); и неповезло с их выбором языка программирования - уже чисто невезуха;

7) игнорирование моего намёка директору о использовании Си :)  
(ну т.е.можно сказать осознанный выбор его в пользу удешевления найма),
тем более руководству знакомый/более доверенный программист, возгравивший проект, как и тут на opennet растоманы, - в грудь бил себя о тождественности Си производительности у С#...
(а, когда стало ясно что у проекта завал гипер-лагами - свалил к конкурентам, подговорив и остальных большинство...
да и такая цепочка событий тупо из-за лагов бывает)

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

114. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (116), 11-Ноя-19, 14:06 
>А один так и вовсе бегает и нервно подчищает нехрустоугодные комментарии.

Миша фанат Раста? Даланавам, лукавити.

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

123. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Anonymoustus (ok), 11-Ноя-19, 19:53 
>>А один так и вовсе бегает и нервно подчищает нехрустоугодные комментарии.
> Миша фанат Раста? Даланавам, лукавити.

Нет, я говорю про микроба под ником Forth. Фанатично трёт нехрустоугодные высказывания.

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

108. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (105), 10-Ноя-19, 21:55 
О спасибо за напоминание - пошел почитаю. Интересно было сделать на нем список =)
Ответить | Правка | ^ к родителю #95 | Наверх | Cообщить модератору

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

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




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

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