Первоначально написано и опубликовано в моем блоге в ноябре 2014 г. Значительно обновлено в 2019 г.

Я начал изучать HTML в 1999 году, когда я был в 5-м классе. Я создал бесчисленное количество веб-сайтов на Geocities (с необходимыми мигающими GIF-файлами повсюду), используя сайт для развлечения, для нескольких веб-комиксов, которые я сделал с друзьями, и даже для школьных заданий. Я создал веб-сайт для некоммерческой организации, которой руководила моя бабушка. И я любил все это.

Год спустя я купил экземпляр книги под названием Javascript Goodies и сам выучил Javascript. Через год это была Java. Затем Выучите C за 21 день. Затем PHP и MySQL. Я не мог насытиться. Я установил и протестировал несколько дистрибутивов Linux на своем компьютере и научился настраивать веб-серверы Apache. Параллельно я учился использовать Adobe Photoshop, Illustrator, Flash и Maya, программу 3D-моделирования. Я становился гуру компьютерного и веб-дизайна, по крайней мере, по сравнению с другими детьми моего возраста.

А потом, в 10 классе, я остановился.

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

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

Я пишу этот пост на ноутбуке Windows с процессором Intel, подключенном к Интернету, который использует точно такой же фреймворк, который был у него с момента его рождения, в комплекте с фавиконками 16 на 16 пикселей. Tumblr, до недавнего времени одна из крупнейших в мире платформ для ведения блогов, работает на строительных блоках веб-сервера Linux Apache и PHP, точно так же, как современные веб-сайты, которые я создал в 2003 году. В последние несколько лет я Я создал другие сайты, используя те же базовые знания, которые я получил, когда Y2K был последним модным словечком (плюс Python; мне удалось его освоить). Вне Интернета Java, C и C++ по-прежнему являются одними из самых популярных и влиятельных языков, как это было, когда я учился в начальной школе.

Я уже слышу, что по крайней мере некоторые из вас, технарей, говорят: О чем вы говорите, сейчас все совсем по-другому! Да, теперь у нас есть Node и jQuery, миллион фреймворков и инструментов JavaScript, AWS и множество других продуктов, о которых я даже не знаю. Плюс, конечно, у нас есть переход на мобильные устройства. НО огромная часть всех этих крупных разработок последних лет — это всего лишь фреймворки или модули, которые делают те же самые старые базовые технологии быстрее и проще в использовании. Тот факт, что я могу писать и запускать Javascript на своем iPhone и даже использовать его для запуска сервера  — тот самый хлипкий Javascript, с которым мой 10-летний я ковырялся в Netscape Navigator , — безумие ко мне.

Еще в 1999 году мы даже не знали, будет ли программирование существовать в 2020 году! К тому времени компьютеры наверняка будут программировать сами себя, или у нас будут невероятные визуальные интерфейсы для создания мощных программ за считанные минуты, или что-то в этом роде. Но вместо этого первый шаг к созданию суперкрутого современного мобильного приложения сегодня с помощью React — это… использовать командную строку, как это делали в 1981.

Есть много причин, по которым вы должны расстраиваться по этому поводу, но вот две основные:

  1. Отсутствие изменений, несмотря на огромные улучшения в скорости процессора. Графический чип в Playstation 4 имеет ту же вычислительную мощность, что и самый быстрый в мире суперкомпьютер 2000 года (исходя из числа операций с плавающей запятой в секунду, или FLOPS). Это означает, что игрушки пятилетней давности уже были равны по вычислительной мощности лучшим из того, что правительство Соединенных Штатов могло получить в свои руки на рубеже этого века. Разве мы не можем сделать что-то более продуктивное с этой силой, чем сделать себе кроличьи уши в Snapchat? Недавний рост ИИ и обработки естественного языка — это, по крайней мере, движение в правильном направлении.
  2. Ощущение, что ничего нового с технологиями мы не получаем. Конечно, мобильные устройства, такие как iPhone, являются новыми и удивительными по определенным стандартам, но до недавнего времени последний работал в основном на языке программирования, разработанном в 1983 году. Большинство изменений за последние 10 лет были лишь постепенными. Это не обязательно плохо, тем более что нам нужно убедиться, что компьютеры, на которых работает наша основная инфраструктура, в первую очередь надежны. Но даже при этом нам нужно мыслить шире. Я имею в виду, хотим ли мы, чтобы наша возможная пилотируемая миссия на Марс выполнялась на Javascript?

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

Может быть, я был просто чрезмерно оптимистичным или идеалистичным ребенком, но я хочу, чтобы мой подростковый прогноз был верным. Я хочу, чтобы все технические навыки, которым я научился, когда мне было 10 лет, были абсолютно бесполезны. Это так много, чтобы спросить?