Форум программистов, компьютерный форум CyberForum.ru

Список использованной литературы

Войти
Регистрация
Восстановить пароль
Рейтинг: 5.00. Голосов: 4.

Список использованной литературы

Запись от Peoples размещена 15.03.2017 в 17:20
Обновил(-а) Peoples 15.03.2017 в 17:28

Я достаточно часто натыкался на вопросы по типу: "Подскажите какой учебник по С++ почитать?","C++ за 21 день хорошая ли книга?", "А что рекомендуете почитать по плюсам для новичком/не новичков" и тд. Исходя из актуальности подобного рода вопросов, решил написать свой список используемой литературы. Здесь книги будут сгруппированы по разделам, с моими комментариями и в том порядке, в каком я бы рекомендовал их читать. Это лишь мои рекомендации, основанные на личном опыте (в том числе и на личных ошибках). Так же оговорюсь заранее. В списке не будет указываться год выпуска той или иной книги. Из года в год учебники редактируются, дополняются и переиздаются. В принципе чем издание свежее, тем лучше(возможно это работает не всегда, но то скорее исключение).
Основы и синтаксис
Тут важным моментом является, то насколько понятен вам излагаемый материал. Если читается слишком трудно и не понятно меняйте автора.
1. Стивен Прата - Язык программирования C++. // Очень неплохо почитать для начала, не обязательно конечно, но представление в целом формирует неплохо. Плюсом будет большое количество упражнение, содержащихся в этой книге

2. Стенли Липпман - Язык программирования С++. Вводный курс. // На мой взгляд, книга обязательна к прочтению. Материала куча, расписано все понятным языком, от описания оператора ',' до STL.

3. Бьерн Страуструп - Язык программирования C++. // Ещё одна из книг, обязательных к прочтению. Позволит лучше переварить выученный ранее материал, а так же поможет более детально разобраться во многих конструкция и вопросах.

4. Харви М. Дейтел, Пол Дж. Дейтел - Как программировать на C++ // Содержит огромное количество задач для закрепления полученных знаний. Если возникают трудности в каждой главе кратко описывается темы, по которым выполняются задания
Шаблоны
Так или иначе тема шаблонов затрагивается в выше упомянутых книгах. Но для более детального изучения рекомендую
1. Дэвид Вандевурд, Николаи М. Джосаттис - Шаблоны C++. Справочник разработчика // Для начала самое то. Расписано все подробно ничего лишнего. Достаточно понятно и просто.

2. Андрей Александреску - Современное проектирование на С++. // Книга достаточно непростая. Перед прочтение обязательно ознакомится с 1. Иначе мозги закипят. Тут уже более сложный материал затрагивающий стратегии, манипуляция типами и тд.
STL
Одна из самых важных тем. Очень сильно облегчает жизнь. И знание stl уже является неотделимой частью изучения С++.
Информацию о stl так же встречается в выше описанных книгах. Поэтому к моменту прочтения вы уже будите более мене в курсе. Тут всё расписывается более подробно и масштабно. Как никак в отдельные книги вынесена информация.

1.Дэвид Р. Мюссер , Атул Сейни - C++ и STL. Справочное руководство.

2. Николай Джосьютис - C++. Стандартная библиотека. // Это вообще настоящая кладезь знаний
современного С++. Тут есть практически всё, что нужно для человека, который хочет углубленно изучать С++ и STL. Контейнеры, алгоритмы, объекты всё расписано с понятными примера. Затрагивается тема С++11 и вкратце даже параллельное программирование. Соответственно тоже обязательно к прочтению.


Кроме того, в изучении очень неплохо помогут 2 сайта со справочной информацией: http://www.cplusplus.com/reference/ и http://ru.cppreference.com/w/. Помимо stl можно найти ещё кучу информации.

ООП
Одна из ключевых концепций программирование. Опять же к данному моменту вы уже с ней ознакомитесь, но здесь придела совершенству никогда нет.
1. Роберт Лафоре - Объектно-ориентированное программирование в С++. // Брать эту книгу как учебник по С++ идея достаточно сомнительная , но в рамках ООП и его принципов объясняется достаточно понятно. С примера, что не мало важно.

2. Гради Буч , Роберт А. Максимчук , Майкл У. Энгл , Бобби Дж. Янг , Джим Коналлен , Келли А. Хьюстон - Объектно-ориентированный анализ и проектирование с примерами приложений. // Далеко не для всех, но для общего понимания достаточно полезна.

Паттерны проектирования
В продолжение темы ООП, очень серьёзно позволяют улучшить работу с проектированием иерархий классов. Тема достаточно сложная. К рекомендуемой мной книги придётся часто возвращаться. Это скорее даже справочник, чем учебник.

1. Э. Гамма , Р. Хелм , Р. Джонсон , Дж. Влиссидес - Приемы объектно-ориентированного проектирования. Паттерны проектирования
Так же небольшим подспорьем будут статьи на сайте http://cpp-reference.ru/patterns/. Кратко, но максимально информативно описывается популярные паттерны с примерами.
С++11 и С++14
С годами арсенал С++ расширяется, создаются более мощные механизмы, и всегда надо быть в курсе последних событий. Выход новых стандартов заметно облегчает работу и устраняет ранее раздражающие факторы.
1. Скотт Мейерс - "Эффективный и современный С++. // Подробно обсуждаются и разбираются нововведения, буквально всё лямбды, интеллектуальные указатели, перемещение, параллельное программирование , r-value ссылки и тд. Обязательно к прочтению.

Параллельное программирование
Стандарт С++11 языка С++ предоставляет развитую поддержку многопоточности в приложениях. Поэтому, чтобы сохранять конкурентоспособность, вы должны овладеть принципами и приемами их разработки, а также новыми средствами языка, относящимися к параллелизму. Присутствует материал для ознакомления с С++11.
1. Энтони Уильямс - Параллельное программирование на С++ в действии // Непросто для усвоения. Но нам мой взгляд, помогает достаточно быстро овладеть понимание того как работает многопоточность и как с ней работать, пользуясь фичами С++11 .
К тому же есть очень интересный цикл статей http://scrutator.me/post/2012/04/04/...-world-p1.aspx

Алгоритмы
Вообще учить алгоритмы разумеется не имеет смысла. Большинство уже давно придуманы, многие можно подсмотреть. Книги по алгоритмам читают для того что бы научится думать алгоритмически(понимать как строятся те или иные алгоритмы и как их построить самому).
1. Дональд Кнут - Искусство программирования. // классика

2. Роберт Седжвик - Алгоритмы на C++. // Более легко читаемый вариант. Сортировки, структуры данных и тд.

Итог
Старайтесь читать именно книги. Часто бытует мнения, что можно научится всему просто поиском в Интернете. Да, штука, разумеется удобная, но она не структурирует ваши знания. Авторы учебников не глупые люди, они знают чему учат, знают как подобрать материал и в каком порядке его подать. Так же не бойтесь возвращаться уже к прочитанным книгам, если что-то забыли, или не поняли. Перечитывайте, пересматривайте. Это не шаг назад, это лишь попытка более устойчиво закрепится, что бы шагнуть вперёд.

Не по теме:

Больше книг тут
Литература C++

Размещено в Без категории
Просмотров 768 Комментарии 7
Всего комментариев 7

Комментарии

  1. Старый комментарий
    Аватар для Ferrari F1
    Как читать книги по алгоритмам (кнута в частности) не зная матана?
    Сперва надо матан подымать. Сперва школный (арифметика, алгебра, геометрия Киселева), потом высшый матан, а только потом уже кнута
    Запись от Ferrari F1 размещена 12.04.2017 в 20:05 Ferrari F1 вне форума
  2. Старый комментарий
    Так я не составляю программу обучения Просто делюсь своими рекомендациями в плане литературы. А матан это само собой
    Запись от Peoples размещена 12.04.2017 в 20:08 Peoples вне форума
  3. Старый комментарий
    Аватар для Ferrari F1
    то что надо читать кнута это конечно верно, но его неряльно читать "просто так"
    Запись от Ferrari F1 размещена 12.04.2017 в 20:09 Ferrari F1 вне форума
  4. Старый комментарий
    Поэтому вторым в списке вариант попроще
    Запись от Peoples размещена 12.04.2017 в 20:10 Peoples вне форума
  5. Старый комментарий
    Спасибо за литературу, буду изучать.
    Запись от PaTi6op размещена 09.07.2017 в 14:59 PaTi6op вне форума
  6. Старый комментарий
    Аватар для TButton

    Заголовок

    Спасибо, давно искал именно такой список книг по программированию.
    Запись от TButton размещена 09.07.2017 в 15:05 TButton на форуме
  7. Старый комментарий
    Аватар для gru74ik
    TButton, плохо искали. Аналогичный план изучения можно найти в 18 пункте в прикреплённой теме Хочу научиться программировать на C++: с чего начать?
    Запись от gru74ik размещена 10.07.2017 в 07:45 gru74ik вне форума
    Обновил(-а) gru74ik 10.07.2017 в 07:47
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru