Информация об изменениях

Сообщение Re: Rust vs C++ 17 от 05.01.2016 8:14

Изменено 05.01.2016 10:45 kaa.python

Здравствуйте, _VW_, Вы писали:

_VW>Как я понял, у Rust'а нет никаких явных преимуществ перед C++ 17?


Есть и плюсы и минусы. В целом, для небольшой и сильной команды он предпочтительнее. Для большой и/или слабой команды лучше взять C++, а еще лучше Java или C#

_VW>Если я неправ, то какие это преимущества? Контроль выхода за границы массива, счетчик ссылок (или как он там называется) — все это на этапе компиляции. У C++ 17 такого вообще нет?


Основные плюшки:
  • простой, на много проще C++;
  • довольно хорошо продуманная модульность с управлением зависимостями из коробки (cargo);
  • очень хорошая поддержка разработки многопоточных приложений;
  • быстрый код в общем случае не уступающий C/C++;
  • гарантии корректной работы с памятью.

    Почему бы я его не взял для большой/слабой команды:

  • Он сложнее Java/Python и его реально нужно учить. Концепция отличается от привычных C/C++/Java/Python;
  • Благодаря unsafe в нем крайне легко говнокодить в C/C++ стиле;
  • Нет нормально работающей IDE;
  • Язык заставляет довольно серьезно подходить к архитектуре. Исправление постфактум обойдутся основательно дороже чем в C/C++ и скорей всего (это теория) приведут к появлению кучи говнокода по средствам unsafe.
  • Re: Rust vs C++ 17
    Здравствуйте, _VW_, Вы писали:

    _VW>Как я понял, у Rust'а нет никаких явных преимуществ перед C++ 17?


    Есть и плюсы и минусы. В целом, для небольшой и сильной команды он предпочтительнее. Для большой и/или слабой команды лучше взять C++, а еще лучше Java или C#

    _VW>Если я неправ, то какие это преимущества? Контроль выхода за границы массива, счетчик ссылок (или как он там называется) — все это на этапе компиляции. У C++ 17 такого вообще нет?


    Основные плюшки:
    • простой, на много проще C++;
    • довольно хорошо продуманная модульность с управлением зависимостями из коробки (cargo);
    • очень хорошая поддержка разработки многопоточных приложений;
    • быстрый код в общем случае не уступающий C/C++;
    • гарантии корректной работы с памятью.

    Почему бы я его не взял для большой/слабой команды:

    • Он сложнее Java/Python и его реально нужно учить. Концепция отличается от привычных C/C++/Java/Python;
    • Благодаря unsafe в нем крайне легко говнокодить в C/C++ стиле;
    • Нет нормально работающей IDE;
    • Язык заставляет довольно серьезно подходить к архитектуре. Исправление постфактум обойдутся основательно дороже чем в C/C++ и скорей всего (это теория) приведут к появлению кучи говнокода по средствам unsafe.