Кодеры за работой. Размышления о ремесле программиста | страница 2
Спасибо издательству Apress, особенно Гари Корнеллу, который и предложил написать эту книгу, Джону Вакка и Майклу Бэнксу за их предложения, а также моему редактору Кэндейс Инглиш, которая исправила бесчисленные ошибки.
Наконец, самые искренние слова благодарности моей семье - и большой, и малой. Обе мои мамы - родная и теща - приходили присмотреть за ребенком, чтобы я мог еще немного поработать; мои родители на неделю приютили моих жену и малышку, позволив мне сделать последний мощный рывок. И главная благодарность - жене и дочери. Лили и Амелия, хотя иногда мне требуется некоторое время на работу, без вас, девочки, она не имела бы смысла. Я люблю вас.
Введение
Если не считать работу, проделанную Адой Лавлейс - аристократкой XIX века, которая придумала программы для так и не законченной “Аналитической машины” Чарльза Бэббиджа, - компьютерное программирование как область человеческой деятельности появилось совсем недавно: Конрад Цузе представил свой электромеханический компьютер Z3, первую работающую вычислительную машину общего назначения, в 1941 году, всего 68 лет назад. И всего 64 года прошло с тех пор, как шесть женщин - Кей Антонелли, Джин Бартик, Бетти Холбертон, Мартин Мельцер, Фрэнсис Спенс и Рут Тейтельбаум, - служивших в американских “вычислительных войсках” и составлявших вручную баллистические таблицы, были привлечены к созданию программ для ЭНИАК - первого электронного цифрового компьютера общего назначения. Среди ныне живущих многие - старшие представители поколения “бэби-бума”[1] и все родители “бэби-бумеров” - увидели свет, когда в мире не было ни одного программиста.
Теперь, разумеется, все иначе. Программисты заполонили все вокруг. Согласно данным американского Бюро трудовой занятости, в 2008 году в США примерно один из каждых 106 работников - всего более 1,25 млн человек - был разработчиком программного обеспечения или инженером-программистом. Это не считая профессиональных программистов за пределами США, студентов и программистов-любителей, а также тех, кто официально занимается чем-то другим, но тратит сколько-то времени - порой даже много времени - на то, чтобы подчинить компьютер своей воле.
И хотя написанием программ занимались и занимаются миллионы человек, хотя миллиарды, даже триллионы строк кода уже написаны, кажется, будто само понятие “программист” непрерывно уточняется с течением времени. Все еще идут споры о том, к какой области относится программирование - к математике или к инженерной деятельности. Ремесло, искусство или наука? Конечно же, идут споры, зачастую ожесточенные, по поводу лучших способов программирования: Интернет полон сообщений в блогах и форумах, посвященных тому или иному способу написания кода. Книжные магазины набиты книгами о новых языках программирования, новых методах, новых попытках осмыслить задачи программирования.