Почему я люблю писать код

henrikwarneЯ люблю писать код. Я увлекаюсь программированием с тех самых пор, как купил свой первый компьютер (VIC-20). В течение многих лет я даже не задумывался, почему оно мне так сильно нравится – я просто знал это.

Но все изменилось, когда я прочитал книгу «Таинственный Человек-Месяц» автора Фреда Брукса. У многих она вызывает ассоциации с Законом Брукса: привлечение людей в «горящий» проект лишь увеличивает сроки сдачи проекта. Но мне показалось, что не это лучшая часть книги. Я бы назвал лучшей частью одну страницу в конце первой главы, носящую заглавие Радости Ремесла.

В ней Фред Брукс довольно изящно передал словами всё, что мне нравится в программировании.

1. Искренняя радость от создания вещей. 

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

2. Радость создания вещей, приносящих пользу другим людям.

Одной из особенностей работы программиста, приносящей наибольшее удовольствие, является наблюдение за тем, как код, который ты написал, размещается в работающей системе, и им пользуются реальные люди. Особенно, если он каким-либо образом упрощает им жизнь.

3. Прелесть создания сложных объектов-головоломок, состоящих из взаимосвязанных движущихся частей, и наблюдение за едва заметными циклами их работы, воспроизводящими последствия тех принципов, что закладывались в них с самого начала.

Очень хорошо сказано. Программы обладают не только сложной структурой и зависимостями. По мере выполнения программы между ее частями существует и динамика взаимодействия. Самая настоящая головоломка!

4. Радость постоянного познания, порожденная неповторимой природой задачи. Проектируя программы, вы постоянно расширяете свое понимание задачи и ее решения. Кроме того, границ для улучшения вашего ремесла, практически, не существует: здесь и языки, и алгоритмы, и методологии, инструменты и различные среды разработки.

5. Удовольствие от работы с таким податливым материалом.

Программист, как и поэт, работает, лишь слегка отдалившись от мыслей. Используя свое воображение, он создает в воздухе воздушные замки. Это мой любимый пункт в списке — он очень проницательный и чудесно сформулирован. После этого автор отмечает, что “в то же время конструкция программы, в отличие от слов поэта, является реальной в том смысле, что она двигается и работает, производя видимый результат, обособленный от самой конструкции“. О, да!

К пяти великолепным мыслям Фреда Брукса я бы добавил еще одну:

6. Выразительность кода.

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

Вот и всё — перед вами шесть причин, почему я люблю писать код!

 Источник


Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>