Разумно ли тратить наличные деньги на ведение книги C ++ с учетом предстоящего C ++ 0x? - PullRequest
2 голосов
/ 28 декабря 2008

Я только что приобрел Программирование на C ++ GUI с использованием Qt4 и после прочтения примеров кода в этой книге я начинаю понимать, что мои знания C ++ неполны. Я изучил C ++ два года назад из онлайн-учебников и нескольких электронных книг, которые я скачал, и оказалось, что ни один из этих ресурсов не был достаточно хорош. С тех пор я не касался языка и вместо этого использовал Python.

Теперь я подумываю о покупке хорошей книги по C ++, которая охватывает сложные темы, и я имею в виду книгу Thinking in C ++ Брюса Экеля (оба тома). Я знаю, что они доступны бесплатно в Интернете, но я действительно не могу читать книги на экране ноутбука.

Поскольку C ++ 0x может появиться довольно скоро, разумно ли идти вперед и тратить деньги на эти книги? Будет ли C ++ 0x нарушать обратную совместимость? Том 2 охватывает такие функции, как многопоточность, шаблоны и т. Д. Значительно ли изменится любая из этих функций в C ++ 0x?

Ответы [ 6 ]

11 голосов
/ 28 декабря 2008

Я бы не задержал дыхание на C ++ 0x. Я сомневаюсь, что это будет к концу этого десятилетия. Даже когда он выйдет, вы, вероятно, должны рассчитывать год или около того, чтобы компиляторы его реализовали. Изучите основы сейчас, и вам будет относительно легко освоить большинство новых функций, когда выйдет стандарт. Комитет по стандартам известен своими усилиями по обеспечению обратной совместимости.

Я лично время от времени проверяю эволюцию стандарта, просто из любопытства. Подпишитесь на блог Herb Sutter feed и ищите стандартные обновления.

Моя личная любимая книга о продвинутом C ++ - Bjarne Stroustrup «Язык программирования C ++», 3e. Это единственная книга по C ++, из которой, как мне кажется, я выучил больше всего в отношении языка и деталей STL. Книги Скотта Мейерса также помогли прояснить многое. Мейерс пишет на очень удобочитаемом языке (я думаю, что на английском), и часто случается так, что я читаю весь пункт из книги Мейерса, а затем нахожу ту же информацию в книге Страуструпа, сведенную в одно предложение или около того. То есть книги Майерса чрезвычайно полезны для привлечения вашего внимания к интересным деталям.

Что касается ожидаемых изменений в многопоточности, я думаю, что в стандарте для этой цели появятся две новые библиотеки. Концепции - это еще большее изменение, и они в некоторой степени связаны с шаблонами. До сих пор у нас были концепции в STL, но это были условные обозначения ; алгоритм будет делать предположения о типе, который вы передаете шаблону, и вы будете знать, что передаете правильный «тип типа» из-за соглашений. Это подразумевает ужасные сообщения об ошибках, ошибки шаблона STL, которые мы все знаем и «любим». Концепции помогут решить эти. Есть и другие улучшения (сложности) в языке. Херб Саттер много о них говорит.

7 голосов
/ 28 декабря 2008

Разумеется, разумно купить книгу. C ++ 1x вряд ли сломается с предыдущим кодом. Почти все, что вы изучите, также возможно с помощью следующего C ++, и это очень поможет вам понять необходимость , почему C ++ 1x представит, какую функцию. Например, почему он будет иметь вариационных шаблонов и почему эти концепты ?

1 голос
/ 28 декабря 2008

Я бы повторил рекомендацию получить книгу Бьярна Страуструпа "Язык программирования C ++" (Третье издание и Специальное издание) "http://www.research.att.com/~bs/3rd.html в дополнение к любой другой книге, которая вас может заинтересовать, если вы можете позволить себе несколько книг. Если вы можете позволить себе только одну и освоили основы (как у вас есть), то Вероятно, я бы научился изучать книгу Страуструпа. Вы не можете пройти мимо, узнав факты от самого человека.

Вы можете отслеживать события в C ++ 0x здесь: http://www.research.att.com/~bs/C++0xFAQ.html если ты заинтересован. Как уже говорилось ранее, я бы не задержал дыхание на твоем месте.

1 голос
/ 28 декабря 2008

Я бы определенно пошел на покупку книг

  1. Те из Экеля - действительно хорошие книги, и я очень рекомендую их.
  2. Компиляторам понадобится несколько лет, чтобы освоить новые функции, представленные в C ++ 0x (посмотрите, как было с поддержкой шаблонов!)
  3. Потребуется еще больше лет, чтобы проекты начали их использовать
  4. Наконец, хотя я не знаю в деталях те 3 изменения, которые были внесены с новым выпуском языка, комитет C ++ всегда был очень консервативен в отношении обратной совместимости, поэтому у вас не должно быть никакого риска узнать, что что-то скоро устареет .
1 голос
/ 28 декабря 2008

Даже если в некоторых функциях нарушена обратная совместимость, большая часть должна быть полезной.

Кроме того, первые книги по C ++ Ox могут быть не самыми лучшими.

Я бы предпочел очень хорошую книгу по C ++ книге по C ++ Ox.

0 голосов
/ 28 декабря 2008

Вы можете попробовать такой сайт, как Safari Books Online, чтобы быть в курсе технических и программных книг. В прошлом я купил несколько книг, связанных с Ruby и Ruby on Rails, и теперь они гораздо менее полезны, потому что материал в них устарел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...