URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 118963
[ Назад ]

Исходное сообщение
"Выпуск языка программирования Rust 1.39"

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

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


Содержание

Сообщения в этом обсуждении
"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 09:46 
Хороший язык программирования. На бумаге. Правда на нем невозможно реализовать некоторые алгоритмы (например дерево)

"Выпуск языка программирования Rust 1.39"
Отправлено Нонон , 09-Ноя-19 09:47 
Какое дерево? 🌲
Ну и можно пруфы что ли?

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 09:48 
Проходи мимо, куда шел, зачем тебе пруфы

"Выпуск языка программирования Rust 1.39"
Отправлено Нонон , 09-Ноя-19 09:55 
В расте даже есть конструкции со счётчиком ссылок аля сборщик мусора.. там есть все на все случаи жизни и даже больше. И если кто-то говорит что на расте что-то сделать нельзя - то это просто нелепость какая-то..

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 09:56 
Да-да есть, но написано оно на unsafe (считай на си), а не на самом языке

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 10:30 
Так ведь не цели избавиться от unsafe везде и вся.
Это ведь просто кукок кода где программист должен чувствовать больше ответственности.
Можно сказать в unsafe мире благодаря Rust появляется директива safe, но всё и полностью safe не будет никогда.

"Выпуск языка программирования Rust 1.39"
Отправлено ыы , 09-Ноя-19 11:02 
Тогда я просто возьму C++ и превращу весь свой код в мешанину из unique_ptr и скажу - вот это крутая парадигма

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

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

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


"Выпуск языка программирования Rust 1.39"
Отправлено ыы , 09-Ноя-19 20:47 
Ну ты мягко говоря некомпетентен. unique_ptr не имеет runtime cost

"Выпуск языка программирования Rust 1.39"
Отправлено виндотролль , 09-Ноя-19 23:51 
> unique_ptr не имеет runtime cost

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

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


"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 11-Ноя-19 14:13 
Пусть говорят. Это несравнимо с тем, сколько ресурсов потребляют браузеры.

"Выпуск языка программирования Rust 1.39"
Отправлено cppguy , 13-Ноя-19 09:49 
Есть https://www.youtube.com/watch?v=rHIkrotSwcc

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 13:34 
> не цели избавиться от unsafe везде и вся

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


"Выпуск языка программирования Rust 1.39"
Отправлено red75prim , 09-Ноя-19 14:31 
Чтобы логические ошибки в большей части кода не приводили к UB со всеми вытекающими: buffer overflow, memory corruption, use after free, ошибки из-за data races и т.п.

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

"Выпуск языка программирования Rust 1.39"
Отправлено Нонон , 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] то от этого никто не умрет и код медленнее не станет. Атвичаю


"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 21:01 
В C++ так же, есть vec[5] и vec.at(5)

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

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


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

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

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

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

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

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

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


"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 12-Ноя-19 03:04 
А ты каждый день пишешь дерево? "Ежедневная" логика обычно спокойно обходится без адских циклических референсов

"Выпуск языка программирования Rust 1.39"
Отправлено alex , 09-Ноя-19 11:32 
по твоей логике выходит, что С то еще говнецо, ни ядра операционки на нем не написать, ни быстрой математики, ни криптографии. Везде нужны ассемблерные вставки, а это уже не С.

"Выпуск языка программирования Rust 1.39"
Отправлено ыы , 09-Ноя-19 11:57 
Что за бред я только что прочитал

"Выпуск языка программирования Rust 1.39"
Отправлено alex , 09-Ноя-19 12:13 
c такой слабой понималкой никакое бинарное дерево ты не напишеш, даже на питоне.

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 13:36 
Если долго писать на Ассемблере твой код превратится в C из ассемблерных макросов. Плавали знаем.

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

"Выпуск языка программирования Rust 1.39"
Отправлено Грусть , 09-Ноя-19 09:58 
https://doc.rust-lang.org/std/collections/struct.BTreeSet.html

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 12:01 
Бревна - это древнее г-но, которое давно пора похоронить и перейти на теговую семантику.

"Выпуск языка программирования Rust 1.39"
Отправлено ыы , 09-Ноя-19 12:03 
Вместо перехода по указателю каждый раз искать ID в хещтаблице или что ты имеешь в виду?

"Выпуск языка программирования Rust 1.39"
Отправлено Safe , 09-Ноя-19 12:31 
вроде можно с помощью raw pointers реализовать дерево в rust?

"Выпуск языка программирования Rust 1.39"
Отправлено a3k , 09-Ноя-19 19:07 
Можно и без unsafe, были б руки прямые.

"Выпуск языка программирования 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);
}


"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 11-Ноя-19 15:44 
Т.е. unsafe с сырыми указателями во все дыры засунуть? Как не рекомендуется делать в расте? Тогда может лучше на Си?

"Выпуск языка программирования Rust 1.39"
Отправлено IsCbetterThanRust , 11-Ноя-19 16:24 
это же вроде один из примеров реализации дерева в Rust?
разве то, что в C явно не указывается, что safe, а что unsafe - это лучше, чем в Rust?

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 11-Ноя-19 17:53 
Лучше бы было если бы была представлена реализация без unsafe-приемчиков.

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 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

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


"Выпуск языка программирования Rust 1.39"
Отправлено Нонон , 09-Ноя-19 09:46 
Поздравляю всех вовлечённых)

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 14:53 
Все комменты к данному ответу удалили. Странно все это. Такая флеймообразующая тема. А комментов совсем нет.

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 10:20 
Спасибо языку Rust, я стал большим поклонником C++, теперь его считаю удобным и красивым языком

"Выпуск языка программирования Rust 1.39"
Отправлено htower , 09-Ноя-19 10:42 
уж щас тебе растоманы напихают в панамку от обиды :))))

"Выпуск языка программирования Rust 1.39"
Отправлено Нонон , 09-Ноя-19 12:45 
Растаманы сами на плюсах пишут или писали. Так что видимо его сообщение про плюсы никого не цепануло

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 12-Ноя-19 03:10 
Пихалка не выросла. А попробуют - так плюсовики её быстро ему обратно засунут до состояния дырки.

"Выпуск языка программирования Rust 1.39"
Отправлено a3k , 09-Ноя-19 19:10 
Ну C++ действительно стал лучше в последние годы.

"Выпуск языка программирования Rust 1.39"
Отправлено burjui , 09-Ноя-19 19:47 
И ещё надёжным и безопасным.

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 10:48 
Что там сказал Линус про Раст, давайте вспомнем.

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 12:38 
Вспоменать надо npm leftpad. Все остальное не заслуживает вспоменания.

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 13:32 
Ну что, вспомнели?

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 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.


"Выпуск языка программирования Rust 1.39"
Отправлено анонимчик , 09-Ноя-19 11:41 
> Rust избавляет разработчика от манипулирования указателями

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


"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 10-Ноя-19 21:50 
Я тоже люблю указатели =)

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 12:22 
Ну что там, хрусты, ваш язык ещё не целиком состоит из двух-трёхбуквенных кейвордов?

"Выпуск языка программирования Rust 1.39"
Отправлено Ppp , 09-Ноя-19 12:58 
Rust переводиться так - ржавчина.

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 14:50 
rust
[rʌst]

1. сущ.

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

2. гл.

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

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

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

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

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


"Выпуск языка программирования Rust 1.39"
Отправлено red75prim , 09-Ноя-19 13:56 
Две буквы "fn" таки получше нуля букв.

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 14:14 
Нуль букв лучше чем "fn".

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 10-Ноя-19 21:52 
А зачем додумывать лучше явно сказать, а то мало ли еще чего во вселенной придумают данные или фунции не все ... Есть еще время и гравитация =)

"Выпуск языка программирования Rust 1.39"
Отправлено Ppp , 09-Ноя-19 12:53 
Книга которая у них на сайте отражает последние изменения в языке? Если нет то как учить этот Rust?

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

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

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


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

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


"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 12-Ноя-19 03:09 
> написан без асинков

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


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

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


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

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


"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 10-Ноя-19 21:53 
Сам ты плохой

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 13:27 
Ну что, поздравляю всех, асинки в стандарте!

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


"Выпуск языка программирования Rust 1.39"
Отправлено Аноним84701 , 09-Ноя-19 13:45 
> Кроме библиотеки Stylo для css. Библиотеки Карл!

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



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

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


"Выпуск языка программирования Rust 1.39"
Отправлено Аноним84701 , 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

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


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

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


"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 17:13 
Ты хотя бы адекватный не бросаешься всякими синтетическими тестами.

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

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


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

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

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

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

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

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


"Выпуск языка программирования Rust 1.39"
Отправлено burjui , 09-Ноя-19 19:45 
Нормальные аргументы от анонимов на этом ресурсе - это ты хорошо пошутил. Тут каждый второй писал на C++ лабы в своей шараге и считает своим долгом блеснуть своим "опытом разработки" и облить помоями Rust, потому что последние две извилины разгладились на понятиях ownership и borrowing, а синтаксис вызывает панические атаки. Элита computer science, короче.

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 10-Ноя-19 15:12 
Чувак ты даже никуда не поступил и ни одной строчки на Расте не написал, но зато со своим мнением сюда пришел. Больше того ты работаешь в 1С-Битрикс говнокодишь на пихе, ты создаешь УГ. Как вообще у тебя рот открывается что-то тут писать я просто поражаюсь.

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

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

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

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


"Выпуск языка программирования Rust 1.39"
Отправлено SOska , 10-Ноя-19 21:17 
Можно пример твоих супер поднлок на расте и сплюсах?

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 10-Ноя-19 15:16 
Ну конечно аргументация Растобоев с их ссылкой на какой-то очень сомнительный список это верх аргументированности. И ведь даже не могут признать что язык их не нужен. Все пытаются выжать хоть что-то.

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

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

"Выпуск языка программирования Rust 1.39"
Отправлено Forth , 10-Ноя-19 12:06 
На питоне не пробовал, но особой проблемы не вижу. На Java много писал асинхронного кода, вполне успешно смешивается тот и другой подход.
Если вызываемый код не будет вставать на ожидании ресурса или не делает долгих вычислений, то конечно его можно вызвать синхронно.

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 12-Ноя-19 03:13 
Кому надо async в c++ - или берёт буст или стороннюю библиотеку. В итоге всё равно получается коллбачная лапша, но в стандарте такого нет.

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

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

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

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


"Выпуск языка программирования Rust 1.39"
Отправлено red75prim , 09-Ноя-19 15:55 
Потому что функция в публичном интерфейсе как член трейта. Выкидывать функции, которые могут быть вызваны, но не вызываются, - задача линкера. Собирайте с LTO.

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 17:00 
Статические строки разве экспортируются?

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

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


"Выпуск языка программирования Rust 1.39"
Отправлено 11 , 12-Ноя-19 21:33 
Trait всегда pub

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 13-Ноя-19 11:20 
Тут написано обратное https://doc.rust-lang.org/reference/visibility-and-privacy.html

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 17:53 
https://play.rust-lang.org/?version=stable&mode=release&edit...
А вот тут почему-то всё вырезается, даже не доходя до LLVM IR.

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

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 18:04 
Эта версия видимо просит выдать листинг сам компилятор. Через cargo rustc --release -- --emit asm

"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 09-Ноя-19 21:06 
Я слышу хруст!
Интересно, если даже разрабы на плюсах говорят, что до конца в них не разбираются, то сколько же человек понимают сабж?

"Выпуск языка программирования Rust 1.39"
Отправлено анонимчик , 09-Ноя-19 23:08 
это из-за неуместных сокращений, заглавных букв в библиотечных функциях и mut

"Выпуск языка программирования Rust 1.39"
Отправлено Junior frontend developer , 10-Ноя-19 09:26 
Откуда вы беретесь, не пойму? Один из самых красивых и приятных языков, что сейчас существует.

"Выпуск языка программирования Rust 1.39"
Отправлено анонимчик , 10-Ноя-19 18:47 
просто у вас нет вкуса. кому-то и кобыла невеста.

"Выпуск языка программирования Rust 1.39"
Отправлено Junior frontend developer , 11-Ноя-19 03:36 
> просто у вас нет вкуса. кому-то и кобыла невеста.

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


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

А Питон?


"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 10-Ноя-19 05:59 
Вопрос знатокам, как в эмбеде идут дела и Раста?

"Выпуск языка программирования Rust 1.39"
Отправлено nelson , 10-Ноя-19 12:10 
Как-то так: )
http://forum.easyelectronics.ru/viewtopic.php?f=56&t=38543#
http://forum.easyelectronics.ru/viewtopic.php?f=56&t=37958

"Выпуск языка программирования Rust 1.39"
Отправлено Forth , 10-Ноя-19 12:12 
Есть группа embedded rust, которая занимается как раз этим.
Пользуюсь их наработками по портам для cortex m4 и рядом библиотек со статическими коллекциями и генератором кода из svd.
Пока проблемы не ловил. Отладка работает, через openocd в основном.

"Выпуск языка программирования Rust 1.39"
Отправлено Гражданин , 10-Ноя-19 13:22 
Чего только не придумаешь, чтобы не учить Free Pascal.

"Выпуск языка программирования Rust 1.39"
Отправлено Anonymoustus , 10-Ноя-19 17:39 
> Чего только не придумаешь, чтобы не учить Free Pascal.

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

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

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


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

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


"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 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 "ноухау" фичи из головы...


"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 12-Ноя-19 14:42 
Так вроде игры и делают на С# и сложное на С++. Почему так исход у историй?

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

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

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

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

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

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


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

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


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

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


"Выпуск языка программирования Rust 1.39"
Отправлено Аноним , 10-Ноя-19 21:55 
О спасибо за напоминание - пошел почитаю. Интересно было сделать на нем список =)