Когда код пишется словами: что не так с идеей программирования без программистов

Когда код пишется словами: что не так с идеей программирования без программистов

На днях наткнулся на обсуждение одной любопытной концепции — так называемого Software 3.0. Если коротко, это идея, что в будущем мы будем писать программы не кодом, а обычными фразами на английском. Типа скажешь «сделай мне сайт для интернет-магазина» — и нейросеть сама всё напишет. Звучит круто, но когда начал разбираться, появилось много вопросов.

От гаек к нейронам

Оказывается, ещё в 2017 году один известный специалист по машинному обучению разделил эволюцию программирования на этапы:

Software 1.0 — классическое программирование, где человек пишет каждую строчку кода вручную

Software 2.0 — нейросети, где программа «пишется» сама в процессе обучения через изменение миллионов параметров

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

Мечта о волшебной палочке

Теперь же говорят о следующем этапе — Software 3.0. Основные идеи:

1. Программы будут создаваться просто описанием задачи на естественном языке

2. Писать код сможет любой, кто умеет формулировать мысли

3. Английский станет главным языком программирования

Звучит как мечта: никакого синтаксиса, компиляторов, отладки — просто говоришь, что нужно, и получаешь готовый продукт. Но если копнуть глубже, всё не так радужно.

Где собака зарыта

Проблема в том, что между «хочу интернет-магазин» и работающим сайтом — пропасть. В реальности нужно учитывать сотни нюансов:

• Какой именно функционал нужен?

• Как обрабатывать платежи?

• Как организовать доставку?

• Какая нужна защита данных?

Спойлер: ни один нормальный заказчик не может сформулировать всё это сразу и чётко. Даже мы, разработчики, часто понимаем все требования только в процессе работы.

Философский камень программирования

По сути, мы сталкиваемся с древней проблемой: язык — слишком неточный инструмент. Одно и то же предложение разные люди понимают по-разному. А теперь представьте, что вы пытаетесь объяснить сложную систему машине, которая понимает всё буквально.

Я уже молчу о том, что большинство людей плохо представляют, чего хотят на самом деле. Помните анекдот про клиента, который просит «сделайте красиво»? Так вот, с нейросетями будет ровно то же самое.

И вот что интересно: возможно, будущее не в полном отказе от классического программирования, а в симбиозе — когда нейросети помогают писать рутинный код, а люди занимаются сложной логикой и архитектурой. Но это уже совсем другая история.

2