История изменений
Исправление
dave,
(текущая версия)
:
Кстати, C++ - один из редких языков, где надо долго набивать руку. С другими языками все обычно гораздо проще. Есть очень важные книги по C++, где написано о том, как _не_надо_ писать на С++. И обычно это самые рекомендуемые книги. Саттер, Майерс, к примеру. Эх, сколько же я времени на них потратил...
Говоря о Rust, здесь важен предыдущий опыт. На мой взгляд конкретно для Rust важен прежний опыт с С/С++ и желательно с Haskell, на худой конец, с Ocaml/Scala/F#.
ФП тоже важен. Так будет много-много проще. Одного знания шаблонов мало. Нужен именно полиморфизм с ограничениями по классам типов. Там тоже есть подводные камни. Например, почему один вывод инстансов будет работать, а другой - слишком общий, и компилятор его отвергнет. И тому подобное. Сам стиль мышления в терминах трейтов (классов типов).
Но вы также можете не принимать всерьез то, что я написал. Я тоже только в прошлом году заинтересовался языком Rust. Потом был долгий перерыв, пока не научился-таки создавать на Rust более быстрый код, чем на Haskell, используя многие мудренные идеи из последнего, например, монады и продолжения.
P.S. Прикольно было выше читать аналитические выкладки программиста на ПЛ/1, ой, прошу прощения, на C++.
Исходная версия
dave,
:
Кстати, C++ - один из редких языков, где надо долго набивать руку. С другими языками все обычно гораздо проще. Есть очень важные книги по C++, где написано о том, как _не_надо_ писать на С++. И обычно это самые рекомендуемые книги. Саттер, Майерс, к примеру. Эх, сколько же я времени на них потратил...
Говоря о Rust, здесь важен предыдущий опыт. На мой взгляд конкретно для Rust важен прежний опыт с С/С++ и желательно с Haskell, на худой конец, с Ocaml/Scala/F#.
ФП тоже важен. Так будет много-много проще. Одного знания шаблонов мало. Нужен именно полиморфизм с ограничениями по классам типов. Там тоже есть подводные камни. Например, почему один вывод инстансов будет работать, а другой - слишком общий, и компилятор его отвергнет. И тому подобное. Сам стиль мышления в терминах трейтов (классов типов).
Но вы также можете не принимать всерьез то, что я написал. Я тоже только в прошлом году заинтересовался языком Rust. Потом был долгий перерыв, пока не научился-таки создавать на Rust более быстрый код, чем на Hsakell, используя многие мудренные идеи из последнего, например, монады и продолжения.
P.S. Прикольно было выше читать аналитические выкладки программиста на ПЛ/1, ой, прошу прощения, на C++.