?

Log in

No account? Create an account
 

Октябрь, 19, 2017 - swizard — ЖЖ

About Октябрь, 19, 2017

У нас есть Rust, поэтому C++ больше не нужен. 17:47

Просто чудесный пост у thesz, наглядно демонстрирующий мой лозунг из сабжа.

Давайте пройдёмся по пунктам:

> Большое неудобство, однако, составляет отсутствие подсказок компилятора в сообщении об ошибке

Rust прекрасно всё подсказывает, вплоть до того, что явно указывает как именно тебе надо исправить код, чтобы всё заработало.

> но сама необходимость думать о том, как правильно создавать объект, отнимает достаточно сил

А в Rust отсутствует возможность "неправильно" создать объект.

> должен ли я бросать исключение

В Rust нет исключений, а есть только один "идеоматический" (как это по-русски — общепринятый?) способ сигнализировать об ошибке: вернуть Result.

> могу ли я оставить объект не полностью или не корректно созданным

В Rust невозможно (без использования unsafe) не полностью инициализировать объект.

Ну и так далее.

На самом деле, в Rust очень многое сделано сразу правильно, по сравнению с C++. Ведь его же создавали люди, которые много программировали на C++ :) В Rust мы не встретим таких понятий, как "правило пяти", "swap", "pimpl", etc, потому что язык уже сделан как нужно.

Кроме того, в Rust используется только один общепринятый стиль написания кода (вспоминаем все эти венгерские нотации, все эти противоречащие друг другу c++ guidelines от гугл, тоёты, микрософта и тд), существует один всемогущий cargo c сайтом crates.io (вспоминаем цмейк, автомейк, сконс и тд), а также rustdoc, rustup, rustfmt, и тд и тп.

Повторюсь (уже в третий раз в этом блоге): нет никаких причин в настоящее время программировать что-то новое на C++, потому что есть Rust. Могут быть причины, чтобы выбрать вместо Rust, там, какой-нибудь Haskell, Scala, Erlang, да даже Common Lisp. Но не может быть никаких причин, чтобы вместо Rust выбрать C++.

Top of Page Разработано LiveJournal.com