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

Сообщение Re[2]: Rust vs C++ 17 от 05.01.2016 10:40

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

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

KP>Основные плюшки:

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

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


    KP>
  • Он сложнее Java/Python и его реально нужно учить. Концепция отличается от привычных C/C++/Java/Python;
    KP>
  • Благодаря unsafe в нем крайне легко говнокодить в C/C++ стиле;

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

    С другой стороны, Rust пока притягивает в основном сильных программистов в силу своей сложности, которые пишут адекватный код, используя хорошие практики. К моменту "опопсения" языка будет хорошая база и для остальных.

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

    Я бы, кстати, сказал, что с точки зрения архитектуры Rust ближе к C#/Java, чем к C++.
  • Re[2]: Rust vs C++ 17
    Здравствуйте, kaa.python, Вы писали:

    KP>Основные плюшки:

    KP>

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

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


    KP>

      KP>
    • Он сложнее Java/Python и его реально нужно учить. Концепция отличается от привычных C/C++/Java/Python;
      KP>
    • Благодаря unsafe в нем крайне легко говнокодить в C/C++ стиле;
      KP>

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

    С другой стороны, Rust пока притягивает в основном сильных программистов в силу своей сложности, которые пишут адекватный код, используя хорошие практики. К моменту "опопсения" языка будет хорошая база и для остальных.

    KP>

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

    Я бы, кстати, сказал, что с точки зрения архитектуры Rust ближе к C#/Java, чем к C++.