Как изменились кодеры с 50-х по сегодняшний день?

Кодеры, кто они такие и чем занимаются, сильно изменились за их короткую историю, которая фактически началась в конце 50-х. Эту историю объясняет Клайв Томпсон в своей книге «Кодеры». Он разделил изменения на «четыре волны кодеров», как он это называет. Эти волны сделали программистов такими, какие они есть сегодня.

Волна первая: приручение зверей

Первое поколение кодеров появилось в конце 50-х — начале 60-х годов. В то время компьютеры были огромными энергоемкими машинами. Вы могли найти его только в университетских компьютерных лабораториях. У компьютеров не было мыши или клавиатуры для взаимодействия. Программисты писали программы на бумаге, используя язык низкого уровня, который очень трудно понять. Затем бумажные программы ставили в очередь для обработки специальным персоналом, который перфорировал их в карты. Компьютеры понимали только перфокарты. Вам пришлось ждать много часов, чтобы получить результат вашей программы. Если вы допустили ошибку, вырвался баг, вам нужно пройти весь процесс заново. Кодирование требовало большого терпения.

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

Вторая волна: ночные совы

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

Третья волна: переход на личности

Персональные компьютеры стали реальностью в конце 70-х, но в основном в 80-х. Семья среднего достатка могла позволить своему ребенку-подростку компьютер того времени. Эти персональные компьютеры стали популярны среди подростков, потому что они позволили им писать свои собственные видеоигры и переделывать некоторые из своих знаменитых аркадных игр. Это особенно привлекало мальчиков, что еще больше отталкивало девочек от этой области. Доминирование персональных компьютеров сочеталось с популяризацией языка программирования BASIC. Язык, похожий на английский, был относительно прост для понимания и поставлялся с образцами программ и игр, которые позволяли этим мальчикам-подросткам кодировать свои собственные версии игр и свои собственные программы в подвалах своих родителей. Кодирование в то время не считалось карьерой или профессией. Обучение проходило из любопытства и для удовольствия. Тот факт, что теперь у каждого есть возможность кодировать, создал потребность в совместном использовании этого кода для его настройки и изменения другими кодерами и повторного использования в основных сетях того времени. Это была модель с открытым исходным кодом первого поколения.

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

Четвертая волна: захват мира

Эпоха Интернета, в которой мы живем сегодня, началась в середине 90-х. С ним кодирование стало более популярным. Браузер Netscape 90-х представил функцию «просмотр исходного кода», которая позволяла пользователям просматривать HTML-код любой веб-страницы и редактировать его по своему усмотрению. Так что код был доступен для всех. Сеть также позволила появиться таким продуктам, как социальные сети, которыми пользуются миллиарды людей. Масштабирование представило 2 чрезвычайно разных типа проблем. Техническая проблема, заключающаяся в том, как масштабировать продукт для использования во всем мире во всех часовых поясах с относительно нулевым временем простоя. Кодировщики все больше интересовались не только тем, как разработать программу, но и тем, как позволить миллиардам пользователей использовать ее одновременно. Это две отдельные технические проблемы.

Вторая проблема — социальная. Проблема, которая находится за пределами компетенции кодеров. Масштабное использование таких программ и психологические уловки, которые программисты применяли в своих продуктах, чтобы зацепить пользователей, иногда оказывали деструктивное воздействие на психологию пользователей. Появились оскорбительное поведение, язык ненависти и некоторые другие формы социальных и психологических проблем. У кодеров не всегда были знания и стимулы для борьбы с такими последствиями. Что имело значение, так это масштабирование, что означало больший успех, больший контроль и, в конечном итоге, больше денег. Когда программные продукты достигли такого масштаба, а программная инженерия как карьера была хорошо сформулирована, она начала привлекать новых выпускников, которые интересовались этой областью ради власти и денег. Те же самые люди, которые раньше приходили на Уолл-стрит, нашли в индустрии кодирования новую возможность для достижения своих целей, особенно после финансового кризиса 2008 года и ущерба, нанесенного им Уолл-стрит.

Если вам понравилась эта статья, то вам обязательно понравится книга Кодеры: создание нового племени и переделка мира Клайва Томпсона.