The OpenNET Project / Index page

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



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

Оглавление

Шестая версия патчей для ядра Linux с поддержкой языка Rust , opennews (ok), 08-Май-22, (0) [смотреть все]

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


19. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  –1 +/
Сообщение от ананоша (?), 08-Май-22, 11:45 
Синтаксис раста страшнючий, но если кому-то нравится, почему нет
Ответить | Правка | Наверх | Cообщить модератору

33. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  –9 +/
Сообщение от Аноним (32), 08-Май-22, 12:17 
не надоело ещё мусолить тему про "страшнючий" синтаксис раста?
Ответить | Правка | Наверх | Cообщить модератору

58. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +4 +/
Сообщение от nvidiaamd (?), 08-Май-22, 13:04 
Правда глаза режет.
Ответить | Правка | Наверх | Cообщить модератору

115. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от Аноним (4), 08-Май-22, 15:30 
Норм синтаксис, просто кто не знает, тот не приучен
Ответить | Правка | Наверх | Cообщить модератору

119. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  –1 +/
Сообщение от Аноним (-), 08-Май-22, 15:34 
> Норм синтаксис, просто кто не знает, тот не приучен

А откуда, если всех знаний - паскальчик да жабкоскриптик c питончиком (ну и еще пара сишечных хелловротов в "универе")?


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

161. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +3 +/
Сообщение от wyry (?), 08-Май-22, 18:08 
Ага, и во всех перечисленных языках синтаксис разрабатывался изначально дизайном, где-то больше, где-то меньше. В C++ синтаксис становится уродливым тогда, когда начинаются "новые" (они появились уже сравнительно давно) возможности. Rust же новый язык, который УЖЕ приобрёл уродливый синтаксис. И да, простое и тривиальное ПО на любом языке будет выглядеть сравнительно просто, зато когда в Rust начинает требоваться создавать сложное поведение, где-то применять unsafe, где-то контролировать время жизни (это вообще отдельная тема и иногда выглядит как удовлетворения компилятора, чтобы не ругался) в итоге всё превращается в кашу. На C (чистом) МОЖНО при желании писать уродливый и непонятный код. Можно делать хитрые "лайфхаки" в циклах, но язык не обязывает разработчика так поступать. В Rust в достаточно сложном коде запросто получается write-only не специально.
Ответить | Правка | Наверх | Cообщить модератору

168. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +1 +/
Сообщение от Аноним (-), 08-Май-22, 18:23 
> Ага, и во всех перечисленных языках синтаксис разрабатывался изначально дизайном, где-то
> больше, где-то меньше.

Да-да, особенно в JS был "дизайн", ага.


> И да, простое и тривиальное ПО на любом языке будет выглядеть сравнительно просто, зато когда в Rust начинает требоваться создавать сложное поведение, где-то применять unsafe, где-то контролировать
> время жизни (это вообще отдельная тема и иногда выглядит как удовлетворения
> компилятора, чтобы не ругался) в итоге всё превращается в кашу.

Простое и тривиальное ПО на любом ЯП будет выглядеть просто, сложное ПО на расте - сложно ... Л-логика (нет).

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

173. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +2 +/
Сообщение от Анонн (?), 08-Май-22, 18:38 
Это в Си разрабатывался синтаксис вместе с дизайном?? Да там дизайна никакого не было! Почитайте историю его создания, хотя бы в википедии. Намекну - его разработали в  1973, а первый стандарт был аж  1989, который по факту просто зафиксиловал уже имеющийся синтаксис. А до этого были несовместимые диалекты, компиляторы и тд
Ответить | Правка | К родителю #161 | Наверх | Cообщить модератору

183. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  –2 +/
Сообщение от Аноним (183), 08-Май-22, 19:06 
До Си были A и B, так что Си был эволюцией
Ответить | Правка | Наверх | Cообщить модератору

248. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  –1 +/
Сообщение от wyry (?), 09-Май-22, 02:07 
Вообще-то в C как раз очень продуманный дизайн, практически идеальный (хотя сложно сказать что можно было бы изменить, чтобы стало лучше, пожалуй можно было бы ещё поработать над препроцессором). И на самом деле практически любой человек, который хоть когда-нибудь программировал на ASM, схватит C на лету, потому что это тот язык, каким он и должен быть. Кстати именно поэтому он и выдержал испытание временем. И да, по поводу стандарта - де факто знаменитый труд K&R де факто был стандартом языка, более того, стандарт C11 только подпортил язык, добавив то, что ему вообще не нужно и по факту в реальной жизни почти все до сих пор и пишут на C89. Проблема в C в том, что там нет защиты от дурака (программист сам должен её реализовать в любом значимом проекте). На C можно создать ужасный и нечитаемый код, даже не специально, это зависит от квалификации. В C, особенно на ранних реализациях, можно искать лазейки, которые что-то сломают, но для этого надо СПЕЦИАЛЬНО пытаться что-то сломать, на сегодняшний день так и вовсе для 99.9% разработчиков всё пофикшено и однозначно определено.

И кстати: "диалекты" C на практике были значительно сильнее похожи друг на друга, чем разные версии Rust (особенно если затронуть самые первые его версии).

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

346. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +1 +/
Сообщение от Прохожий (??), 09-Май-22, 23:58 
Шо ж там продуманного такого? Препроцессор? Или может быть работа с указателями? Или L-value, R-value выражения? Как там работа с модулями поживает? А Юникод из коробки работает? Типизация (которой практически нет)?

Чтобы понять, насколько Си устарел, достаточно вгзлянуть на новости здесь же, на этом ресурсе. Из сравнительно недавнего - какой-то перец хренову тучу времени разгребал код ядра и приводил его в порядок. Это из-за "продуманности" языка ему пришлось этим заниматься?

ИМХО, пора закапывать этого динозавра, и чем скорее, тем лучше.

А вот это вообще взаимоисключающий параграф: "На C можно создать ужасный и нечитаемый код, даже не специально". Это продуманность таким возможностям способствует? Ой...

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

332. Скрыто модератором  +/
Сообщение от Аноним (-), 09-Май-22, 21:35 
Ответить | Правка | К родителю #173 | Наверх | Cообщить модератору

340. Скрыто модератором  +/
Сообщение от Аноним (-), 09-Май-22, 22:01 
Ответить | Правка | Наверх | Cообщить модератору

48. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  –2 +/
Сообщение от Аноним (46), 08-Май-22, 12:43 
Потому что они срут всем, а не только себе.
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

106. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от Andrewpotam (?), 08-Май-22, 15:14 
Да нормальный там синтаксис, что вы как дети. Ничем не хуже С++.
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

142. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  –2 +/
Сообщение от nvidiaamd (?), 08-Май-22, 16:46 
Для инопланетян, возможно. Но не для вменяемых гуманоидов.
Ответить | Правка | Наверх | Cообщить модератору

150. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +1 +/
Сообщение от НяшМяш (ok), 08-Май-22, 16:55 
Те же скобочки, двоеточия да точки с запятой. Не то что питоны с собачками и пробелами.
Ответить | Правка | Наверх | Cообщить модератору

249. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +1 +/
Сообщение от wyry (?), 09-Май-22, 02:18 
> Те же скобочки, двоеточия да точки с запятой. Не то что питоны
> с собачками и пробелами.

Это не так и проблема не в этом. Rust использует множество специальных символов, которые к тому же ещё иногда и можно комбинировать, получая какой-либо желаемый эффект (особенно если учесть приваренную намертво move-семантику). Простые программы с понятной и простой бизнес-логикой можно написать на любом языке и даже код получится примерно одинаковым. Проблемы то всегда начинаются в сложной бизнес-логике, когда множество сущностей каким-то образом взаимодействуют друг с другом, имеют состояние, что-то вычисляют и даже изменяют параметры друг друга по заданным правилам, а потом всё это отправляем в параллелизм и сходим с ума окончательно.
Одновременно с этим ЛЮБАЯ программа на C - это просто функции и структуры. Да, можно усложнить поведение передавая указатели или указатели на функции, можно поиграться с препроцессором, но в целом изучив вполне заурядные правила и изучив структуры данных, 90% задач с точки зрения программирования будут вполне тривиальными, сложности могут возникнуть лишь в предметной области.

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

349. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от Аноним (265), 10-Май-22, 02:23 
>Одновременно с этим ЛЮБАЯ программа на C - это просто функции и структуры.

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

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

Также и в Си присутствует бойлерплейт, который может быть выражен более компактно и вместе с тем расширяемо. Да, для использования подобных конструкций нужно потратить дополнительное время на обучение. Взамен получаешь современные возможности без накладных расходов и с большей безопасностью:
-- удобные параллельные итераторы
https://play.integer32.com/?version=nightly&mode=release&edi...
-- генераторы парсеров сопоставимые по скорости с написанными вручную, влезающие на один экран монитора
https://zsiciarz.github.io/24daysofrust/book/vol2/day11.html
-- Можно построить абстракцию над портом ввода-вывода, которая во время компиляции будет проверять попадаешь ли ты в диапазон разрешенных значений, и правильную ли маску используешь при обращении к регистру.
https://blog.auxon.io/2019/10/25/type-level-registers/

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

413. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от Аноним (-), 15-Май-22, 00:58 
> Одновременно с этим ЛЮБАЯ программа на C - это просто функции и
> структуры. Да, можно усложнить поведение передавая указатели или указатели на функции,
> можно поиграться с препроцессором, но в целом изучив вполне заурядные правила
> и изучив структуры данных, 90% задач с точки зрения программирования будут
> вполне тривиальными, сложности могут возникнуть лишь в предметной области.

Это тоже раз на раз не приходится, но на хрусте наломать дров можно намного больше. Просто потому что он намного сложнее. А с изменениями которые потребовалось добавить для сабжа еще и костыльнее, многие изначальные допущения не удержались.

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

333. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +1 +/
Сообщение от Аноним (-), 09-Май-22, 21:36 
За си++ тебя Торвальдс пожизненно люстрирует из системного программирования - и будет прав!
Ответить | Правка | К родителю #106 | Наверх | Cообщить модератору

196. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от Аноним (196), 08-Май-22, 19:33 
Какая тебе разница? Ты все равно не пишет ни на rust, ни на си, ни на чём
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

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

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




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

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