Просто не воспринимайте их буквально

Давным-давно создатель Perl Ларри Уолл назвал три насмешливых достоинства программистов: лень, нетерпеливость и высокомерие.

Прежде чем вы начнете изучать новейшие языки программирования и модные фреймворки, чтобы улучшить свое мастерство, взгляните на эти три «достоинства» и попытайтесь включить их в свою повседневную работу.

Только не воспринимайте их буквально!

Добродетель # 1: лень

Это говорит о том, что информатика - единственная область, где «ленивый» является техническим термином.

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

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

Почему? Потому что мы ленивы - и это хорошо. Лень - результат нашего стремления к эффективности.

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

Но умный программист знает, что создание большого количества кода может означать, что вы неэффективны. Гораздо лучше придумать умное решение, не требующее больших усилий, чем изобретать велосипед или что-то излишне изобретать. Зачем тратить часы на написание кода, который вам не нужен?

Добродетель # 2: Нетерпение

Нетерпение не поможет, когда вы застряли в пробке, но оно может быть полезно при программировании.

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

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

В экономии времени есть что-то, что заставляет сердца программистов трепетать!

Добродетель # 3: высокомерие

Вы когда-нибудь разочаровывались, пытаясь понять, как что-то сделать на языке программирования, и думали про себя: «Я мог бы написать лучший язык, чем этот»? Именно такой мыслительный процесс породил все языки программирования.

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

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

Заключение

Надеюсь, теперь вы лучше понимаете, что означают достоинства Ларри Уолла.

Эти добродетели на самом деле являются разными аспектами желания работать эффективно. Быть эффективным часто означает знать, над чем следует работать, а не просто соглашаться с неэффективным или ошибочным способом работы.

Я бы не рекомендовал включать лень, нетерпение или высокомерие в каждый аспект вашей повседневной жизни - например, уборку дома или мытье посуды - но это хорошо работает как мотиватор для написания лучших программ!