Читаем Программирование. Принципы и практика использования C++ Исправленное издание полностью

Можно ли свести компьютерные науки к программированию? Разумеется, нет! Единственная причина, по которой мы поставили этот вопрос, заключается в том, что люди часто заблуждаются по этому поводу. Мы затрагиваем множество тем, связанных с компьютерными науками, например алгоритмы и структуры данных, но наша цель — научить программировать, т.е. разрабатывать и выполнять программы. Это изложение и шире, и уже, чем общепринятая точка зрения на компьютерные науки.

Шире, так как программирование связано с множеством технических знаний, которые, как правило, не относятся ни к какой научной дисциплине.

Уже, т.е. мы не стремились к систематическому изложению основ компьютерных наук.

Цель этой книги — частично охватить курс компьютерных наук (если вы собираетесь стать специалистом в этой области), изложить введение в методы разработки и эксплуатации программного обеспечения (если вы планируете стать программистом или разработчиком программного обеспечения) и, вообще, заложить основы более общего курса.

Тем не менее, несмотря на то, что изложение опирается на компьютерные науки и их основные принципы, следует подчеркнуть, что мы рассматриваем программирование как совокупность практических навыков, основанных на теории и опыте, а не как науку.

0.4. Творческое начало и решение задач

Основная цель книги — помочь вам выражать свои идеи в программах, а не научить придумывать эти идеи. Кроме того, мы приводим множество примеров решения задач, как правило, с помощью анализа, за которым следует последовательное уточнение решения. Мы считаем, что программирование само по себе является формой решения задач: только полностью поняв задачу и ее решение, можно написать правильную программу; и только через конструирование и тестирование программ можно прийти к полному пониманию задачи. Таким образом, программирование является неотъемлемой частью процесса познания. Однако мы стараемся продемонстрировать это на примерах, а не путем “проповеди” или подробного описания процесса решения задач.

0.5. Обратная связь

Идеальных учебников не существует; потребности разных людей очень отличаются друг от друга. Однако мы старались сделать эту книгу и сопровождающие ее материалы как можно лучше. Для этого нам необходима обратная связь; хороший учебник невозможно написать в изоляции от читателей. Пожалуйста, сообщите нам об ошибках, опечатках, неясных местах, пропущенных объяснениях и т.п. Мы также будем благодарны за постановку более интересных задач, за формулировку более ярких примеров, за предложения тем, которые следует удалить или добавить, и т.д. Конструктивные комментарии помогут будущим читателям. Все найденные ошибки будут опубликованы на веб-сайте www.stroustrup.com/Programming.

0.6. Библиографические ссылки

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

Austern, Matthew H. Generic Programming and the STL: Using and Extending the C++ Standard Template Library. Addison-Wesley, 1999. ISBN 0201309564.

Austern, Matthew H. (editor). “Technical Report on C++ Standard Library Extensions.” ISO/IEC PDTR 19768.

Blanchette, Jasmin, and Mark Summerfield. C++ GUI Programming with Qt 4. Prentice Hall, 2006. ISBN 0131872493.

Gamma, Erich, Richard Helm, Ralph Johnson, and John M. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994. ISBN 0201633612.

Goldthwaite, Lois (editor). “Technical Report on C++ Performance.” ISO/IEC PDTR 18015.

Koenig, Andrew (editor). The C++ Standard. ISO/IEC 14882:2002. Wiley, 2003. ISBN 0470846747.

Koenig, Andrew, and Barbara Moo. Accelerated C++: Practical Programming by Example. Addison-Wesley, 2000. ISBN 020170353X.

Langer, Angelika, and Klaus Kreft. Standard C++ IOStreams and Locales: Advanced Programmer’s Guide and Reference. Addison-Wesley, 2000. ISBN 0201183951.

Meyers, Scott. Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library. Addison-Wesley, 2001. ISBN 0201749625.

Meyers, Scott. Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition). Addison-Wesley, 2005. ISBN 0321334876.

Schmidt, Douglas C., and Stephen D. Huston. C++ Network Programming, Volume 1: Mastering Complexity with ACE and Patterns. Addison-Wesley, 2002. ISBN 0201604647.

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT