Теперь я попробовал это революционно новое существование в Интернете, ChatGPT. Предполагается, что эта программа означает конец учителям, написанию диссертаций и статей, и не в последнюю очередь: программированию! Сейчас во славу ChatGPT написано бесчисленное количество текстов, и если вы их прочтете, программа станет чуть ли не восьмым чудом света (хорошо, я могу немного преувеличивать, но, думаю, вы поняли суть.

Итак, я начал изучать его, и что ж, это впечатляющая часть программного обеспечения, я определенно это признаю. Он чувствует себя компаньоном или помощником, когда вы просите его о чем-то (и он ясно указывает, что он НЕ живой!). Время от времени он работает с некоторыми небольшими сбоями, но эй, а кто нет? Я не возражаю против программы, она довольно хороша, но я возражаю против шумихи. Это не конец всех видов человеческой работы. Первое, о чем мы должны подумать, это то, что он основан на ошеломляюще большом количестве материала, на котором он, по сути, выполняет статистический анализ, что само по себе удивительно. Но результат по-прежнему является «лишь» моделью материала, которым он питался.

Что это значит? Ну, во-первых, (насколько я знаю) это не делает никаких рассуждений! Кажется, что он запоминает разговор, который у него был, и можно использовать ссылки на предыдущие вопросы и ответы. Тоже впечатляет, признаю. Итак, вопрос в том, действительно ли это стоит использовать? И как мы должны его использовать?

В этом посте я расскажу об использовании ChatGPT в качестве программиста. Некоторые люди имеют в виду, что в будущем он заменит программиста. Однако я думаю, что нет. По крайней мере, не при моей жизни (сейчас мне 60 лет). Но почему это, я имею в виду, оно пишет программы? Ну и да, и нет! Давайте разобьем его на несколько наблюдений, сначала НЕТ:

  1. Это не безошибочно. Иногда он производит программы, в которых есть ошибки. Да и? Ну, некоторые из этих ошибок легко увидеть, т.е. программа вылетает. И если вы спросите ChatGPT об ошибке в коде, он извинится и предложит альтернативу, которая в большинстве случаев является правильной. Но есть и другие ошибки, которые не проявляются, кроме ошибки в расчете, приводящей к неточному результату. Эти ошибки гораздо сложнее найти, и для них часто требуется человеческий отладчик.
  2. Более сложную программу на английском (да и на любом другом языке) описать очень сложно. Дать такое четкое описание программы, чтобы оно сразу дало правильное решение, — довольно сложная задача. Итак, нам по-прежнему нужен кто-то, кто имеет некоторое мышление в области программирования. Это почти так же сложно, как создать рисунок с помощью голосовых команд в Photoshop.
  3. Программы по сути не новы. В большинстве случаев они основаны на уже существующих программах. И это, конечно, не так уж и странно, поскольку он основывает свои знания на существующих программах. Попросить его написать что-то, что еще не реализовано, скорее всего, приведет к неработающему фрагменту кода (на самом деле я еще не пробовал этот аспект в большей степени).
  4. Пока что программы представляют собой скорее фрагменты, чем настоящие системы. Я подробнее изучу этот аспект и вернусь к этому обсуждению в следующем посте.

Хорошо, тогда это совершенно бесполезно! И мой ответ здесь: «Абсолютно нет!». На мой взгляд, ChatGPT может очень хорошо помочь, по крайней мере, двумя способами:

  1. Обучение программированию (после приобретения некоторых знаний). Когда вы спрашиваете о решении проблемы, вы получаете хорошо написанный код с некоторыми встроенными комментариями, а также с довольно подробным объяснением различных строк кода в программе. Если вы читаете эти объяснения, вы на самом деле узнаете довольно много. И в случае, если определенная строка не объяснена достаточно хорошо, вы просто переспрашиваете, что делает эта явная часть. В большинстве случаев вы получаете это прямо на месте сразу в таких случаях.
  2. Программирование для вас. Хорошо, это может противоречить тому, что я сказал выше. Тем не менее, это на самом деле то, что я нашел наиболее ценным в программе. Написание не всей системы, над которой вы работаете, а всех тех мелких раздражающих процедур или деталей, которые вы почти умеете писать, но все равно занимает много времени. Я нахожу очень утешительным возможность спросить его, как выполнять небольшие процедуры на Arduino или как написать определенный фрагмент пользовательского интерфейса в tkinter. Те вещи, для которых вы обычно обращаетесь к Stackoverflow или подобным местам, чтобы найти ответ или примеры. Это экономит мне много времени, и я даже могу принять случайные ошибки в программе, поскольку они быстро исправляются снова с помощью ChatGPT.

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

Спасибо за чтение и не стесняйтесь комментировать! Я могу, конечно, быть совершенно неправ в своих взглядах, так скажи же мне!