LINUX.ORG.RU

Ответ на: комментарий от byko3y

А знаете, какая ещё стандартная библиотека написана на небезопасных указателях? Питона, Жавы и Жаваскрипта!

meliafaro ★★★★★
()
Ответ на: комментарий от meliafaro

Дай угадаю: пых? Или всё же жаваскрипт?

C, Паскаль, JS. Это из тех, на которых я интенсивно писал проекты хотя бы несколько месяцев.

byko3y ★★★★
()
Ответ на: комментарий от meliafaro

И ты не видишь очевидных плюсов Раста перед Си? Вообще тебя не понимаю

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

В моем текущем сишном проекте над сихой сразу идет питон, на самом Си логики почти нет — расту там просто толком некуда упасть. В целом, есть не так много задач, для которых не хватает производительности Java/C# и самых разных ЯП на базе JVM/CLR, но при этом которые требуют сложной высокоуровневой логики. Даже то же Qt мигрирует в сторону логики на JS, а вот в сторону Rust почему-то не спешит.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

В расте просто нет инструментов для написания такой низкоуровневщины, потому что получится сплошной unsafe на указателях, и дай бог если где-то приходятся обобщения и макросы.

Это не так. Раст умеет всё то же, что и Си, только даёт больше гарантий. Если есть желание, пиши на Раст, как на Си, ничто не мешает. Если хочется немного меньше геморроя, пиши на низкоуровневом на Раст, опять же, никто не запрещает. Если хочется ООП-шчку или юникодные строки, пиши, как на Жаве, Нургалиев разрешил. Руст вообще местами Питон перемахивает, из разряда конпелируемых языков.

Даже то же Qt мигрирует в сторону логики на JS, а вот в сторону Rust почему-то не спешит.

Уу, вот ведь оргумент. А вот Гугл, Мозилла и Микрософт почему-то мигрируют в сторону Раст.

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

meliafaro ★★★★★
()
Ответ на: комментарий от meliafaro

Раст умеет всё то же, что и Си, только даёт больше гарантий

Из «гарантий» только гарантия правильного дергания функций библиотек для типов этих библиотек. Главным образом стандартной библиотеки, которая создана строго для написания на ней браузера. В ней нет операций с разделяемой памятью, продвинутой синхронизации, акторов или каналов. Раст не помогает писать библиотеки для повторного использования, а очень даже мешает, раздувая в разы размер код требуемого для реализации «безопасных» интерфейсов. Если ты пишешь что-то более-менее нестандартное (как в моем случае), то в Rust и в Си программы будут написаны примерно с одинаковыми «гарантиями».

Да, я задумывался о том, чтобы дергаться куда-то в сторону крестов или раста, но довольно быстро понял, что в случае питоньих расширений это вообще не вариант, поскольку чрезмерно затрудняет компиляцию, которую нельзя сделать под ОС+процессор, потому что эти сочетания помножаются еще и на число версий питона.

Руст вообще местами Питон перемахивает, из разряда конпелируемых языков

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

Даже то же Qt мигрирует в сторону логики на JS, а вот в сторону Rust почему-то не спешит.

Уу, вот ведь оргумент. А вот Гугл, Мозилла и Микрософт почему-то мигрируют в сторону Раст

Каким боком эта миграция касается простого программиста? Они выпускают продукты на расте, фреймворки для разработки на расте, IDE для раста? Нет. Одна мозила делала Servo, который стал таким передовым, что про него до сих пор никто не знает. Я уже отвечал, что единственное применение раста — это высокопроизводительная логика с высокой устойчивостью к получаемой из интернета информации. Большинство контор не имеют таких высоких требований к производительности, и даже сами гугл с майкрософтом чаще всего не имеют их, а делают на C++/Rust только отдельные сервисы, предпочитая для остальных сервисов Java/C#.

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)
Ответ на: комментарий от byko3y

Они выпускают продукты на расте, фреймворки для разработки на расте, IDE для раста? Нет.

  • Google вроде как стоит за внедрением Rust в Linux. Им, видимо, интересно писать драйвера для андроида на чём-то таком. Кое-что в их новой ОС, Фуксии, тоже на Rust написано. Хотя Фуксию пока можно игнорировать.
  • Mozilla уже не делает Servo как отдельный проект, а использует Rust в кодовой базе Firefox наравне с C++.
  • Microsoft недавно выпустила свою библиотеку для WinAPI.
  • Amazon/AWS наняла много разработчиков из Rust Core Team и Tokio. Фактически поддерживает развитие асинхронного стека в Rust. Внутри компании Rust используется много где (firecracker, bottlerocket). Недавно выпустили AWS SDK для Rust.
k_andy ★★★
() автор топика
Ответ на: комментарий от byko3y

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

Серво тут при чём? Может, хватит строить дурачка? Серво давным-давно переведён в категорию экспериментальных проектов, а наработки из него обкатываются и переводятся в основную кодовую базу ФФ, в котором процент кода на Раст с каждым выпуском растёт.

meliafaro ★★★★★
()
Ответ на: комментарий от k_andy

Google вроде как стоит за внедрением Rust в Linux. Им, видимо, интересно писать драйвера для андроида на чём-то таком. Кое-что в их новой ОС, Фуксии, тоже на Rust написано. Хотя Фуксию пока можно игнорировать

Google, или же сотрудник гугла, который в свои 20% времени пишет драйвера? По ощущением процесс идет настолько вяло, что это похоже на усилия пары человек, а не «гугл стоит за».

Microsoft недавно выпустила свою библиотеку для WinAPI

Бинды к сишечке, как обычно: раст хорош, но писать на нем низкий уровень мы не будем, из раста этот низкий уровень мы будем только дергать.

Amazon/AWS наняла много разработчиков из Rust Core Team и Tokio. Фактически поддерживает развитие асинхронного стека в Rust

Да, я заметил в стандартной либе что-то чужеродное и весьма жирное, будто кто-то грубой силой фич натыкал.

Внутри компании Rust используется много где (firecracker, bottlerocket)

Bottlerocket, по моим ощущениям, представляет собой сборник hello world-ов на расте (обилие main.rs. всего 1.24 Мб сорцов на Rust-е, то есть, менее тысячи строк в среднем на один hello world) вместе с патчами к какому-то линуксовому дистру (340 кб) и документацией к полученному специализированному дистру (300 кб) — итого с картинками и кучей конфигов получается 2.9 Мб. Как-то хило для многомиллиардного монстра, который продает свои сервисы в десять раз дороже себестоимости.

Недавно выпустили AWS SDK для Rust

У них лямбда на расте — чего бы им не выпустить к ней API. Правда, вне AWS оно бесполезно и SDK представляет собой программно генерированный код — даже Amazon понимает, что на горлом расте писать нельзя. Хз, правда, как они к этому пришли — то ли потому что код на Rust тяжело читать, то ли пытались оптимизировать недопустимо медленную сборку сервисов, которые бы использовали всё это API, будь оно оформлено в виде макросов, а не программно-генерированого статичного кода.

byko3y ★★★★
()
Ответ на: комментарий от meliafaro

Серво давным-давно переведён в категорию экспериментальных проектов, а наработки из него обкатываются и переводятся в основную кодовую базу ФФ, в котором процент кода на Раст с каждым выпуском растёт

Правда, почему-то кода на расте до сих пор меньше, чем кода на Си, и лишь больше, чем кода на питоне, но я бы это связал с обширностью объявлений Rust на одинаковых алгоритмах, и сказал бы по этой причине, что по фичам кода на питоне в репе примерно столько же, сколько на расте. Статистика говорит

https://www.openhub.net/p/firefox/analyses/latest/languages_summary

что за последние месяцы из firefox код на расте только убирается. То есть, они в 2017-2020 портировали наработки из Servo в Firefox, а вот теперь сидят отлаживают. Правда, если так пойдет и дальше, то скоро уже никто Firefox-ом не будет пользоваться.

byko3y ★★★★
()
Ответ на: комментарий от meliafaro

скоро уже никто Firefox-ом не будет пользоваться

ух раст проклятущий

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

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Главным образом стандартной библиотеки, которая создана строго для написания на ней браузера.

Это просто враньё. Библиотека пытается быть минималистичной - это да, но причины совсем другие.

Раст не помогает писать библиотеки для повторного использования, а очень даже мешает, раздувая в разы размер код требуемого для реализации «безопасных» интерфейсов.

Опять какие-то фантазии.

DarkEld3r ★★★★★
()
16 августа 2021 г.
Ответ на: комментарий от d_a

готовый раскрученный за бабки редхат прокет-то портить?

Это же хорошо,разве нет?

Dog ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.