The OpenNET Project / Index page

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



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

Оглавление

Выпуск языка программирования Rust 1.47, opennews (ok), 08-Окт-20, (0) [смотреть все]

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


167. "Выпуск языка программирования Rust 1.47"  +1 +/
Сообщение от сукуб (?), 09-Окт-20, 18:00 
Покажи мне контроллер на rust. не embedded os или rtos, в которые уже вообще всё пихают. а именно контроллер.

типа такого: https://www.boschrexroth.com/en/xc/products/product-groups/m...

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

197. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Ordu (ok), 09-Окт-20, 20:19 
> Покажи мне контроллер на rust. не embedded os или rtos, в которые
> уже вообще всё пихают. а именно контроллер.
> типа такого: https://www.boschrexroth.com/en/xc/products/product-groups/m...

А в чём проблема этот контроллер запрограммировать на rust'е?

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

200. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от сукуб (?), 09-Окт-20, 20:33 
Вопрос был не в можно или нельзя, может и можно. Но зачем?
Вопрос был в есть или нет. По факту нет. То что нет это не значит что нельзя.

А нет потому что пока ты будешь делать его на rust, люди на C++ уже 10 продуктов выпустят.

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

206. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Ordu (ok), 09-Окт-20, 21:00 
> Вопрос был не в можно или нельзя, может и можно.

Вообще-то, вопроса не было. Была просьба показать.

> Но зачем?

Не знаю -- тебе надо, значит ты должен знать. Мне вообще этот контроллер не въелся, ни на C++, ни на rust, на даже на python'е.

> А нет потому что пока ты будешь делать его на rust, люди
> на C++ уже 10 продуктов выпустят.

Ой не факт. Раст очень хорошо интероперирует с C и C++. Там ffi сделан максимально безболезненным и ненапряжным. Он даже чем-то приятнее, чем ffi между C и C++. Вовсе не обязательно переходить на раст одним рывком. Можно выбрать такую стратегию, которая лучше подходит.

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

209. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от сукуб (?), 09-Окт-20, 21:06 
Хорошо, не вопрос.
История тут такова была. Было сказано что на расте программируют контроллеры, я попросил показать контроллер который программируют на расте. Не оказалось.

Я не мега знаток раста, так чуть ковырял, на хорошо в C/C++. Rust как позиционируют? Безопасная работа с памятью мол киллер фича. Так вот эта киллер фича в подобных контроллерах не нужна от слова совсем.

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

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

Из всего этого вывод прост. Rust там не нужен. Его киллер фича просто никому там не нежна. А вот темплейты C++ нужны, когда у тебя целая линейка разных продуктов на одном контроллере.

Ну и конечно куча кода уже готова, его никто не будет переписывать потому что от этого не получишь ну вообще никакого выигрыша.

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

218. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Ordu (ok), 09-Окт-20, 22:53 
> Хорошо, не вопрос.
> История тут такова была. Было сказано что на расте программируют контроллеры, я
> попросил показать контроллер который программируют на расте. Не оказалось.

Тогда я вынужден признать, что я не понимаю вопроса. Что значит "контроллер, который программируют на расте"? Контроллер, который не программируют на C/C++? Контроллер, который чаще программируют на rust'е, чем на C/C++? Контроллер, который кто-то хотя бы раз программировал на rust'е?

> Я не мега знаток раста, так чуть ковырял, на хорошо в C/C++.
> Rust как позиционируют? Безопасная работа с памятью мол киллер фича. Так
> вот эта киллер фича в подобных контроллерах не нужна от слова
> совсем.
> В таких контроллера нет работы с динамической памятью от слова совсем.

Безопасность работы с памятью, о которой говорит раст -- это больше, чем просто RAII. Это гарантии отсутствия data race, причём тут речь идёт не только о конкурентности, речь идёт и о реентерабельности. Динамической памяти может и нет, но разве нет и стека? Стек -- это ведь тоже динамическое выделение памяти, пускай и в ограниченном виде, и даже работа со стеком исключительно может порождать и null-указатели, и dangling-указатели. Работа с вводом-выводом? Она тоже ведь легко заворачивается в растовые абстракции, и может быть даже на уровне машинного кода выглядит как работа с памятью.

На деле я с ембеддщиной общаюсь изредка и чисто по фану, но если интересны впечатления профессионала, который стал профессионалом на поле встройки, пользуясь C, а потом попробовал притащить туда rust, и пришёл в восторг, то вот ссылки:

https://www.ecorax.net/as-above-so-below-1/
https://www.ecorax.net/as-above-so-below-2/

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

Да, растовые дженерики слабее C++. Но есть два нюанса:

1. самый раздражающий меня провал в функциональности дженериков исправили как раз в этом релизе: теперь можно использовать константу в качестве параметра
2. есть макросы -- это не C'шные укуренные макросы, это полноценный макроязык, который заточен на работу с синтаксисом rust'а. Их вполне можно использовать, в отличие от C'шных. То есть, как и с любыми макросами в любом языке, всё же не стоит их использовать без особой нужды, но они позволяют творить очень много чего. На самом деле больше, чем любые шаблоны. В стандартной библиотеке есть немало примеров тому. Взять тот же println!, который вроде как аналог C'шного printf, но он не функция с эллипсисом, он макрос, который парсит форматную строку на этапе компиляции, там же проверяет типы остальных аргументов на соответствие этой форматной строке, и генерит код вывода, согласно форматной строке. Или всякие разные трейты для слайсов разной длины: сейчас вот добавили возможность сделать это без макросов, но это было сделано на макросах, которые генерировали имплементации трейтов для типов [T; N] (в терминах C -- массив длины N с элементом типа T), где T -- это параметризованный тип, а N -- это числа от 1 до 32. В diesel подобное было проделано для таблиц бд с разным количеством полей в записи. На макросах, блин, генераторы парсеров пилят, которые читают файл с описанием грамматики, и генерят код разбора этой грамматики. То есть макросы, по своим возможностям, не хуже лисповских, но чем-то лучше, потому что не в лисповском синтаксисе, который в случае макросов `(погружается ,$в$ 'шизофрению).

> Ну и конечно куча кода уже готова, его никто не будет переписывать потому что от этого не получишь ну вообще никакого выигрыша.

А это вовсе и не нужно, как показывает история. Вон с Cobol'а тоже никто не переписывал. И тем не менее бизнес переехал на Java с Cobol'а. С Fortran'а пытались переписать, чёт как-то не вышло, но и где сегодня фортран? Примерно там же, где и кобол.

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

223. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от сукуб (?), 09-Окт-20, 23:43 
Почитал человечка по ссылка. Спасибо, позновательное чтение.

Дженерики мне и предлагали. К сожалению гибкости и возможности variadic templates мне добиться не удалось с моим уровнем знания rust. Примеров дельных тоже по подобной теме.

В целом rust оказался для меня неудобным языком. Мне не достаточно той инфраструктуры которая для него есть. Поэтому он не прижился. Зачем тратить время на то чем не удобно пользоваться.


По этой же причине массово rust в контроллеры если и влезет, то будет это очень и очень не скоро. А скорее всего никогда. Почему? Потому что вообще уйдёт от их прямого программирования. C/C++ уйдёт, Rust не успеет дойти. Уже сейчас есть инструменты. Там инженер в схемках рисует, а параметры потом просто в уже готовые и проверенные C++ шаблоны пихаются и комбинируется код. Есть такие вообще облачные.

И эти инструменты востребованны.

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

234. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Ivan_83 (ok), 10-Окт-20, 02:16 
Вот только раст хочет быть вместо сишечки и крестиков.
А сишечка почти ровестник кобола и старше фортрана, правда при этом она в как бы другой нише.
Фортран сегодня - в вашей системе, если у вас десктоп на линухе.

Если раст будет так медленно вползать и дальше, то займёт место рядом с D :)

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

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

252. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Ordu (ok), 10-Окт-20, 09:08 
> Вот только раст хочет быть вместо сишечки и крестиков.
> А сишечка почти ровестник кобола и старше фортрана, правда при этом она
> в как бы другой нише.

Чё? Фортран лет на двадцать старше C. Cobol помоложе, но тоже старее C.

> Если раст будет так медленно вползать и дальше, то займёт место рядом с D :)

Не. Я наблюдал за динамикой вползания разных языков, и динамика вползания rust'а просто взрывная на фоне остальных. rust уже никуда не денется десятилетиями.

> PS: а вам не кажется странным что никто не критикует GO?)

Да ладно "не критикует". Разуй глаза. Опеннет критикует всё. Но тут надо понимать, что критика опеннета совершенно никоим образом не влияет на динамику языка. И не отражает динамики языка, если уж на то пошло. Критика опеннета совершенно оторвана от реальности.

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

265. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Ivan_83 (ok), 10-Окт-20, 11:39 
Quick basic, D lang - тоже никуда не деваются :)
Ответить | Правка | Наверх | Cообщить модератору

266. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Ordu (ok), 10-Окт-20, 11:44 
> Quick basic, D lang - тоже никуда не деваются :)

Ну вот не надо прикидываться, что ты не понимаешь, о чём я говорю. Или ты не прикидываешься?

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

285. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Ivan_83 (ok), 11-Окт-20, 12:58 
Если хорошо поискать то и на этих языках написан софт который заменить нечем/выкинуть нельзя.

На расте пока только мозилла конкретно вляпалась, но ей есть альтернативы.
rav1e и rsvg - индустрию не держат.

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

288. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Ordu (ok), 11-Окт-20, 13:32 
Чувак, если ты не понимаешь, как языки программирования завоёвывают себе место под Солнцем, то просто наблюдай. Не спорь на форумах, а наблюдай за rust'ом.
Ответить | Правка | К родителю #285 | Наверх | Cообщить модератору

260. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от burjui (ok), 10-Окт-20, 10:31 
Придёт время, напишут и для этой архитектуры. Если что, Rust'у всего 10 лет, а C - 48. Немного нечестно сравнивать поддержку этой широко известной в узких кругах архитектуры Infineon TriCore, о которой я впервые слышу, и для которой компиляторов кот наплакал. Может, мне тоже найти или создать свою чудо-архитектуру, набросать на коленке проприетарный компилятор, а потом чморить C за то, что он её не поддерживает?
Ответить | Правка | К родителю #167 | Наверх | Cообщить модератору

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

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




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

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