Rust и std::sync::mpsc
Каким образом работает в расте std::sync::mpsc? Send отправляет данные подобно пайпам или только указатель не переменную?
Каким образом работает в расте std::sync::mpsc? Send отправляет данные подобно пайпам или только указатель не переменную?
1. Задача такова: программе на rust нужно скормить 20 строк, не используя stdin. Программа без аргументов, поэтому можно загонять строки таким образом. При необходимости будет несколько файлов-лаунчеров с нужными строками - не критично. Хочется гибкости и незахламленного кода, что будет производительнее: через аргументы или явно в коде через файл, который в tmpfs? Есть ли ещё способы?
2. Как производным доступом обращаться к значениям std::env::args без накладных расходов? Nth каждый раз проходит по итератору, преобразование в вектор через collect не бесплатно, да и лишний он тут: массива достаточно, но как его получить.. Аргументы разве не в самом процессе хранятся, чтоб как с массивом с ними работать?
Начитался хорошего о расте - весь он из себя такой безопасный и производительный.
1. Но его ли это заслуги? Он основан на llvm - это его фундамент, написанный на c++. Но поговаривают, что раст может компилировать сам себя, но на гитхабе есть информация: для сборки необходим компилятор c++. Т.е. получается ir код llvm компилирует компилятор раста, который является кодогенератором последующего ir llvm кода растовских программ? Я правильно уловил суть?
2. Может ли раст быть заменой плюсов на экзотических процессорах?
3. Если раст станет де-факто стандартом системного программирования, то какие возможны способы расту стать самостоятельным? Переписать llvm на раст?
4. Стоит ли ожидать забвения llvm по инициативе apple, например? Llvm начали они, теперь у них есть swift..
5. Rust - это надолго и серьёзно или очередной эксперимент? Потянет ли его мозилла с её текущей политикой развития firefox?