мы, программисты [перевод]
Tags: computerscience, writing
Published: 2020-04-22 07:03:01

Вольный перевод статьи Robert C. Martin "[We Programmers](https://blog.cleancoder.com/uncle-bob/2018/03/29/WeProgrammers.html)"

# Мы, программисты

## Хороший

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/wcrmug4g16yxkxw62dj8.jpeg)

Маленькая красная спортивная машина направляется к поясу астероидов, и мы, программисты, отправили её туда. Нет, я не пытался умалить заслуг Илона Маска и всех инженеров-ракетостроителей компании SpaceX. Это было их видение и достижение, но они бы не сделали этого без нас.

Задумайтесь на момент обо всём программном обеспечении, задействованном в этом проекте. Подумайте об автоматизации самого космического корабля, о способности ступеней приземляться в тандеме, о рулевых лопастях, подвесках двигателя и дросселях, наземном управлении и протоколах связи и ... .

Подумайте, как работали инженеры. Подумайте о программном обеспечении CAD/CAM, о машинах с числовым программным управлением и ПО для 3D-моделирования, о симуляции динамики жидкости, анализе методом конечных элементов, орбитальных вычислениях, электронных таблицах, тестовых процессорах, электронной почте, сообщениях, звонках ... .

Думаю, ясно, к чему я клоню. Шаг на пути от мечты до реализации смазывался, включался, совершенствовался и упрощался софтом каждую минуту. Миллиарды и миллиарды строк софта, которые написали *программисты*. [Да, саганизм был намеренным.]

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

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

## Плохой

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/dkmrcj6waxt4lynjpi4e.jpg)

Элейн Херцберг мертва, была сбита самоуправляющимся автомобилем, переходя дорогу со своим велосипедом. И мы, *программисты,* убили её. Ну, я не пытался сказать, что каждый программист злонамеренно или даже небрежно написал код, который её убил, но, не сомневайтесь, именно он (код) это сделал.

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

Мы можем никогда не узнать, было то `IF` выражение или функция. Нейросети машинного обучения очень сложны для понимания. Даже если логи автомобиля содержат все входные данные, и мы сможем переиграть событие снова и снова, в водовороте весов, средних значений и циклов обратной связи, мы вряд ли поймем, почему автомобиль повёл себя таким образом.

Но мы *можем* сказать, что мы, *программисты*, написали код, который убил её. И этому я, и вы, и все прочие программисты должны сожалеть.

## Злой

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

## Наш девиз

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

Думаю, что недавний твит Грэди Буч, мы, *программисты,* должны сделать своим девизом:

> Каждая строка кода представляет этическое и моральное решение.