Твоя программа больше не твоя
На Пикабу не особо любят лонгриды, зато любят котиков, сиськи и сраться в каментах. Первых двух не будет, к третьему от души призываю.
Предлагаю техно-исторический экскурс по эволюции разработки софта и изменения порога входа в профессию разраба от хардкора времен холодной войны до галер 2010х и вайбкодеров 2020х. Посвящается моей жене, которая читает ребенку перед сном Гарри Поттера, пока я строчу эти строки.
Душнота Mode On
В 1986 году Фред Брукс - дяденька, который руководил разработкой ОС для IBM System/360 опубликовал статью с говорящим названием "No Silver Bullet", "Серебряной пули нет", или как будет правильно по смыслу - "Панацеи не существует".
Мысль там простая, и я её переведу на бытовой язык.
Сложность в разработке софта бывает двух видов.
Первая - сложность самой задачи. Допустим, мы пишем highload сервис по доставке шавухи. Как принять заказ? Как его передать на кухню? Как провести отмену, если курьер уже уехал? Это все вопросы бизнеса, людей и нашей реальности.
Вторая - сложность инструментов. Одна и та же страница, которую верстальщик отдельно доводил под Internet Explorer 6 и отдельно под нормальные браузеры, потому что IE6 неправильно считал размеры блоков. Запрос к серверу без перезагрузки страницы, который приходилось писать в двух вариантах, потому что в старых IE вместо стандартного механизма был свой, через ActiveX. Блок, отцентрированный по вертикали через вложенные таблицы и подпорки, - до того как в браузерах появился flexbox. Ковыряние в конфиге nginx. Заливка сайта на хостинг по FTP, файл за файлом, руками. Три дня настройки окружения перед первой строчкой кода
Брукс называл её "случайной": она возникла не из задачи, а из того инструментария, что у нас был.
Отсюда вывод: любой новый инструмент снимает только случайную/инструментальную сложность. Первую не снимает никто и ничто.
Давайте посмотрим, что происходит каждые несколько лет - выходит новая штука, которая героически освобождает от некоторой инструментальной сложности. И вокруг этого немедленно собирается хор: "Ну всё, теперь программировать сможет кто угодно с улицы".
Этот текст - про то, сколько раз это уже говорили.
Cold war legacy: Технологии Древних
FLOW-MATIC и COBOL: "программа на английском языке"
Грейс Хоппер, контр-адмирал ВМС США и одна из самых недооценённых личностей в истории IT, исходила из очень практичного наблюдения - почти никто из людей, работающих с данными, не мыслит математическими символами и не имеет соответствующей подготовки. Значит, надо дать им не символы, а слова. Вот так могли выглядеть программы на языке ассемблера:
Так появился FLOW-MATIC - язык, в котором отобрали примерно тридцать английских глаголов, описывающих работу с данными. Из этих идей потом вырос COBOL (1959-1960) - компилируемый "англоподобный" язык для бизнес-задач.
Это был первый подрыв устоев. Маститые профессионалы, способные профессионально запоминать, какое число в какой ячейке хранится и в какой строке какая операция, схватились за сердечко - "Это ведь сейчас бухгалтеры сами все возьмут и напишут! А с нами что?"
Что случилось в реальности: COBOL-программисты стали отдельной, очень хорошо оплачиваемой профессией, которая, как это ни странно, жива до сих пор. Бухгалтеры остались бухгалтерами и программирование не освоили.
1981, The Last One: "последняя программа в истории"
Очень любопытный экспонат. Британская компания с бесстыдным названием D.J. "AI" Systems выпустила программу The Last One. Работала она так: вам задают вопросы, вы отвечаете, на выходе получается готовая программа на BASIC.
Название означало буквально: это последняя программа, которую вам когда-либо придётся купить. Дальше вы всё будете генерировать сами.
Тут нет никакого подрыва устоев, просто любопытный факт из прошлого. Вайбкодинг из раннего киберпанка.
1983, Turbo Pascal: профессия за 50 долларов
До него работа выглядела так. Набираешь текст программы в редакторе. Сохраняешь. Выходишь из него. Запускаешь компилятор из командной строки - у некоторых компиляторов приходится по ходу дела вручную менять дискеты, потому что первый и второй проход лежат на разных носителях. Ждёшь. Компилятор сообщает, что в строке 40 ошибка. Возвращаешься в редактор. Круг за кругом, минуты на попытку.
Но главным препятствием была не война с рабочим местом, а ценник. "Типичная домашняя или школьная" конфигурация IBM PC, с монитором и дисководом стоила около трёх тысяч долларов. Первый компилятор языка C для этой машины, Lattice C, стоил 500 долларов, и журнал BYTE честно писал про него: превосходное качество, но дорого и для начинающего непригодно. Паскаль от Microsoft - 300 долларов, UCSD Pascal - до 700. Профессия была закрыта не сложностью, а прейскурантом.
20 ноября 1983 года малоизвестная компания Borland выпустила Turbo Pascal: редактор, компилятор, сборщик и отладчик в одной программе. Цикл "правка -> компиляция -> запуск" сжался до секунд, и, по словам автора, компилируемый язык впервые начал ощущаться как живой. Компилятор был написан целиком на ассемблере и весил 32 килобайта, поэтому работал буквально на любом палеозойском железе, и после загрузки в памяти ещё оставалось место под твою собственную программу.
Цена - 49 долларов 95 центов. Продавали по почте и по объявлению в журнале Byte, упаковано было как книжка в мягкой обложке с дискетой внутри.
Почему рвануло именно на Паскале? Потому что Паскаль был языком, на котором в семидесятые и восьмидесятые учились кодить в университетах: Никлаус Вирт для этого его и создавал - маленький, простой, приучающий к аккуратной структуре. Borland не пришлось никого уговаривать осваивать новый язык. Существовала готовая армия людей, которых Паскалю уже научили и у которых не было ни малейшей возможности что-то на нём делать, потому что компилятор стоил как половина компьютера.
Turbo Pascal не снижал порог входа в обучение - программировать умели и без него. Он снизил порог входа в профессию.
1991, Visual Basic: Программирование мышкой
Май 1991 года, через год после выхода Windows 3.0. Главная боль эпохи: чтобы сделать под Windows окно с кнопкой, нужно было писать сотни строк служебного кода на C, разбираясь в устройстве Windows изнутри. Это как если бы для того, чтобы повесить полку, вам сначала пришлось освоить деревообработку.
Visual Basic позволил нарисовать окно мышкой: перетащил кнопку, дважды щёлкнул, написал в открывшемся окошке, что должно произойти при нажатии. Всё.
Придумал эту идею Алан Купер - как "конструктор оболочек". Microsoft прикрутила к нему BASIC.
Здесь случился очередной подрыв устоев, только за сердце схватились уже COBOL-программисты из-за нашествия "микрокомпьютеров" и для многих из них Visual Basic стал шансом не устареть и не вылететь из профессии.
Именно с VB начинается настоящая, массовая волна разговоров "да теперь любой школьник напишет программу". И отчасти это было правдой: любой школьник действительно мог собрать окно с кнопками. Что делать дальше - вопрос открытый.
Доткомы, RAD и «сайты для всех»
1995, Delphi: 14 февраля, подарочек
Borland выпустила Delphi ровно в День святого Валентина 1995 года. На манеже все те же (Хейлсберг и команда)
Delphi сделала фокус, который до тех пор считался несовместимым: удобство сборки интерфейса мышкой, как в Visual Basic, но при этом настоящий быстрый компилятор в машинный код и нормальный язык (Object Pascal). Плюс библиотека готовых компонентов и живые данные из базы прямо в момент рисования формы - то есть вы двигаете таблицу по экрану, а в ней уже настоящие записи.
Отсюда, кстати, и термин, который тогда был на всех обложках: RAD, Rapid Application Development, быстрая разработка приложений.
Для многих в постсоветском пространстве Delphi стала первым инструментом, на котором писали за деньги. Ей же обязано появление целого класса самоучек: человек без диплома, но с книжкой по Delphi, вполне мог сдать заказчику работающую программу.
1995, PHP: быдло-код внутри страницы
Второй релиз того же года, и он изменил даже больше, чем Delphi.
До этого динамические сайты (то есть такие, где страница собирается на ходу, а не лежит готовым файлом) делали в основном на Perl через механизм CGI. Расмус Лердорф, автор PHP, объяснял свою мотивацию так: приходилось писать программу на Perl, чтобы та выплюнула HTML. А хотелось наоборот - взять обычную HTML-страницу и вставить внутрь пару строчек логики.
8 июня 1995 года вышел PHP Tools. Если спросить PHP разраба, как расшифровывается название его языка, то он ответит так - PHP: Hypertext Preprocessor. Рекурсивный акроним.
Но на первом релизе название расшифровывалось как Personal Home Page Tools - "инструменты для личной домашней страницы". Не "фреймворк для промышленной разработки". Личная домашняя страница.
Порог входа обвалился так, как ни разу до этого. Вам больше не нужно было понимать ни компиляцию, ни устройство памяти. Нужен был текстовый редактор, дешёвый хостинг и FTP-клиент.
Рунет нулевых, PHP и "сайт под ключ"
Про нулевые надо говорить отдельно, потому что в мировых обзорах этот период описывают через Ruby on Rails, а у нас, в регионах, всё было совсем не так.
В 2005 году Дэвид Хейнемейер Хансон записал видео "Как сделать блог за 15 минут на Rails" и взорвал англоязычный интернет. Идея была в том, что фреймворк сам всё за вас настраивает: не надо описывать сто параметров, просто делай по соглашению.
А в моем родном городе (и, судя по всему, в большинстве российских городов) в это время был бум совсем другого рода. Все делали сайты. И делали их на PHP и на пхпшных CMS - "системах управления сайтом", то есть готовых движках, где страницы и новости добавляются через админку в браузере.
Хронология этой волны:
2003 - выходит WordPress. Официально заявленная миссия: «democratize publishing», то есть «сделать публикацию доступной каждому».
2005 - выходит первая Joomla, самая народная CMS для «сайта фирмы».
29 октября 2005 - запускается uCoz: бесплатный конструктор плюс хостинг. Позже, в 2013–2014-м, Яндекс передал им базу сайтов «Яндекс.Народа» - около двух миллионов штук.
Вот это и есть настоящий портрет отечественных нулевых: массовое сайтостроение, в котором огромная доля людей были без профильного образования вообще. Историк по диплому, музыкант, студент-недоучка - все верстали, ставили Joomla, Drupal и им подобные, правили шаблоны и делали деньги за "сайт под ключ".
При этом профессия расслоилась. Появился нижний ярус: поставить готовый движок, натянуть шаблон, поправить пару файлов по инструкции с форума. И остался верхний: писать сам движок, магазин с интеграцией со складом, платежи, нагрузку.
Облака, конструкторы и "войти в айти"
Начну с моей любимой байки, которая оказалась правдой.
AngularJS - очень популярный в 2010-х инструмент для создания веб-интерфейсов. Его автор Мишко Хевери формулирует изначальную цель прямым текстом: расширить словарь HTML так, чтобы дизайнеры (не разработчики) могли делать простые веб-приложения. Поэтому фреймворк и устроен вокруг разметки: ты дописываешь в обычный HTML пару своих атрибутов, и страница начинает сама показывать данные.
Публичный релиз - 20 октября 2010 года. Дизайнеры почему то программировать не начали. Зато выросло целое поколение "фронтендеров", которое очень хорошо кормилось на Angular, гребя на галерах вроде EPAM или Luxoft.
В целом, 2010е - это десятилетие, когда исчезло всё, что раньше было "инфраструктурой". Раньше, чтобы выложить сайт в интернет, надо было руками настроить веб-сервер: разобраться в конфигах Apache или nginx, поднять базу данных, и молиться, чтобы эта халабудина не упала. Это отдельная профессия, и она никуда не делась, но её перестали требовать от каждого.
Коротко по периоду:
15 сентября 2008 - Stack Overflow. Сайт вопросов и ответов для программистов, придуманный Джеффом Атвудом и Джоэлом Спольски. Формально - просто форум. По факту - общая внешняя память индустрии, и первый инструмент, про который ходили шутки, что "если Stack Overflow упадет, то как они разберутся, как его поднять?". Или про "Stack Overflow - ориентированное программирование". Кстати, на одной из моих работ я подписывал документ, где прямым текстом запрещалось копировать оттуда код из ответов.
2009, Heroku и подобные сервисы. Публикация программы в интернет сводится к одной команде: `git push`. Никаких серверов, конфигов и прочей ебалы. Плюс редактор кода в браузере (хотя кто им пользовался?)
19 августа 2011 - Bootstrap. Набор готовых стилей и элементов, который два человека из Twitter (дизайнер и разработчик) сделали для внутренних инструментов и выложили в открытый доступ. Со второй версии - с автоматической подстройкой под размер экрана. Внезапно любой человек мог сделать сайт, который не выглядел как сайт
верните мой2007 года.2012 - Bubble, один из первых «no-code» конструкторов приложений: логика собирается блоками, база данных и хостинг встроены. Основан прямо с формулировкой "сделать разработку софта доступной всем".
2013 - Docker. Способ упаковать программу вместе со всем её окружением в контейнер, чтобы она одинаково работала и на ноутбуке разработчика, и на сервере. "На моем компе работает" - теперь уже так не съедешь.
2014 - AWS Lambda. Так называемый serverless: загружаешь кусок кода, а облако само решает, где и на чём его запускать.
2014 - Тильда. конструктор сайтов, выросший из внутреннего инструмента студии для сборки презентаций-лонгридов. Впервые сделал модульную сборку страницы из готовых блоков - потом это скопировали все. Целевая аудитория заявлена честно: люди с минимальным опытом в вёрстке и программировании.
И параллельно - то, что у нас превратилось в мем. Онлайн-школы: GeekBrains, Skillbox, Яндекс Практикум. Обещание в рекламе примерно одинаковое: "профессия с нуля за 7-13 месяцев", "войти в айти". Порог входа снизился уже не в инструменте, а в самом представлении о профессии. Это породило отдельную категорию "вайтишников".
Двадцатые: вайбкодинг
2021, Copilot: подсказка длиной в функцию
В июне 2021 года GitHub анонсировал Copilot - автодополнение, которое дописывает не слово, а сразу целую функцию по комментарию. Уже в октябре 2021-го GitHub заявлял, что для некоторых языков около 30% нового кода предлагается Copilot.
2 февраля 2025, вайбкодинг: термин родился в одном твите
Андрей Карпати (один из основателей OpenAI, потом директор по ИИ в Tesla) как то запостил пост, который мгновенно стал названием эпохи:
«Есть новый вид программирования, я называю его вайбкодингом: ты полностью отдаёшься вайбам, принимаешь изменения и забываешь, что код вообще существует».
И там же — фразы, которые для любого практикующего разработчика звучат как диагноз:
«Я всегда просто жму Accept All, я больше не читаю диффы».
«Код разрастается за пределы моего обычного понимания».
Важная деталь, которую при цитировании обычно теряют: сам Карпати говорил, что это годится для "выбрасываемых проектов на выходные". Не для банковской системы.
Кто дочитал всю эту духоту до сюда, сделайте вывод сами про порог входа :)
И что же получилось?
Действительно ли теперь писать софт может кто угодно?
Насколько нейронки хороши в написании кода? А вот тут есть конкретные измерения. Сервис код-ревью CodeRabbit в декабре 2025-го разобрал 470 реальных пул-реквестов: в коде от ИИ в среднем 10,83 замечания против 6,45 у людей — в 1,7 раза больше, причём логических ошибок в 1,75 раза, а уязвимостей типа XSS — в 2,74.
Veracode прогнала больше сотни моделей через реальные задачи: в 45% случаев сгенерированный код содержал дыру из списка самых типовых уязвимостей OWASP Top 10, на Java — до 72%, и новые модели безопаснее старых не оказались.
В корпорациях это масштабируется: Apiiro просканировала десятки тысяч репозиториев и обнаружила, что разработчики с ИИ выдают в три-четыре раза больше кода - и в десять раз больше замечаний по безопасности.
Механика по-человечески понятная: по данным GitClear, доля скопированных строк выросла с 8,3% до 12,3%, а доля перемещённых — то есть признак того, что код приводят в порядок, — упала с 24,1% до 9,5%. Проще сгенерировать ещё один почти такой же кусок, чем навести порядок. По отдельности работает каждый. Вместе это система, которую никто не держит в голове.
Душнота Mode Off
"Ну и что? Все дело в процессе. Надо просто пайплайн, прости господи, наладить, ревью, там, human in the loop и прочие полезные practices" - спросишь ты.
И я тебе отвечу:
Ты только что провел ковровую кодогенерацию. Ты за нее дипсику/клоду/опенаи занес денюжков. Потом другая нейронка прошлась с код ревью, ты еще занес денюжков. Потом ревью безопасности - все на бабках работает. Потом тесты, unit, интеграционные. Смекаешь? Да, процесс быстрее, чем руками, но где экономия?
Итого: кому принадлежит программа, написанная вайбкодером?
Теперь главный вопрос, ради которого я всё это писал.
Встречал я среди комментариев вот такой крик души:
У меня магазин на Битрикс. Был. Бесил меня, и платить не хотелось. В своё время говнокодерам отдавал лютые бабки, так он даже не завёлся с первого раза.
Пришлось каталоги чистить и прочее самому. Те только лапками разводили. Как работает синхронизация с 1С работает, так и не понял.
Сегодня работает, завтра нет. Как-то на выходных Фейблу дал доступ к хостингу по SSH и спросил, что с сайтом делать.
Он ответил, что сайт говно и его надо сносить и писать новый. За двое суток написал полностью функционирующий магазин.
Модуль почты России написал лучше чем их официальный. Перетащил из Битриксе все заказы.
Настроил оплату. В админку даже не захожу. Все движения на сайте теперь происходят через чат бот в MAX. Плюс уведомления.
Подключил чат бот в том же Максе который может оформить заказ в диалоге. А на прошлых выходных Астра ещё и по безопасности прошлась.
Теперь ни спама в отзывах ни попыток взлома. И не надо в админке лазать постоянно. Пишешь нейронка, что делать, она делает.
Вспоминаю про Битрикс с ужасом, всю душу вынула. То корзина перестаёт работать, то модуль какой отвалится, то обновление надо.
И каждый раз программистам платил бабки. За любой чих. Для программистов нейросети может и такое себе.
А мне как человеку у которого не Алиэкспресс, а небольшое хобби, но нужен приятный глазу магазин со всеми современными плюшками, просто огонь.
Ничего не имею против уважаемого комментатора. Я искренне рад, что у человека все получилось со своим магазином. Подобный опыт - как раз результат работы с "вайтишниками" и чрезмерного снижения того самого порога входа, за которым мы тут следили. Ребята тут явно занимались закрытием "тикетов" и "сторипоинтов", а не реальных задач.
Но...
Вот ты "навайбкодил" приложение. Оно работает, у него есть пользователи. Отберём у тебя нейросеть. Ты спросишь "с фига ли?" И я еще раз отвечу - санкции, деньги кончились, сбой у провайдера. Да миллион причин.
Это все еще твоя программа?
Юридически, скорее всего нет.
29 января 2025 года Бюро авторских прав США выпустило отчёт по ИИ и авторскому праву, где "чисто ИИ-сгенерированный результат авторским правом не охраняется". Но, камон, какое нам тут дело до американских крючкотворов?
И вот с инженерной стороны интересней.
Три вопроса, которые каждый может задать себе:
Выключаем инструмент. Что осталось? У тебя остался код, который ты можешь читать и править? Или осталось приложение, которое ты можешь только попросить переделать".
Можешь ли ты объяснить, почему система устроена именно так, и предсказать, что может сломаться от правки?
Три часа ночи, всё упало, тебе в мессенджер пришел лог ошибки. Нейронки недоступны, или отвечают уверенно и неправильно. Что дальше?
Если на эти вопросы не можешь ответить, то ты в заложниках у собственного творения.
P. S: пост очень длинный, поэтому намеренно сюда не входит game dev, разработка под мобилки, python, javascript и все то, что мы очень любим, но просто после этого пост будет нереально дочитать до конца





...и ещё больше не любят иностранные слова