Смерть или эволюция. Что ждёт программирование в будущем?

fng_lvrkwzekifvfntfesrpvyda.jpeg


Или ещё одна статья про ChatGPT. Этот чат-бот с ИИ пишет код на многих языках программирования, оптимизирует код, конвертирует код с одного языка программирования на другой, пишет скрипты с нуля и т. д. Хотя ChatGPT вряд ли когда-нибудь полноценно заменит инженера-программиста или разработчика, этот инструмент может помочь решить множество задач, которые выполняют программисты, а также стать началом новых возможностей в области программирования.

Если есть что-то, в чём ChatGPT хорош, так это написание кода. ChatGPT «прочитал» больше документации, чем кто-либо прочитает за всю свою жизнь. Вот почему он может легко писать скрипты за короткое время, а также предоставлять пошаговые инструкции того, что он делает. Пользователю надо только дать правильную команду этому чат-боту.

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

По крайней мере на данный момент!

1_cughpwrf-i-ukjzzrpwhcnyte.png


Есть много инструментов, которые помогают программистам быть эффективнее. К примеру:

  • StackOverflow помогает находить ответы на многие вопросы по программированию.
  • Скрипты помогают автоматизировать рутинные процессы.
  • Шаблоны помогают избегать многократного написания кода.


Настоящий кодер


ChatGPT идёт намного дальше этого. Он не идеален. Не всегда даёт желаемый результат. Но когда он чётко «понимает», чего от него хотят, он — настоящая «машина».

Допустим, вы создаёте сайт по продажам. Вы можете просто попросить ChatGPT написать для вас код на HTML и CSS, указав, какие разделы необходимо включить. Можно даже указать, будет ли это веб-сайтом электронной коммерции или портфолио, чтобы он ещё больше настраивал вывод.

Вот пример:

gm4xglmlmddxs6iart9s-lkbxxm.png


Ниже приведён код, сгенерированный ChatGPT:




  My Online Store
  


  

My Online Store

Featured Products

Product 1

Product 1

$19.99

Product 2

Product 2

$29.99

Product 3

Product 3

$39.99

Copyright 2021 My Online Store

body {
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
}

header {
  background-color: #333;
  color: white;
  padding: 20px;
  text-align: center;
}

nav ul {
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
  justify-content: space-between;
  align-items: center;
}

nav li {
  display: inline-block;
}

nav a {
  color: #333;
  text-decoration: none;
  font-size: 18px;
  padding: 10px;
}

.product-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.product {
  width: 30%;
  margin-bottom: 30px;
  text-align: center;
}

.product img {
  width: 100%;
}

Вот так выглядит готовый сайт по этому коду.

3vhwptkzxix-g7qtdg1g5bm3qa8.png


Not bad.

ChatGPT может изменить обязанности на должностях начального уровня. Так как может выполнять некоторые задачи быстрее и лучше, чем junior-разработчики. Например, поддерживать существующий проект, устраняя неполадки или отлаживая код. Не нужно тратить время и ресурсы на обучение, потому что чат-бот уже хорошо умеет программировать. Чего нельзя сказать об junior-разработчиках.

Но вот в чём дело: таким инструментам, как ChatGPT, нужен «начальник», который даёт правильные команды для получения желаемого результата. Кроме того, нужен кто-то, кто будет интерпретировать результаты и выявлять ошибки чат-бота.

Ускорение обучения программированию


Может появиться мнение, что ChatGPT может превратить любого желающего в программиста просто потому, что теперь каждый может генерировать код с помощью чат-бота. На самом деле не так. Человеку, не обладающего знаниями в программировании, будет сложно работать с таким инструментом. Но можно с уверенностью сказать, что ChatGPT может ускорить процесс обучения программированию. Этот инструмент поможет решить вопросы по кодированию и дать подробное объяснение того, что он сделал.

Когда ChatGPT станет платным (что вероятнее всего), он может быть намного эффективнее, чем StackOverflow или Google, потому что:

  • Не будет рекламы.
  • Минимум неправильных ответов.
  • Никаких длинных «водянистых» статей о кодировании.
cdb3xmsv3butvaaxqpe9u80iml0.png


Будущее программирования


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

На данный момент ИИ по-прежнему является специальностью программирования. Но использование ИИ на рабочем месте становится всё более распространённым. Мы видим больше инструментов ИИ в интегрированных средах разработки (IDE). Сейчас продвинутые IDE начинают дополнять то, что кодируют программисты. Не только предлагая, как завершить одну строку, но и предлагая сразу несколько строк кода.

Эти инструменты не обязательно должны приводить к смерти программирования. Модели и инструменты общего назначения, такие как OpenAI Codex и GitHub Copilot, предоставляют разработчикам ПО более широкий доступ к системам, использующим ИИ для написания кода, что экономит время и энергию. Тем не менее программисту придётся выполнять работу более высокого уровня, думая о том, какую функцию будет выполнять код и как организовать код, вместо того, чтобы писать каждую строку кода в своих программах.

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

Когда-то, пионеры информатики твердо верили, что всем будущим учёным-компьютерщикам потребуется глубокое понимание полупроводников, двоичной арифметики и проектирования микропроцессоров, чтобы разрабатывать ПО. Сегодня почти 90% тех, которые разрабатывают ПО, не имеют представления о том, как на самом деле работает процессор, не говоря уже о физике, лежащей в основе конструкции транзистора. А компьютерщики будущего будут настолько далеки от классических определений «программного обеспечения», что им будет трудно развернуть связанный список или внедрить быструю сортировку.

Все программы в будущем, в конечном счёте, будут написаны ИИ, а людям будет отведена контролирующая роль. Любому, кто сомневается в этом прогнозе, достаточно взглянуть на очень быстрый прогресс, достигнутый в других аспектах создания контента ИИ, таких как создание изображений. Разница в качестве и сложности между DALL-E v1 и DALL-E v2, о которых было объявлено всего 15 месяцев спустя, ошеломляет. Вещи, которые ещё несколько месяцев назад казались фантастикой, быстро становятся реальностью.

Не только CoPilot на Github или ChatGPT заменят программистов. Речь идёт о замене всей концепции написания программ обучающими моделями. В будущем студентам компьютерных наук не нужно будет изучать такие рутинные навыки, как добавление узла в двоичное дерево или программирование на C++. Такое образование устареет, как обучение студентов технических специальностей использованию логарифмической линейки.

Инженеры будущего в несколько нажатий клавиш запустят экземпляр модели с четырьмя квинтиллионами параметров, которая уже кодирует весь объём человеческих знаний, готовый к любой задаче, требуемой от машины. Основная часть интеллектуальной работы, направленной на то, чтобы заставить машину делать то, что нужно, будет заключаться в том, чтобы придумать правильные примеры, правильные данные для обучения и правильные способы оценки процесса обучения. Достаточно мощные модели, способные обобщать посредством обучения за несколько шагов, потребуют лишь нескольких хороших примеров выполнения задачи. Люди будут учить на собственном примере, а всё остальное сделает машина.

eu_up4vlxpwqqbscbmgoafw2agq.gif

© Habrahabr.ru