ЧатГПТ против Языков программирования Схватка навыков написания кода.

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

Я использовал ChatGPT для написания одной и той же рутины на 12 популярных языках программирования. Вот как это сработало!

lang-1

За последний год мы все поняли, что ChatGPT способен писать код. Я провел несколько тестов на PHP и WordPress, которые продемонстрировали как сильные, так и слабые стороны кодирования ChatGPT. Но насколько далеко распространяется знание ChatGPT в области кодирования? Для этой статьи я предложил ему классическое задание по программированию “Привет, мир” на двенадцати самых популярных языках согласно рейтингам популярности от O’Reilly Media на 2023 год.

Поскольку “Hello, world” часто можно записать в одну строку, я добавил небольшую сложность, попросив ChatGPT выводить “Привет, мир” десять раз, каждый раз увеличивая счетчик. Я также попросил его проверить время и начинать каждую последовательность с “Доброе утро”, “Добрый день” или “Добрый вечер”.

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

Постановка

Напишите программу на каждом из перечисленных ниже языков, которая выводит “Доброе утро”, “Добрый день” или “Добрый вечер” в зависимости от текущего времени в Орегоне, а затем выводит десять строк, содержащих индекс цикла (начиная с 1), пробел и слова “Привет, мир!”.

Для каждого языка программирования я также попросил ChatGPT описать его основное применение. Вот постановка, которую я использовал для этого запроса:

Для каждого из следующих языков напишите одно предложение о его основном применении и особенности: Java, Python, Rust, Go, C++, JavaScript, C#, C, TypeScript, R, Kotlin, Scala.

Теперь давайте рассмотрим каждый язык.

1. Java

ChatGPT описывает Java как “язык общего назначения, используемый в основном для создания приложений для настольных компьютеров, веба и мобильных устройств, известный своей философией ‘напиши один раз, запусти везде'”.

Java был разработан компанией Sun Microsystems, но когда Oracle купила Sun, она также приобрела Java. Хотя спецификация Java открыта, язык принадлежит Oracle. Это привело к ряду зрелищных судебных разбирательств на протяжении многих лет.

Вот код ChatGPT:

[Java Code Screenshot]

2. Python

ChatGPT описывает Python как «язык общего назначения, используемый для анализа данных, искусственного интеллекта, веб-разработки и автоматизации, известен своей читаемостью и простотой использования».

Мой совет: если вы планируете изучить программирование для приложений искусственного интеллекта, изучите Python. Почти весь код искуственного интеллекта тесно интегрирован с Python.

Вот код ChatGPT:

[Python Code Screenshot]

3. Rust

ChatGPT описывает Rust как “язык системного программирования, используемый для создания высокопроизводительного и надежного программного обеспечения, и известный своими гарантиями безопасности памяти и потоковой безопасности”.

Вот код ChatGPT:

[Rust Code Screenshot]

4. Идти

ChatGPT описывает Go как, “Язык программирования систем, используемый для создания масштабируемых и эффективных сетевых и серверных приложений, и известный своей простотой и встроенными функциями параллелизма.”

Go с открытым исходным кодом, но управляется Google. Go. Google. Поняли?

Вот код ChatGPT:

[Go Code Screenshot]

5. C++

ChatGPT описывает C++ как, “Язык системного программирования, используемый для создания операционных систем, игровых движков и высокопроизводительных приложений, и известный своим контролем над аппаратным обеспечением и памятью.”

Вот код ChatGPT:

[C++ Code Screenshot]

6. JavaScript

ChatGPT описывает JavaScript как “язык сценариев на стороне клиента, используемый для построения интерактивных веб-приложений и известный своим широким использованием в веб-разработке и способностью запускаться в веб-браузерах.”

Также, вместе с CSS (одним из основных визуальных языков дизайна веб-сайтов), JavaScript напрямую отвечает за 87,45% ненормативной лексики, которую я произнес за последние девять или около того лет.

Вот код ChatGPT:

[JavaScript Code Screenshot]

7. C

ChatGPT описывает C# как «Общеиспользуемый язык, используемый для создания приложений для рабочего стола Windows, игр и веб-приложений, известный своими объектно-ориентированными возможностями и интеграцией с средой .NET».

C# – это собственный язык, предлагаемый компанией Microsoft. Я преподавал его более десяти лет в учреждении UC Berkeley. Это очень интересный входной язык для тех, кто хочет программировать для сред Microsoft.

Вот код ChatGPT:

[C# Code Screenshot]

“`html

8. C

ChatGPT описывает C как «язык системного программирования, используемый для создания операционных систем, встроенных систем и высокопроизводительных приложений, и известный своей эффективностью и управлением низкого уровня».

Говорят, что свою первую любовь никогда не забываешь. Прежде чем я научился программировать на C во времена деревянных кораблей и железных программистов, я никогда по-настоящему не любил ни одного языка программирования. Но затем я начал использовать C, и мой мир изменился. Это была любовь. Что-то в сжатой простоте языка словно заговорило ко мне на глубоком и первобытном уровне. Возможно, это слишком интимная информация, но это также правда. C всегда будет моей первой синтаксической любовью.

Вот код от ChatGPT:

“`

[C Code Screenshot]

“`html

9. TypeScript

ChatGPT описывает TypeScript как “Надмножество JavaScript, используемое для создания масштабных веб-приложений и известное своей необязательной статической типизацией и продвинутыми функциями языка.”

TypeScript также является продуктом Microsoft, но, в отличие от C#, он является открытым и непатентованным.

Вот код ChatGPT:

“`

[TypeScript Code Screenshot]

10. R

ChatGPT описывает R как “Язык, используемый для статистического вычисления и анализа данных, а также известный своими мощными возможностями манипулирования данными и визуализации.”

Вот код ChatGPT:

[R Code Screenshot]

“`html

11. Kotlin

ChatGPT описывает Kotlin как «Универсальный язык, используемый для создания приложений для Android, серверных приложений и веб-приложений, известный своей краткостью и совместимостью с Java».

Kotlin был разработан компанией JetBrains, маленькой компанией, которая также делает PhpStorm, мое текущее любимое средство разработки.

Вот код ChatGPT:

“`

[Kotlin Code Screenshot]

12. Scala

ChatGPT описывает Scala как «Язык, используемый для создания масштабируемых и распределенных приложений, известный своей поддержкой функционального программирования и интеграцией с виртуальной машиной Java.»

Вот код ChatGPT:

[Scala Code Screenshot]

“`html

Также обратите внимание на вывод для Scala (показан выше). Я никогда не программировал на Scala и не очень много о ней знаю. По-видимому, также не знает и ChatGPT, потому что в то время как искусственный интеллект обеспечивал подсветку синтаксиса для всех других языков, кажется, не было информации на руках для Scala.

Финальные мысли (и немного Forth)

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

Когда я последний раз запускал эти тесты, почти год назад, ChatGPT сделал почти все правильно (несмотря на вышеприведенный отказ). Однако, когда было предложено отобразить код на Forth (очень фанковый, но веселый язык), был сгенерирован код, который похож на Forth, но окна были помечены как “Perl”. Он определенно не генерировал Perl.

Однако на этот раз он и сгенерировал Forth (двоеточия говорят сами за себя) и правильно его пометил. Как и в случае с Scala выше, ChatGPT, похоже, не имел таблиц подсветки синтаксиса для Forth, но в остальном кажется все в порядке.

Как и со всеми моими другими посещениями в кроличью нору с ChatGPT и кодированием, я впечатлен, но также насторожен. Мои рекомендации остаются: использовать его как инструмент, но тестировать, тестировать и еще раз тестировать.

Ссылки:

Вы можете следить за обновлениями моих проектов ежедневно в социальных сетях. Обязательно подпишитесь на меня в Twitter по ссылке [@DavidGewirtz] (https://twitter.com/davidgewirtz), на Facebook по ссылке Facebook.com/DavidGewirtz, в Instagram по ссылке Instagram.com/DavidGewirtz и на YouTube по ссылке YouTube.com/DavidGewirtzTV.


Насладились статьей? Поделитесь ею с друзьями в социальных сетях! Давайте распространим знания и веселимся с программированием! 🚀✨

“`