Просто чудесный
пост у
thesz, наглядно демонстрирующий мой лозунг из сабжа.
Давайте пройдёмся по пунктам:
> Большое неудобство, однако, составляет отсутствие подсказок компилятора в сообщении об ошибке
Rust прекрасно всё подсказывает, вплоть до того, что явно указывает как именно тебе надо исправить код, чтобы всё заработало.
> но сама необходимость
(
Read more... )
Леша, ну есть же. Например, наукоемкие вычисления где нужна скорость. Расчеты всякие, диффуры, вот это вот все.
Reply
Reply
1) Библиотеки. На C/C++ написано огромное количество сложных мат. библиотек. Собственно из-за библиотек до сих пор Фортран во всю в этом мире используется.
2) Люди, которые понимают в предметной области, часто *очень* далеки от всех этих новых веяний в ЯП. Для них язык программирования -- сущность, которую они вынуждены терпеть. В идеале нужен язык максимально приближенный к математический нотации типа Matlab, но конкретно Matlab чудовищно медленный для реальной жизни. В этом смысле Rust хуже C++, т.к. вносит ненужную для этих людей сложность.
Reply
Reply
Нет никаких проблем из программы на Rust слинковаться с библиотекой на Си или на Фортране. Это ничего не стоит (zero cost), точно так же, как и из С++. Раст - это компилируемый язык без рантайма, как и плюсы.
> В этом смысле Rust хуже C++, т.к. вносит ненужную для этих людей сложность.
Если ты под С++ подразумеваешь "Си с классами", то с натяжкой соглашусь. Если это всё-таки С++, с исключениями, темплейтами, STL, или даже C++11, C++14 или 17 - то ты однозначно не прав: Rust намного проще для человека с мороза. Причём, я бы даже сказал, на пару порядков.
С++ - невероятно сложный язык. Я не уверен, что в мире есть много людей, которые владеют им в совершенстве, хотя бы знают все места с undefined behaviour. Учёный или инженер всё это добро осваивать точно не будет.
Reply
Что касается как ученые пишут -- то что я видел это "Си с классами" + немного STL (std::vector, std::string, std::cout).
Насчет того что проще для изучения с нуля -- возможно ты прав. Но смотри, эти люди зачастую потратили десятки лет на изучение своей предметной области, чтобы радикально сменить ЯП должна быть какая-то очень веская причина (для ученых) т.к. отрасль очень, очень консервативна, это тебе не очередной фреймворк на JS запилить. Там зачастую во всем мире десяток человек понимает в проблеме, 2-3 из них могут что-то работающее запрограммировать на языке, который они как-то выучили в студенчестве или аспирантуре.
Reply
> А покажи мне самую правильную сейчас либу на Расте для линейной алгебры?
Ты можешь из раста свободно пользоваться и blas, и lapack, и что там ещё бывает - для всего этого есть zero-cost обёртки. Если ты зачем-то хочешь библиотеку, которая именно что на расте написана, ну вот, например, какая-то есть.
> Но смотри, эти люди зачастую потратили десятки лет на изучение своей предметной области, чтобы радикально сменить ЯП
Но я же и не предлагаю их переучивать, это ты всё пытаешься их как-то оберечь от меня =) Эти люди пусть программируют на чём хотят и могут, а вот новых таких людей лучше бы учить языку Rust, а не C++.
Там тебе выше уже yorool_gui написал, что учёные-фортранщики то почти повымерли, хоть их тоже в своё время много было, и ребята вроде тебя всячески предостерегали их от С++ :)
Reply
Reply
Reply
Как лучше начать изучать Rust? Просто погуглить и скачать любую англоязычную книгу по Rust ?
Reply
Reply
Leave a comment