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

изображение9.jpg

Несколько недель назад я рассмотрел(а) возможность использования ChatGPT для написания одной и той же программы на дюжине самых популярных языков программирования. Но как любитель языков программирования, я задумался(ась), насколько далеко может зайти ChatGPT. Сможет ли он(а) программировать на языке из 1950-х? Сможет ли он(а) программировать на языке, использующем собственный набор символов? Сможет ли он(а) написать код на одном из языков, на котором пишется его(ее) собственный код?

Также: Лучшие чатботы на основе искусственного интеллекта: ChatGPT и альтернативы для попробовать

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

Хотя я не выполнял сам код, я прочитал все сгенерированные программы. Большинство выглядят правильно и показывают соответствующие индикаторы, указывающие, что представленный язык - язык, который я запросил.

Я говорю вам это, потому что заголовки на всех скриншотах неправильные. Большинство из них указаны как SQL. По какой-то причине BAL показывается как VBNet, а Prolog перечислен как Rust. ChatGPT не допустил эту ошибку в прошлый раз, но сделал сегодня для всех перечисленных здесь языков.

Итак, давайте начнем.

Фортран

Fortran (или FORTRAN, как это было изображено тогда) означает "Формула перевода". Он был разработан в основном для научных и инженерных расчетов. Несмотря на то, что он уходит своими корнями в 1950-е годы, он часто был первым языком, который преподавался студентам-инженерам в 1970-х и 1980-х годах.

Также: Эта новая технология может сдуть GPT-4 и все прочие с ним схожие

Для меня это был четвёртый язык программирования, после BASIC, языка ассемблера PDP-8 и двоичного кода PDP-8 (да, я писал двоичный код, чтобы переключить его на передней панели раннего миникомпьютера). Мой папа любезно отвёз меня на час до Ньюаркского колледжа инженерии (сейчас NJIT), чтобы я мог пройти их курс первого года программирования, пока я был ещё второклассником в старшей школе.

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

Здесь, из-за использования неявного ключевого слова, кажется, что ChatGPT изображает код, написанный на варианте Fortran-77.

изображение7.jpg

COBOL

Я был подростковым программистом на COBOL. К тому времени я не знал COBOL, но где-то в 1980 году я увидел объявление о наборе персонала для программиста на COBOL в Северо-восточном региональном центре данных компании International Paper в Денвилле, штат Нью-Джерси. Это было примерно в 40 минутах езды от дома моих родителей, и мне нужна была летняя работа. Как только мне удалось назначить интервью, я бросился в местную книжную лавку и провел выходные, поглощая всю информацию о COBOL, которую только смог найти.

COBOL предназначен для деловой обработки данных. Сегодня такого же типа пользователи могут быть пользователями SAP или Salesforce. Но, как вы можете видеть из приведенного ниже кода на COBOL-88, COBOL был функциональным, но он точно не был элегантным.

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

Решающий момент для меня наступил, когда один из более опытных программистов в компании подошел ко мне, чтобы объяснить, и я процитирую: "COBOL есть жизнь." Я принял эту информацию к сердцу и решил, что не хочу, чтобы моя жизнь сводилась только к COBOL. Тот лето было последним разом, когда я программировал на COBOL.

изображение11.jpg

RPG (Генератор программ отчетов)

Нет, это не граната с реактивным снарядом или ролевая игра. RPG - это программа для создания отчетов. Вы можете увидеть эволюцию в языке (и мышлении компьютерного языка, в общем) между двумя показанными ниже версиями. RPG II восходит к концу 1950-х годов. RPG IV был обновлен в 1990-х и является значительно более современным (но всё же устаревшим).

Я писал несколько программ на RPG III для AS/400 как побочное занятие, пока учился в колледже, но это никогда не было чем-то, что я особо тщательно изучал.

изображение3.jpg

Лисп

У меня долгая любовная история с Лиспом. Лисп, названный по сокращению от LISt Processor (процессор списков), иногда описывался как Множество Исходящих Глупых Скобок. Почему-то эти скобки сразу обрели особое значение для меня. Лисп стал моим входным наркотиком в программирование искусственного интеллекта, и, как мы уже изучили из обработки языка ChatGPT, знания могут быть представлены в виде строк слов или списков.

В 1980-х годах я работал менеджером по продукту для реализации Common Lisp на основе RISC, и некоторое время в нем писал код. Исходя из синтаксиса defun greeting и let, сгенерированного ChatGPT, похоже, что нижеприведенный код также является Common Lisp, более поздней вариацией оригинальной реализации Lisp, созданной Джоном Маккарти в конце 1950-х годов. Маккарти был одним из основателей исследований в области искусственного интеллекта, поэтому только логично, что ИИ должен писать на его языке.

изображение4.jpg

Алгол

ALGOL (АЛГОРитмический язык) был впереди своего времени. Он позволял передавать функции в качестве параметров и использовать рекурсию. Это два важных компонента современного программирования, которые отсутствовали в популярных языках, таких как Фортран и КОБОЛ, которые были популярны в то же время, когда был представлен ALGOL.

Если Фортран, БЕСИК и машинный код научили меня верхнеуровневому программированию, то АЛГОЛ научил меня структурировать свой код. Он был базовым языком, который подготовил почву для моего использования Си, Паскаля, Java, JavaScript и большинства современных структурированных языков, которые мы используем сегодня.

изображение5.jpg

Симула

Как вы уже могли догадаться, Simula была разработана для симуляции и моделирования. Как и ALGOL, Simula также опередила свое время, поддерживая использование объектов и классов. Объектно-ориентированное программирование с тех пор стало фундаментальным для большинства наиболее эффективных языков программирования на сегодняшний день.

Использование ключевого слова OUTFIX говорит мне о том, что ChatGPT, вероятно, написал следующий код на Simula-67.

изображение6.jpg

BAL (язык ассемблера IBM 360/370)

BAL, что расшифровывается как "основной язык сборки," был языком сборки для больших железок IBM в 1970-х и 1980-х годах. Язык сборки считается более "низкого уровня" по сравнению с "языками более высокого уровня", что означает, что отдельные инструкции и ключевые слова сопоставлены отдельным инструкциям процессора. В языках более высокого уровня (как большинство используемых сегодня), язык часто далек от базовой архитектуры машины и сконструирован больше для эффективного программирования, чем эффективного использования оборудования.

Я прошел семестр изучения БАЛ в колледже. Это было тяжело. Профессор проводил большую часть времени, повернувшись спиной к студентам, бормоча свою лекцию монотонным голосом и пиша не прекращая на доске. Я сидел на задней партре рядом с девушкой по имени Лаура. Однажды, Лаура и я решили выскользнуть через заднее окно, чтобы выпить кофе. Когда мы вернулись с напитками, мы забрались обратно через окно. Профессор этого не заметил.

Любопытно, как мы все сдали, но неудивительно, что практически никто из нас не стал выбирать программирование на BAL в качестве основного языка кодирования.

изображение8.jpg

APL

APL, или A Programming Language, – это еще один язык программирования. Одной из наиболее выдающихся особенностей APL является использование нестандартного набора символов для некоторых операторов и кодирования. Вы можете видеть это на изображении ниже. Маленькие глифы – это то, что ChatGPT смог вытащить из используемого шрифта, но APL был создан для использования уникального шрифта APL385 Unicode, который предназначен специально для программирования на APL.

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

изображение10.jpg

Пролог

Пролог (который происходит от фразы "Программирование в логике") - это еще один язык с фокусом на искусственном интеллекте. Пролог является декларативным языком, перечисляющим правила и условия, а затем выполняющим запросы по этим объявлениям. Согласно ChatGPT:

Prolog - один из языков программирования, используемых в разработке ChatGPT, специально для генерации текста. Он используется в модуле Prolog-to-English, который переводит логические формы на Prolog в естественно-языковые предложения.

изображение1.jpg

Смолток

Смолток - особый язык программирования. Он был разработан в исследовательской лаборатории Xerox PARC, которая оказала влияние на развитие мыши и оконных сред. Он включал в себя некоторые из новшеств Симулы в области объектно-ориентированного программирования и продвинулся еще дальше. Он также был одним из первых языков, которые активно использовали графическую интерактивную среду программирования на основе GUI. Многие из современных основных языков, включая Java, Python и Ruby, сильно повлияли на него.

Я только немного познакомился с Smalltalk, больше чтобы разобраться в нем. Тогда я жил в Силиконовой Долине и познакомился с разработчиками Smalltalk, которые позже основали компанию ParcPlace Systems, в попытке коммерциализировать Smalltalk за пределами корпоративной тяжеловесности Xerox. У меня есть много приятных воспоминаний о дискуссиях о программировании приятного приема за ребрами и капустным салатом в запущенном барбекю в Пало Альто.

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

изображение2.jpg

У меня есть мысли

Я не запускал этот код, и так как у меня не так много недавнего опыта работы с этими языками, как с PHP и JavaScript, я не могу быть уверен, что мое визуальное обзорное представление гарантирует успешное выполнение кода, показанного выше. Как мы видели на прошлой неделе при изучении новых программных навыков Барда, возможно написать код, который не будет работать.

Также: Я попросил ChatGPT написать мне нужный плагин для WordPress. Он сделал это за менее чем 5 минут

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

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

Связанные статьи

Показать больше >>

Раскройте возможности искусственного интеллекта с помощью HIX.AI!