Переключение с С# на С++. Любые обязательные чтения?
Я пытаюсь найти путь наименьшего сопротивления от С# до С++, и, хотя я чувствую, что с С# довольно хорошо справляется с С# после двух лет, я все еще не уверен, что получил "паз" на С++, несмотря на многочисленные попытки.
Существуют ли какие-либо конкретные книги или веб-сайты, которые могут быть пригодны для этого перехода?
Ответы
Ответ 1
Я рекомендую язык программирования С++ от Bjarne Stroustrup. Это не подходящая книга для новых программистов, но я нашел ее достаточно эффективной, как программист, который был опытным на других языках и не хотел тратить слишком много времени на изучение того, как работают петли. Это плотная, но довольно обширная книга.
Ответ 2
Примерно два года назад я перешел с С# на С++ (после 10 лет написания java). Самой полезной книгой для меня был Брюс Экель, думающий на С++ [AMZN]. Вы также можете прочитать книгу в Интернете веб-сайт Eckel. Это хорошо написанная книга - вид, который вы можете прочитать в постели, - это также полезно в качестве справочника на клавиатуре. Он предполагает значительный уровень комфорта с OO и концепциями общего программирования.
Stroustrup [AMZN] бесценен как ссылка, но в принципе непроницаема, если вы не пытаетесь ответить на очень конкретный вопрос - - и даже тогда это борьба. Через несколько лет я не расколол свой K & R [AMZN]. Я не думаю, что это имеет большое значение как ссылка на С++. Эффективный С++ для Майерса [AMZN] (и, как только вы туда попадете, эффективный STL [AMZN] - фантастические книги. Они очень специфичны, хотя (например, "36. Классы конструкторских функций для передачи по значению" ) и, следовательно, не так полезны, как Eckel для перехода.
Мой опыт написания С++ после многих лет написания управляемых языков был замечательным. С++ в сотни раз более выразителен, чем С#, и чрезвычайно удобен для записи - там, где это оправдано. С другой стороны, в редких случаях, когда я все еще нахожусь писать С#, я всегда удивляюсь, как быстро и лаконично я могу сделать все.
Во всяком случае, Eckel Effective С++ может помочь вам сделать переход. Там второй том, что хорошо, но не так хорошо. Придерживайтесь оригинала.
Удачи!
Ответ 3
Я предлагаю вам прочитать Язык программирования на С++ (написан Бьярне Страуступом). Возможно, это не самая лучшая книга, но, безусловно, вы должны прочитать, рано или поздно.
Ответ 4
Все, что написано Meyers, рекомендуется тот же, или написано Sutter.
Ответ 5
Ускоренный С++ by Koenig ( Изменить: и Moo.)
Ответ 6
Они в основном очень разные звери, поэтому между ними нет наименьшего сопротивления. Однако я рекомендую вам заранее прочитать http://www.phpcompiler.org/doc/virtualinheritance.html, если вам понадобится нетривиальное наследование. Это может спасти вам несколько головных болей.
Ответ 7
Язык программирования С++ от Bjarne Stroustrup является обязательным для чтения. Эффективный С++ (Scott Meyers) - это еще одна книга, которую я нашел полезной.
И чтобы сбалансировать все это, прочитайте С++ FQA (http://yosefk.com/c++fqa/) - в то время как не книга, это ценный ресурс, и Мне жаль, что у меня не было доступа к нему, когда я начинал работу с С++. Просто не позволяйте этому препятствовать вам.
Ответ 8
Я нашел Lippman и др. "С++ Primer: 4th edition", чтобы быть отличным. Он подчеркивает использование STL, лучшие практики и использование auto_ptr с самого начала. Я перешел с позиции Java на С++-назначение, и это было действительно отлично.
Как чистая ссылка, Josuttis "Стандартная библиотека С++" была STL в лучшем виде (и хуже всего... парень действительно не тянет удары)
Наконец, Meyer Effective С++, как говорили другие, является обязательным для чтения для "gotchas", присущим С++
Ответ 9
Это список книг, рекомендованных людьми в # С++ EFNet: http://rafb.net/efnet_cpp/books/
Ответ 10
Я бы рассмотрел [K & R] (http://en.wikipedia.org/wiki/The_C_Programming_Language_(book)) предварительное условие для С++. Возможно, самое лучшее в С++ - это то, что он лучше C.
И, конечно же, Страуструп (как предложил Младен Янкович) должен прочитать.
Ответ 11
Мои две стандартные книги: "Объектно-ориентированное программирование на С++", третье издание, Роберт Лафор, изданный The Waite Group, и "С++ from the Ground Up" Герберта Шильдта, опубликованного Осборном Макгроу-Хилом.
Ответ 12
Вы должны прочитать одну из других опубликованных книг, но затем также Проект и эволюция С++. Это помогает вам понять, что делает язык.