Почему в Кремниевой долине пишут плохие программы?

Я – старший программист в одной средней начинающей компании в Кремниевой долине. По долгу службы мне приходится пользоваться и самому писать множество программ. Еще я выпускаю небольшой литературный журнал «Нежная кожа» («Sensitive Skin»), в котором публикую рассказы таких начинающих талантливых писателей, как Сэмюэл Делании (Samuel Delany), Патрик МакГрат (Patrick McGrath) и Линн Тиллман (Lynne Tillman). А в начале этого года я опубликовал недавно извлеченный из пыльных архивов текст беседы Алена Гинсберга (Allen Ginsberg) с Уильямом Стюардом Берроузом (William Burroughs).

Из своего опыта знаю, что те рекомендации, которые принято давать по оттачиванию мастерства написания текстов, помогают людям составлять грамотные и красивые предложения, а иногда – при наличии особого таланта или гениальности – даже писать прекрасные рассказы.

Это объясняется отчасти тем, что написание программ, или программирование – занятие не для одного человека. Это командный спорт, в котором мы пользуемся программами, когда-то написанными другими людьми. Например, вы составляете программу для игры, в которой должен прыгать мяч, и вам надо нарисовать красный кружок диаметром в дюйм, а потом заставить его прыгать по экрану и светиться, когда вы кликните по нему мышкой. Вы можете сделать это с помощью одной или двух программных строк, которые можно сравнить с одним или двумя предложениями, поскольку всю тяжелую работу уже давным-давно сделал кто-то другой. Мы пользуемся результатами огромных усилий и труда, выполненного другими людьми, с помощью доступных библиотек, или так называемых ИПП - интерфейсов программирования приложений.

Мир компьютеров держится на использовании ИПП. Чтобы разместить онлайновые игры в фейсбуке, фирма-разработчик Zynga пользуется ИПП этой сети. В любом приложении iPhone или iPad используются ИПП iOS, благодаря чему вы имеете возможность командовать своими подчиненными, лишь проведя пальцем по экрану. Популярная платформа WordPress построена на нескольких ИПП, что позволяет любому пользователю за считанные минуты создать свой вебсайт.

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

Плохо написанные документы – это сущее наказание, проклятье всей моей жизни. В нашей компании, когда заканчиваешь составлять программу, необходимо написать к ней инструкции для размещения в Wiki – нашей корпоративной энциклопедии, которой пользуются 400 наших сотрудников, работающих во всех частях света. На то, чтобы объяснить смысл и особенности составленной программы другим людям, уходит масса времени. И сказать им «смотри в Wiki, там все написано» все равно, что послать лесом, полем или еще куда подальше. А вот если бы людей учили грамотно и внятно писать программы, то не пришлось бы тратить драгоценное время.

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

Многие программисты – самоучки, и их умения отвечают лишь минимальным требованиям в области программирования, которые по большей части сводятся к умению считать до восьми. (Кстати, этим объясняется и тот факт, что многие программисты являются еще и музыкантами – они привыкли иметь дело с октавами). И слабое место многих программистов, причем, не только самоучек – это их неспособность генерировать сложные мысли и неумение эти мысли выражать. В результате на свет появляются субоптимальные программы – навязываемые всей планете посредственные (это еще в лучшем случае) продукты вроде Windows Vista, Adobe Flash или Microsoft Word.

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

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

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
dk аватар

таких начинающих талантливых писателей, как Сэмюэл Делании (Samuel Delany),

НИ ХРЕНА СЕБЕ НАЧИНАЮЩИЙ!!!
Вообще-то живой классик. Единственное что - может однофамилец, но что-то сие сомнительно

Ваша оценка: Нет Средняя оценка: 4 (1 vote)
pomidorius аватар

Сэмюэл Делани

Действительно, на вид немного староват для начинающего.

Ваша оценка: Нет Средняя оценка: 4 (1 vote)
dk аватар

Нет, ну по фото то не скажешь - в принципе человек всю жизнь делал что-то одно, а под старость переключился на другое - тот же Гоген к примеру.

Только этот Дилени (с фото), ну не может быть начинающим - у него первый роман в 1962 издан

Ваша оценка: Нет Средняя оценка: 4 (1 vote)
pomidorius аватар

Судя по всему, Вы знакомы с его литературным творчеством? Как оно, представляет художественную ценность?

Ваша оценка: Нет Средняя оценка: 4 (2 votes)
dk аватар

Хорошо, но на любителя. Ну в принципе Кафку или Гессе тоже не все любят. В переводах занудновато (пока не вчитаешься), а в оригинале пока знания языка не хватает осилить(((.
Заморачивался со стилистикой - не Джойс, конечно, попроще, но весьма неплохо получалось. Опять же - не классическая SF, а нововолновщик (в переводе на русский - не развлекалово космос-звездолеты- пришельцы, а все таки движение в сторону литературы).
В принципе если интересно - "Вавилон-17", "Нова" либо Dhalgren если языковых скиллов хватает.

Ваша оценка: Нет
pomidorius аватар

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

Ваша оценка: Нет
dk аватар

Ну справедливости ради, все таки не Джойс, но фигура (как большинство ранних нововолновщиков) весьма интересная.

Ваша оценка: Нет

Выражаю переводчику письменную благодарность за красивый перевод аббревиатуры "API".

Ваша оценка: Нет

Потому, что делать документацию после написания программы — это как чертить планы здания после его постройки.

Ваша оценка: Нет

Отправить комментарий

Яндекс.Метрика