Когда код пишется словами: что не так с идеей программирования без программистов
Когда код пишется словами: что не так с идеей программирования без программистов
На днях наткнулся на обсуждение одной любопытной концепции — так называемого Software 3.0. Если коротко, это идея, что в будущем мы будем писать программы не кодом, а обычными фразами на английском. Типа скажешь «сделай мне сайт для интернет-магазина» — и нейросеть сама всё напишет. Звучит круто, но когда начал разбираться, появилось много вопросов.
От гаек к нейронам
Оказывается, ещё в 2017 году один известный специалист по машинному обучению разделил эволюцию программирования на этапы:
• Software 1.0 — классическое программирование, где человек пишет каждую строчку кода вручную
• Software 2.0 — нейросети, где программа «пишется» сама в процессе обучения через изменение миллионов параметров
Я как-то пробовал вручную менять веса в небольшой нейросети — это оказалось безумно сложно. Представьте, что вам нужно подкручивать миллионы невидимых гаек, чтобы получить нужный результат.
Мечта о волшебной палочке
Теперь же говорят о следующем этапе — Software 3.0. Основные идеи:
1. Программы будут создаваться просто описанием задачи на естественном языке
2. Писать код сможет любой, кто умеет формулировать мысли
3. Английский станет главным языком программирования
Звучит как мечта: никакого синтаксиса, компиляторов, отладки — просто говоришь, что нужно, и получаешь готовый продукт. Но если копнуть глубже, всё не так радужно.
Где собака зарыта
Проблема в том, что между «хочу интернет-магазин» и работающим сайтом — пропасть. В реальности нужно учитывать сотни нюансов:
• Какой именно функционал нужен?
• Как обрабатывать платежи?
• Как организовать доставку?
• Какая нужна защита данных?
Спойлер: ни один нормальный заказчик не может сформулировать всё это сразу и чётко. Даже мы, разработчики, часто понимаем все требования только в процессе работы.
Философский камень программирования
По сути, мы сталкиваемся с древней проблемой: язык — слишком неточный инструмент. Одно и то же предложение разные люди понимают по-разному. А теперь представьте, что вы пытаетесь объяснить сложную систему машине, которая понимает всё буквально.
Я уже молчу о том, что большинство людей плохо представляют, чего хотят на самом деле. Помните анекдот про клиента, который просит «сделайте красиво»? Так вот, с нейросетями будет ровно то же самое.
И вот что интересно: возможно, будущее не в полном отказе от классического программирования, а в симбиозе — когда нейросети помогают писать рутинный код, а люди занимаются сложной логикой и архитектурой. Но это уже совсем другая история.