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

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

<p id="AutBody_Root006"><strong>1.3. Люди</strong></p>

  Компьютеры созданы людьми и для людей. Компьютер представляет собой универсальное устройство, его можно использовать для решения невероятно широкого спектра задач. Именно благодаря этому программы приносят пользу. Иначе говоря, компьютер — это просто груда железа, пока некто — программист — не напишет программу, делающую что-то полезное. Мы часто забываем о программном обеспечении. Еще чаще забываем о программисте.

Голливуд и другие “масскультовые” источники дезинформации создали программистам весьма негативный имидж. Например, по их мнению, программист — это одинокий толстый отщепенец, не имеющий социальных связей, не отрывающийся от видеоигр и постоянно залезающий в чужие компьютеры. Он (почти все программисты в фильмах — мужчины) либо стремится разрушить весь мир, либо спасти его. Разумеется, в реальном мире существуют люди, отдаленно напоминающие эту карикатуру, но наш опыт показывает, что среди программистов они встречаются не чаще, чем среди адвокатов, полицейских, продавцов автомобилей, журналистов, артистов и политиков.

Подумайте об известных вам компьютерных приложениях. Можете вспомнить приложение, используемое одиночкой в темной комнате? Конечно, нет! Разработка фрагментов программного обеспечения, компьютерных устройств или систем невозможна без совместной работы десятков, сотен и даже тысяч людей, играющих невероятно разнообразные роли: например, среди них есть программисты, проектировщики, тестировщики, аниматоры, менеджеры фокус–групп, экспериментальные психологи, разработчики пользовательского интерфейса, аналитики, системные администраторы, специалисты по связям с потребителями, звукоинженеры, менеджеры проектов, инженеры по качеству, статистики, разработчики интерфейсов аппаратного обеспечения, специалисты по разработке технических заданий, сотрудники службы безопасности, математики, продавцы, ремонтники, проектировщики сетей, специалисты по методологии, менеджеры по разработке программного обеспечения, специалисты по созданию библиотек программ и т.п. Диапазон ролей огромен и неисчерпаем, при этом их названия варьируются: инженер в одной организации в другой компании может называться программистом, разработчиком, членом технической команды или архитектором. Существуют даже организации, позволяющие своим сотрудникам самим выбирать, как называются их должности. Не все эти роли непосредственно связаны с программированием. Однако лично нам приходилось встречаться с людьми, основным занятием которых было читать или писать программы. Кроме того, программист (выполняющий одну или несколько из указанных ролей) может некоторое время контактировать со многими людьми из других прикладных областей: биологами, конструкторами автомобилей, адвокатами, продавцами автомобилей, медиками, историками, геологами, астронавтами, авиаконструкторами, менеджерами лесопилок, ракетостроителями, проектировщиками боулингов, журналистами и мультипликаторами (да, этот список — результат личного опыта). Некоторые из них также могут быть некоторое время программистами, а затем занять должность, не связанную с программированием.

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

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

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

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

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

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

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

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

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

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