- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп
Шрифт:
Интервал:
Закладка:
В заключение отметим, что исследования — т.е. собственно наука — в целом основаны на использовании компьютеров. Телескопы, открывающие секреты далеких звезд, невозможно спроектировать, построить и эксплуатировать без помощи компьютеров, а огромные массивы данных, которые они производят, невозможно проанализировать и понять без компьютерной обработки. Отдельные биологические исследования иногда способны обойтись без широкого использования компьютеров (разумеется, если не учитывать фотоаппараты, устройства хранения данных, телефоны и т.д.), но данные все же необходимо как-то хранить, анализировать, сравнивать с компьютерными моделями и передавать другим ученым. Еще несколько лет назад невозможно было представить, насколько широко будут использоваться компьютеры в современной химии и биологии — включая медицинские исследования. Компьютеры смогли расшифровать геном человека. Точнее говоря, этот геном был расшифрован людьми с помощью компьютеров. Во всех этих примерах компьютер кардинально облегчает работу.
На каждом из упомянутых компьютеров установлено программное обеспечение. Без него компьютеры представляют собой просто дорогую груду кремния, металла и пластика, которую можно использовать лишь в качестве груза, якоря или обогревателя воздуха. Любое программное обеспечение создается людьми. Каждая строка программы, выполняемой компьютером, имеет определенный смысл. Очень странно, что все это работает! Ведь мы говорим о миллиардах строк программ, написанных на сотнях языков программирования. Для того чтобы все это правильно работало, люди затратили массу усилий и применили множество знаний.
Нет ни одного устройства, работу которого мы не хотели бы усовершенствовать. Достаточно просто задуматься о его функционировании, и вы сразу поймете, что именно требуется изменить. В любом случае каждое устройство можно уменьшить (или увеличить), заставить работать быстрее или надежнее, снабдить более широкими возможностями или мощностями, сделать красивее или дешевле. Очень вероятно, что для этого вам придется использовать программирование.
1.3. Люди
Компьютеры созданы людьми и для людей. Компьютер представляет собой универсальное устройство, его можно использовать для решения невероятно широкого спектра задач. Именно благодаря этому программы приносят пользу. Иначе говоря, компьютер — это просто груда железа, пока некто — программист — не напишет программу, делающую что-то полезное. Мы часто забываем о программном обеспечении. Еще чаще забываем о программисте.
Голливуд и другие “масскультовые” источники дезинформации создали программистам весьма негативный имидж. Например, по их мнению, программист — это одинокий толстый отщепенец, не имеющий социальных связей, не отрывающийся от видеоигр и постоянно залезающий в чужие компьютеры. Он (почти все программисты в фильмах — мужчины) либо стремится разрушить весь мир, либо спасти его. Разумеется, в реальном мире существуют люди, отдаленно напоминающие эту карикатуру, но наш опыт показывает, что среди программистов они встречаются не чаще, чем среди адвокатов, полицейских, продавцов автомобилей, журналистов, артистов и политиков.
Подумайте об известных вам компьютерных приложениях. Можете вспомнить приложение, используемое одиночкой в темной комнате? Конечно, нет! Разработка фрагментов программного обеспечения, компьютерных устройств или систем невозможна без совместной работы десятков, сотен и даже тысяч людей, играющих невероятно разнообразные роли: например, среди них есть программисты, проектировщики, тестировщики, аниматоры, менеджеры фокус–групп, экспериментальные психологи, разработчики пользовательского интерфейса, аналитики, системные администраторы, специалисты по связям с потребителями, звукоинженеры, менеджеры проектов, инженеры по качеству, статистики, разработчики интерфейсов аппаратного обеспечения, специалисты по разработке технических заданий, сотрудники службы безопасности, математики, продавцы, ремонтники, проектировщики сетей, специалисты по методологии, менеджеры по разработке программного обеспечения, специалисты по созданию библиотек программ и т.п. Диапазон ролей огромен и неисчерпаем, при этом их названия варьируются: инженер в одной организации в другой компании может называться программистом, разработчиком, членом технической команды или архитектором. Существуют даже организации, позволяющие своим сотрудникам самим выбирать, как называются их должности. Не все эти роли непосредственно связаны с программированием. Однако лично нам приходилось встречаться с людьми, основным занятием которых было читать или писать программы. Кроме того, программист (выполняющий одну или несколько из указанных ролей) может некоторое время контактировать со многими людьми из других прикладных областей: биологами, конструкторами автомобилей, адвокатами, продавцами автомобилей, медиками, историками, геологами, астронавтами, авиаконструкторами, менеджерами лесопилок, ракетостроителями, проектировщиками боулингов, журналистами и мультипликаторами (да, этот список — результат личного опыта). Некоторые из них также могут быть некоторое время программистами, а затем занять должность, не связанную с программированием.
Миф о программисте-одиночке — просто выдумка. Люди, предпочитающие самостоятельно выбирать задания, лучше всего соответствующие их способностям, обычно горько жалуются на то, что их часто отвлекают или вызывают на совещания. Люди, предпочитающие контактировать с другими людьми, чувствуют себя намного комфортнее, так как разработка современного программного обеспечения — коллективное занятие. По этой причине социальные связи и навыки общения для программистов имеют намного более высокую ценность, чем считается. Одним из наиболее желательных навыков программиста (реального программиста) является умение общаться с разными людьми — на совещаниях, посредством писем и на формальных презентациях. Мы убеждены, что, не завершив один-два коллективных проекта, вы не получите представления о том, что такое программирование и действительно ли оно вам нравится. В частности, мы любим программирование за возможность общаться с приятными и интересными людьми и посещать разные города.
Единственной сложностью является то, что все эти люди имеют разное образование, интересы и привычки, влияющие на производство хорошего программного обеспечения. От этих людей зависит качество нашей жизни — иногда даже сама жизнь. Ни один человек не может играть все роли, упомянутые выше; да и, вообще, ни один разумный человек к этому не стремится. Мы перечислили их, чтобы показать, что вы имеете намного более широкий выбор возможностей, чем можете себе представить. Можете перебирать разные области занятий, выбирая то, что лучше всего соответствует вашим умениям, талантам и интересам.
Мы все время говорим о программистах и программировании, но совершенно очевидно, что программирование — это только часть общей картины. Люди, разрабатывающие корабли или мобильные телефоны, не считают себя программистами. Кроме того, хотя программирование — важная часть разработки программного обеспечения, разработка программного обеспечения — это не только программирование. Аналогично, для большинства товаров разработка программного обеспечения — это важная часть производства, но не все производство.