Развиваюсь как программист - PullRequest
12 голосов
/ 28 ноября 2008

Я изучаю C ++ уже три месяца и за это время создал несколько приложений для своей компании. Я считаю себя довольно комфортно с C ++ / MFC и STL, однако я не просто хочу быть хорошим программистом, я хочу быть хорошим программистом. У меня есть несколько книг по передовому опыту, но мне было интересно, кто-нибудь мог бы предложить материалы для чтения, которые им помогли, и какие дисциплины, которые следует поощрять?

Спасибо!

Ответы [ 18 ]

17 голосов
14 голосов
/ 28 ноября 2008

Для C ++ Книги Скотта Мейерса очень хороши и помогут вам подняться на следующий уровень.

Если у вас его еще нет C ++, Бьярн Страуструп, 3-е издание

8 голосов
/ 28 ноября 2008
4 голосов
/ 28 ноября 2008
4 голосов
/ 28 ноября 2008

3 месяца в c ++ и вам уже комфортно с этим? Боже, я изучаю c # больше года и прошел многочисленные курсы Microsoft, и мне это совсем не удобно.

Как говорится, вы услышите Код завершен брошенный как очень хорошая книга. Я сейчас читаю это.

3 голосов
/ 28 ноября 2008

Разработка крупномасштабного программного обеспечения C ++ Джона Лакоса (John Lakos) дает рекомендации по методам проектирования, которые сделают ваш C ++ более удобным в обслуживании. Это довольно дорого, но вы можете окунуться в это и получить некоторые преимущества.

2 голосов
/ 28 ноября 2008

Несколько не по теме: вместо того, чтобы предлагать книги для изучения, я хотел бы упомянуть некоторые широкие темы для рассмотрения.

  • Threading. Этот не пользуется большим спросом, если вы используете MFC, но во многих других областях он незаменим. Механику многопоточных API-интерфейсов легко понять, но изучение всех ключевых случаев занимает много времени и практики.

  • Closures, Map-Reduce и другие похожие на lisp техники. Узнайте, что они из себя представляют, почему они не поддерживаются в C ++, и как они имитируются в C ++ (функторы и многие другие случаи объектов обратного вызова с сохранением состояния). Для этого у меня действительно есть книга: «Структура и интерпретация компьютерных программ».

  • Командная строка. Это дает вам представление о том, когда не следует кодировать ваши собственные программы. Командная строка была бы командной строкой Unix - я не знаю о последних экспериментах MS в этом, но cmd.exe ужасен. Получите Cygwin и начните экспериментировать.

  • Языки сценариев. Это дает вам представление о том, когда нет программ на C ++. Мой любимый Perl, но многие говорят Python, Ruby и еще много чего. Эй, изучи XSLT, если ты так склонен!

Я уверен, что пропустил другие области. Я отмечу это как Community Wiki - не стесняйтесь добавлять.

1 голос
/ 29 ноября 2008

Если вы больше ничего не делаете, программируйте.

Когда вы не занимаетесь чтением о программировании и когда что-то кажется вам интересным, приступайте к реализации чего-либо с этим знанием. Я обнаружил, что это единственный способ действительно установить принципы.

Оставаться в курсе блогов может быть весело, но это разбросанные знания. Кажется, это отвлекает больше, чем помогает. Но в сочетании с гуглом и желанием исследовать что-то конкретное может действительно откашливаться тонны информации. Но не подписывайтесь на многие RSS-каналы и ожидайте, что выздоровеете.

Я думаю, что действительно изучение конкретных тем помогает расширить ваши возможности. Исследуйте темы, которые вас заинтриговывают, встречают людей, которые делают что-то вроде вас (конференции, группы пользователей, irc, facebook, stackoverflow и т. Д.) И, прежде всего, практикуют свое искусство.

1 голос
/ 29 ноября 2008

Чтобы лучше понять ориентацию объекта, проведите некоторое время в Smalltalk. Squeak - бесплатная загрузка. Затем прочитайте «Образцы программного обеспечения» Ричарда П. Габриэля, и после этого его объекты потерпели неудачу.

1 голос
/ 29 ноября 2008

Мышление в C ++ - Брюс Экель Symfonia C ++ Standard - Ежи Гребош

...