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

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

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

AutoML от Google также является важной вехой на пути к будущему автоматизации. Алгоритм машинного обучения, созданный другим алгоритмом машинного обучения, уже более точен, чем созданный человеком. Несмотря на то, что он был разработан для поддержки исследователей и работает под их тщательным контролем, стоит отметить, что результаты обеспечили более быстрое продвижение вперед, открывая новые области исследований.

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

Судя по тому, что можно понять, в разработке программного обеспечения уже проявляются некоторые тенденции, такие как удобочитаемость кода и автоматизация разработки. Если это так, можем ли мы предвидеть будущее, в котором программирование будет естественным диалогом между человеком и машиной для получения ожидаемого результата? В этом контексте насколько актуально раннее изучение «традиционного» языка программирования? С другой стороны, при таком же сценарии, как можно понять, что он делает, если все «волшебным образом» появляется по его команде? Будет ли все еще требоваться некоторый уровень осведомленности о логике программирования? Возможно, пришло время переосмыслить, в каком направлении движется разработка программного обеспечения, чтобы должным образом подготовить как разработчиков к более сложным задачам, так и обычных людей в эту новую эру взаимодействия человека и машины.