Первый вымышленный язык программирования в научной фантастике или фэнтези?

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

Код должен запускаться чем-то внешним по отношению к писателю, а не просто магическим заклинанием (что эквивалентно компьютерному переводу речи).

Я нашел САРТРА , но его нет ни в научной фантастике, ни в фэнтези. Я также нашел ~ATH , который будет учитываться, но только с 2018 года (насколько я могу судить). Есть также компьютер Hex, который впервые появляется в Soul Music (1994) и работает на Softlore, хотя я не знаю, назван ли он так в книгах или впервые появляется в этой книге. Круги друидов в Плоском мире работают как компьютеры, но мы никогда не видели, чтобы их программировали.

Программа прислала сообщение в "А для Андромеды"? en.wikipedia.org/wiki/A_for_Andromeda
@Алит возможно? Это определенно вымышленный язык программирования или это может быть зашифрованный код, написанный на реальном языке программирования?
Я не читал книги Ричарда Кука «Волшебство» с тех пор, как они вышли (начало 1989 года). Кто-нибудь, у кого есть копия, может проверить? Первый был в 1989 году, и я думаю, что припоминаю, что там было какое-то программирование, но это мог быть реальный Lisp и/или Emacs Lisp, а не вымышленный язык. Я не помню.
Луна — суровая госпожа упоминает ЛОГЛАН (в одном предложении), но это был настоящий язык .
В серии Wizardry, насколько я знаю, во второй книге он собирает команду программистов для создания компилятора Magic. Язык программирования, упрощающий чтение заклинаний и несколько автоматизирующий его. "Волшебство составлено"
В Babel-17 (1966) упоминаются ALGOL и FORTRAN, а также, что довольно забавно, позже в одном предложении упоминаются Ruby и Python! Но речь идет о двух танцорах с такими именами, а не о компьютерных языках :)
Я уверен, что у Азимова была по крайней мере одна история, в которой компьютер был запрограммирован с помощью кода и не разговаривал с ним… но был ли это именованный язык?
@davidbak, ему не нужно имя, если мы не видим пример кода. В основном что-то, чтобы доказать свою выдумку.
Что ж, я не помню примеров кода в книгах или рассказах Азимова, так что я перейду к другой вилке вопроса...
~ATH впервые был замечен в 2011 году.
@LAK, я не читал более поздние книги, но первая была прямыми каламбурами / пародиями на существующую компьютерную терминологию.
Не ответ, потому что она была написана в 2009 году и посвящена реалистичным языкам программирования, но действительно очень интересная короткая художественная история — « Машины кодирования» Лоуренса Кестелута. Я думаю, что каждый программист, знающий свое дело, найдет это невероятным.
Хотелось бы, чтобы на этот вопрос ответы можно было сортировать по дате работы, а не по количеству голосов. Мне кажется очевидным, что «Парк Юрского периода» получает дополнительные голоса только потому, что у него уже есть больше голосов, и что люди, занимающиеся этим вопросом, даже не читают другие ответы, три или четыре из которых так же хороши или лучше, чем «Парк Юрского периода». и явно раньше.
@RossPresser В прошлом я выступал за что-то подобное, используя что-то из кода гольфа для накопления ответов, но это зависит от того, все ли соответствуют начальному заголовку.
@davidbak В одной из историй о роботах фундаментальное программирование было выполнено с помощью некой формы клавишного удара, по которому приезжий школьник провел пальцами с неприятными последствиями.
@AncientSwordRage Что касается «А для Андромеды», в статье Wp прямо говорится, что сообщение включало «программу». Интересно, что у нас есть два упоминания о (профессоре сэре) Фреде Хойле в этом обсуждении, несмотря на его относительную неизвестность.
@Ross Presser У меня нет копии под рукой, но я думаю, что фраза была «описана изменениями в LOGLAN».
Я думаю, было бы полезно, если бы вы указали, какие из предложенных примеров соответствуют вашим требованиям. Например, если «Черное облако» является допустимым примером того, что вы ищете, то нет необходимости в дополнительных записях после 1957 года.
@ user14111 В более ранних случаях это сводится к тому, что программы очень близки к существующим языкам программирования. Я не уверен, где заканчивается художественная/ненаучная лицензия и начинается новый язык программирования.
Это твой вопрос. Если вы не уверены, никто не уверен. И если никто не знает, какие ответы учитываются, что может помешать этому превратиться в список всех когда-либо написанных вымышленных языков программирования?
@user14111 user14111 кажется, что это требует нюансов. Я еще не знаю, так как я не нашел время, чтобы внимательно рассмотреть каждый вопрос. Я приму решение, когда смогу.
@MarkMorganLloyd - вот 7 совпадений для Логлана в моей электронной книге.

Ответы (12)

А как насчет Gateway 1977 года?

По всей книге вкраплены выдержки из сеансов главного героя с программой психиатра с искусственным интеллектом (которую он называет Зигфрид фон Шринк), хотя это могут быть больше журналы, чем код.

Пример, показывающий смешение кода и логов:

507 .IRRAY.MATURITY.GOTO             26,830
     *M80                            26,835
508 ,C, Maybe maturity is wanting    26,840

Это продолжается так, но строка с GOTO явно предназначена для кода.

(стр. 44, издание SFBC)

Возможно, вдохновленный COBOL.
В старших классах у нас была бурная дискуссия, было ли это а) настоящим кодом, б) мыслями Робинетт о том, как Зигфрид на самом деле анализировал его, или в) просто показухой, чтобы читатель помнил, что Зигфрид не настоящий человек. Мы пришли к выводу, что вам нужно прочитать код, чтобы понять, что Зигфрид действительно инопланетянин (изобретение человеческого разума с использованием технологии хичи) и может иметь больше мотивов, чем допускает код.
@ JesseC.Slicer Это странный вывод. Я думал, что Зигфрид был просто компьютерным артефактом, в основном вдохновленным (ужасно плохой) ЭЛИЗА из реального мира. Этот язык, очевидно, не имеет смысла. Это то, к чему пришла бы враждебно настроенная нейронная сеть, если бы вы скормили ей язык программирования 70-х годов и приказали ей сгенерировать что-то похожее. (Эй, это хороший проект по CS). Во вселенной люди даже не получают цветового кодирования космической капсулы, как они могут подключить что-либо к компьютерной системе?
@DavidTonhofer, теперь ты дал мне хороший повод перечитать всю серию. Насколько я помню, люди были довольно одержимы тем, что брали что-нибудь из хичи и пытались интегрировать (часто с фатальными результатами), и что Зигфрид был собран с использованием некоторых их технологий вместе с нашими. Особенно с учетом того, что после того, как Робинетт «умирает», его сохраненное «я» (опять же, с использованием технологии «древних предков» хичи) счастливо взаимодействует с Альбертом, созданным в том же духе, что и Зигфрид.
@ JesseC.Slicer Ах, это должно быть в продолжении. Я только что прочитал «Врата II» и обнаружил, что он заметно уступает «Вратам» (особенно потому, что он не объясняет правильно черные дыры; у вас не может быть звездной системы внутри одного, и что за дело с альфа-константой), поэтому я опустил « постквел".
@David Tonhofer Цветовое кодирование может быть совершенно произвольным, и его понимание зависит от знания того, как работает визуальная физиология создателей. OTOH можно ожидать, что компьютерная программа будет иметь какой-то полезный эффект, и чем критичнее ее расположение, тем более последовательным можно ожидать этот эффект. Следовательно, в принципе, компьютерная программа может быть расшифрована при очень небольшом знании ее создателей.
@MarkMorganLloyd Я категорически не согласен с этим. Цветовое кодирование чрезвычайно просто взломать с помощью основных статистических методов, потому что оно не может быть случайным, поэтому оно кодирует некоторые атрибуты объекта, обозначенного кодированием. Однако достаточно сложная компьютерная программа может сопротивляться самым жестким попыткам отладки, направленным на раскрытие ее предполагаемого значения. На самом деле, теория вычислимости утверждает, что вы можете иметь перед собой что-то, что является «программой», но не существует программы, которая сообщала бы вам основные характеристики или даже то, что она вычисляет, за разумное время или даже вообще.
@David Tonhofer Я хотел бы напомнить вам о "Mote in God's Eye", где глаза мошкитов не смешивали синий+желтый=зеленый. Я бы также предположил, что во многом это культурное употребление: красный (цвет крови позвоночных) как опасность, зеленый (цвет спокойного луга) как безопасность и т. д. ... существа с зеленоватой кровью (моллюски и т. д.), вероятно, переняли бы другая конвенция.

Самое раннее, что я могу найти о том, что я считаю вымышленным языком программирования, — это « Парк Юрского периода» (1990). Мы видим код Денниса Недри, а затем Рэя Арнольда, копающегося в нем, чтобы найти проблему. Насколько я могу судить, у него нет имени, и он не является полностью последовательным. Этот вопрос о языке рассматривается более подробно, и мы получаем несколько фрагментов из книги, например:

*/Jurassic Park Main Modules/
*/
*/ Call Libs
Include: biostat.sys
Include: sysrom.vst
Include: net.sys
Include: pwr.mdl
*/
*/Initialize
SetMain [42]2002/9A{total CoreSysop %4 [vig. 7*tty]}
if ValidMeter(mH) (**mH).MeterVis return
Term Call 909 c.lev { void MeterVis $303 }  Random(3 #*MaxFid)
on SetSystem(!Dn) set shp_val.obj to lim(Val{d}SumVal)
  if SetMeter(mH) (**mH).ValdidMeter(Vdd) return
  on SetSystem(!Telcom) set mxcpl.obj to lim(Val{pd})NextVal

парк Юрского периода

Похоже, это хороший соперник, и он старше Soul Music на добрых 4 года.
Похоже, кто-то просмотрел раннюю книгу Unix «Программирование для Unix» и бросил случайные фрагменты на экран, безумно изобретая.
iirc в тексте говорится, что ОС была нестандартной вещью, которую также написал Недри, не так ли? Это может не означать, что сам язык был обычным, но он близок к этому.
@BinaryWorrier Еще более странно, поскольку в ответе на связанный вопрос упоминается, что Крайтон тоже был программистом.
@martheen все программисты должны знать, как сбить с толку своих менеджеров, Крайтон просто тренирует эту способность... /s
Какой был код в Сфере? Это 1987 год.
В Congo (1980) также фигурировал программист, хотя я не помню, появлялся ли в книге какой-либо исходный код (или был ли вообще, если это был простой пример реального языка ассемблера).
Это система Unix! Я знаю это!
Относительно моего предыдущего комментария: в Конго нет кода, но персонаж Мунро делает мимолетную ссылку (в электронной книге, которую я читал, не знаю, как это выглядит в печати) на «БАЗИК и TW/GESHUND» как на два основных «интерактивных языки», которые он выучил. Мне не ясно, является ли "TW/GESHUND" вымышленным или просто языком, о котором я никогда не слышал.

Валентина: Душа в сапфире (Джозеф Х. Делани и Марк Стиглер, Baen Books, 1984) рассказывает о MODULISP. Вот несколько строк, цитирующих это:

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

Через несколько минут она собирала ядро ​​MODULISP.

Валентина провела последнюю серию тестовых программ через интерпретатор МОДУЛИСП, загруженный сейчас в Зазеркалье.

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

Это очень интересно, потому что похоже, что это может быть диалект LISP, но также кажется, что это математический термин. Но наличие ядра и интерпретатора, похоже, делает его бесспорным языком программирования, основанным на контексте.
Добавлена ​​еще одна цитата, которая делает бесспорным тот факт, что это должен быть язык - и да, очень вероятно, что это диалект LISP.
Я думаю, что ваши "математические" обращения к MODULISP на самом деле являются фразой modulis p , то есть "modulo p".
Нисколько. Он был опубликован в 1984 году издательством Baen Books , авторами являются Джозеф Х. Делани и Марк Стиглер.
Возможно, портманто Modula и LISP ?
В дальнейшем LISP был известен как язык для ИИ, а Modula был самым инновационным, влиятельным и первым объектно-ориентированным языком. Комбо-название меня рассмешило. Оба также классно медлительны. Звучит так, как будто «она» знает это и для ускорения переписывает себя на машинном языке — разве это не то, что должен делать «настоящий ИИ»?
@OwenReynolds: Modula (1977) вообще не была объектно-ориентированной, и даже если бы она была, она опоздала бы на 15 лет с объектно-ориентированной стороной. Первым объектно-ориентированным языком был Simula (1962 г.), самым инновационным и влиятельным, вероятно, стал Smalltalk-72 (еще за 5 лет до Modula). Первый член виртовской семьи языков, к которой принадлежит Modula (Algol-X, Algol-W (1966), Pascal (1970), Modula (1977), Modula-2 (1978), Oberon (1987), Oberon- 2 (1991 г.), Component Pascal (1994 г.)) с по крайней мере ограниченными объектно-ориентированными возможностями был Oberon-2 (1991 г.). Кроме того, я никогда не слышал, чтобы Modula была медленной.
@ Jörg W Mittag, Re " Первым членом виртианского семейства языков [...] с по крайней мере ограниченными возможностями объектно-ориентированного программирования был Oberon-2 (1991) ". В 1989 г. Turbo Pascal 5.5 имел некоторые функции объектно-ориентированного программирования. расширении до Паскаля, с Виртом консультировались.
@ikegami: Если вы включите Turbo Pascal 5.5, вам также придется включить Modula-3 (1988 г.), который предшествует Turbo Pascal 5.5 на один год, и Apple Clascal (1986 г.). Все они появились гораздо позже, чем Simula (1962 г.), Simula II (1967 г.), Smalltalk-72 и даже Smalltalk-80 V2.0 (1981 г.), на котором большинство людей думают, когда говорят «Smalltalk». ".
@ JörgWMittag Ах, да, я всегда путаю Algol, Smalltalk и все те экспериментальные языки, о которых слышали работающие программисты, но никогда не использовали. Я чувствую, что это шутка с Modula. Вы не получите такого же смеха над "algolisp", "lispgol" или "PL/Lisp".
@owen-reynolds «никогда не использовал»? Говори за себя. Мне пришлось использовать производную от Smalltalk в рабочей среде в течение нескольких лет в 90-х.
@OwenReynolds Algol и Smalltalk «экспериментальные»? Теперь я слышал, наверное, все.

«Черное облако», Фред Хойл, 1957 г. https://en.wikipedia.org/wiki/The_Black_Cloud.

Герой (или, по крайней мере, парень, который последовательно принимал правильные решения) всю ночь писал астрономическую программу для Кембриджского мэйнфрейма. Фрагмент этого показан в книге, он был в значительной степени символическим (но не был APL, который еще не был изобретен) и в основном состоял из любых астрономических / астрологических символов, которые были доступны наборщику.

Код на странице 32 книги в мягкой обложке состоит из пяти строк:

  T Z 
0 A 23 ⊖ 
1 U 11 ⊖ 
2 A 2  F 
3 U 13 ⊖ 

Описывается как «краткий образец кода, которым был проинструктирован компьютер». [видимо это образец машинного кода]

Эти символы были перенесены на перфорированную полоску бумаги и «отверстия в бумаге, которые представляли собой окончательные инструкции для компьютера».

Книги Google, похоже, частично подтверждают это! books.google.co.uk/…
Код на странице 32 моей копии в мягкой обложке состоит из пяти строк: «Т Z», «0 A 23 ⊖», «1 U 11 ⊖», «2 A 2 F», «3 U 13 ⊖».
@johndoty это ввод в программу или код?
@AncientSwordRage Он описывается как «образец кода, с помощью которого компьютер был проинструктирован относительно того, как он должен выполнять свои вычисления и операции».
Этот ответ кажется в настоящее время самым ранним и, возможно, был бы лучшим, если бы две цитаты @JohnDoty были отредактированы.
Большое спасибо всем, кто прокомментировал. Моя собственная копия книги недоступна по «интересным» причинам, и я не смог найти отсканированную (в отличие от OCR) копию в Интернете.
Интересно, что ранние британские компьютеры тяготели к бумажной ленте, а американские — к перфокартам. Я помню историю «золотого века», когда космическим кораблем управляли с помощью перфокарт, но не было никаких указаний на то, что это была какая-либо форма программы ... обсуждение в другом месте некоторое время назад предполагало, что они, скорее всего, были предварительно вычисленными навигационными решениями.
Эти 4 строки выглядят так, как будто кто-то пытался написать шестнадцатеричный ассемблер, не понимая. Другими словами, выглядеть «накрашенным» может быть случайностью. Эта часть может предназначаться для обучения реальному компьютерному программированию, особенно. так как он объясняет реальный способ работы бумажной ленты.
Это не было бы шестигранником, который редко использовался в те дни. Однако, по размышлению, это не совсем отличается от некоторых кодов, используемых, например, для ранних компьютеров IBM, полученных из машин для записи единиц (перфокарты и т. Д.), Где ожидалось, что программист будет знать, что символ или число в определенном поле имеет определенный эффект. Опять же, если подумать, ⊖ выглядит как индикатор «ничего в этом поле», а не какой-то символический оператор. Я утверждаю, что я работал исключительно по памяти...
Мне это кажется чем-то вроде мнемонической нотации, которая превратилась в язык ассемблера. Я предполагаю, что сэр Фред списал его с какого-то реального кода. Остальная часть его описания процесса представляет собой очень реалистичное изображение вычислений середины 50-х годов. Метод Адамса-Леверье вполне реален. Промежуточные результаты, напечатанные с выходной ленты, немного трудно читать, потому что они отформатированы для использования в качестве входных данных для другой программы. «Клапаны» (или вакуумные лампы, на другом диалекте) сохраняют уют в компьютерном зале в январе.
Это не вымысел. В романе описывается реальная Кембриджская математическая лаборатория, которая действительно находилась в здании, которое, как говорится в романе, раньше было школой анатомии. Это компьютер EDSAC, который действительно был запрограммирован с помощью бумажной ленты, и именно так выглядит его язык программирования . cl.cam.ac.uk/events/EDSAC99/history.html cl.cam.ac.uk/events/EDSAC99/simulators/echo/flat.html
Я укушу :-) Это демонстративный код EDSAC, включая специальный символ?
«Особый символ» — это тета . Прочитайте раздел кодов символов того, на что я указал.
@JdeBP Я не уверен. Это выглядит одинаково, но я не вижу ссылки на ⊖ ни в одной из ссылок. мне нужно подумать
Тогда вы не читали раздел кодов символов, как я и говорил читать. Или вы можете прочитать одну из биографий Фреда Хойла или даже статью Дж. М. Уилера 1992 года IEEE. Тот факт, что компьютер в романе — это EDSAC, и его описание точное, не является ни секретом, ни моим недавним открытием. (-:
@JdeBP Я могу заверить вас, что нахожу связь EDSAC интересной. Я работал с гораздо большим количеством людей, связанных с ранними манчестерскими (или другими американскими) компьютерами, чем с кембриджскими.

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

Я не уверен, соответствует ли это вашим ограничениям, но я все равно предлагаю: «
Путешествие космического бигля» А. Е. Ван Фогта датируется 1950 годом.
В нем упоминается «символическая логика» как инструмент для структурирования информации и ее компьютеры для автоматической обработки. Возможно, это не язык программирования сам по себе, но, если я правильно помню роман, его использование достаточно расплывчато, чтобы на самом деле это могло быть названием языка программирования.

РЕДАКТИРОВАТЬ: я только что обнаружил, что концепции символической логики и нексиализма А. Е. ван Фогта на самом деле старше. «Путешествие космического бигля» — это переработка/расширение его собственного рассказа «Черный разрушитель» 1938 года. Концепции уже присутствуют в этом рассказе.

Символическая логика может быть просто устаревшим способом описания «языка программирования» или «булевой логики». Однако я нашел это: isfdb.org/cgi-bin/title.cgi?2687890 , который указан как «документальная литература».
@AncientSwordRage Это определенно НЕ синоним булевой логики в книге.
Я помню, что психология и социология были науками того будущего, имеющими математическую основу. Главный герой был экспертом в этой новой области, которого отправили на корабль в качестве «морального офицера». Я предполагаю, что символическая логика как-то связана с этим.
«Символическая логика» в книге почти наверняка является символической логикой , которая в значительной степени не является вымышленной.
@ Марк, я думаю, ты прав. ван Фогт действительно интересовался подобными вещами и основывал несколько своих романов на различных логических системах (например, книги NULL-A). «Путешествие» на самом деле является переработкой его собственного (его первой работы) рассказа «Черный разрушитель» 1938 года, написанного через несколько лет после первых работ Гёделя (1929 и 1931) по символической логике.
Я согласен с другим Марком. Символическая логика также упоминалась в (первой из?) книг Фонда Азимова, но было очень ясно, что она использовалась для кодирования и анализа последовательности дипломатических заявлений (и демонстрировалось, что на практике они компенсировали, следовательно, не передавали никакой информации). полезное сообщение).
@MarkMorganLloyd Я забыл о Фонде, но теперь вы упомянули об этом ... Этот анализ значимого контента также используется ван Фогтом. Основание появилось позже Черного Разрушителя, но предшествует Путешествию.
Во IIRC «Путешествие космического бигля» есть какой-то музыкальный инструмент, похожий на синтезатор, используемый для программирования людей ... это считается? :-)
@MarkMorganLloyd Я перечитал «Вояж» только в прошлом году. Не совсем инструмент, насколько я помню. Больше похоже на генератор окружающего звука, который "открывает" восприимчивых людей к гипнозу. Настоящий гипноз пришел позже. Окружающий звук имел разный уровень успеха. Большинство людей не услышали бы этого сознательно, просто стали бы восприимчивыми. Некоторым потребуется небольшая корректировка звука, прежде чем он станет действительно эффективным. На других это просто не работало бы вообще. (Или требуется специальный сеанс со звуком, точно настроенным специально для этого человека.)

Как сказал @LAK в комментарии, который я заметил после того, как получил книгу из своей библиотеки, в книге Рика Кука «The Wiz Biz» 1989 года Wiz создал язык, похожий на четвертый, для выполнения магических инструкций для создания заклинаний. Это не «волшебная интерпретация устного слова», а словесное обращение к формальному языку программирования (может быть, в письменном виде, это было давно), который Wiz разработал и модифицировал.

http://www.goodreads.com/book/show/407212.The_Wiz_Biz

См. также этот вопрос: серия фэнтези с волшебником-хакером/программистом и главной героиней женского пола, похожая на Wiz Biz, в которой описываются другие книги с похожими волшебными компьютерными языками.

Исходный код не показан (насколько я мог видеть, пролистав книгу), но описан как «смесь рун, чисел и математических символов, появляющихся в сияющем зеленом огне» (хотя, возможно, это было объектный код, в который скомпилирован четвертый язык), но вот несколько примеров API (команд), которые выдает Wiz:

"class drone grep moria"
"$" said the Emac...
"exe," Wiz said...
Я так рад, что вы, ребята, упомянули эту серию, я читал ее в детстве и совершенно забыл о ней, но она мне очень понравилась. Теперь посмотрим, смогу ли я их раздобыть...
@dwllama - Если у вас есть копия, можете ли вы привести примеры кода?
@Malady: Насколько я мог видеть, исходный код не показан, описание см. В ответе.

Не знаю, можно ли это считать по теме, но в начале и в конце Эдварда Веллена «Нет других богов» (1972) значатся какие-то строчки выдуманного кода.
Язык никогда не называется, но может называться «QOGIC», так как это указано в разделе ПРИМЕЧАНИЯ на первой странице (см. ниже). Язык выглядит почти так же, как COBOL, за исключением того, что номера строк начинаются с буквы Q.

Q01010 IDENTIFICATION DIVISION.  
Q01040 PROGRAM-ID. 'END RUN.'  
Q01060 AUTHOR. COMPUTER.  
Q01080 INSTALLATION. COMMUNICATIONS CENTER AT GALACTIC HUB.  
Q01100 DATE-WRITTEN. YESTERDAY.
Q01120 DATE-COMPILED. TODAY.
Q01140 SECURITY. CLASSIFIED.
Q01160 REMARKS.
Q01161 THIS QOGIC PROGRAM IS FOR THE ESTABLISHING OF TOTAL
Q01162 ENTROPY.

Вот он в Google Книгах .

Для меня это похоже на COBOL (на основе одного обязательного курса, который я прошел около 35 лет назад).
Я не думаю, что номера строк COBOL начинаются с «Q», и я полагаю, что другие языки могли использовать аналогичную систему счисления. Но поскольку эта работа публикуется через 15 лет после правдоподобного ответа, опубликованного до этого ответа, я не уверен, что этот ответ добавляет ценности.
@JamesJenkins Почетные упоминания обычно приветствуются в качестве ответов на SFF.SE

Наверное, не первый, но самый продвинутый (или полезный) — Furor. Это интерпретируемый язык программирования сценариев, разработанный Виолой Золтан (в восточном порядке имен), также известным как Poliverzum и Harold King или Fossil Codeger. Его цель - использовать (без лицензионных отчислений) в его новых научно-фантастических романах в качестве эзотерического языка какой-то галактической империи (я читал только его фэнтезийную книгу "Кайям, теведес", так что я не знаю больше о его научно-фантастических книгах, однако эта мне понравилась).

Сам язык является полным по Тьюрингу, имеет странный синтаксис, и автор пообещал открыть его исходный код, как только он будет завершен. Он выпустил предварительный бинарный интерпретатор для Linux (размещенный кем-то другим), который можно скачать отсюда ( проверьте файл .tar.bz2).

Он венгр, я читал вышеупомянутую книгу на венгерском языке, но он переехал в США и пишет свои новые книги на английском языке.

Вопрос ищет самый ранний, пожалуйста, отвечайте, только если вы думаете, что это самый ранний, иначе это не ответ, а скорее комментарий.
Поскольку OP не определил, что означает «первый вымышленный язык программирования». Насколько я знаю, это первый, который на самом деле является рабочим языком программирования с интерпретатором, который его запускает, а не какой-то мусор, который придумал писатель-фантаст и выглядит как код.
Учитывая, что Hex from the Discworld приводится в качестве примера в вопросе, я почти уверен, что «работать в реальном мире» не требовалось.
Интересно, что, создав полноценный язык программирования для своих научно-фантастических историй, он может дисквалифицировать себя как вымышленный язык программирования.
Что ж, эльфийский и клингонский языки созданы для искусства. Являются ли они вымышленными языками? Технически они существуют, поэтому их нет. Кроме того, создав язык и назвав его в честь победителя, вы можете дисквалифицировать любой вымышленный язык программирования.
Я бы включил «создано для художественной литературы» как «вымышленный». Но видим ли мы код в рассказе или он упоминается по имени? Потому что это важнее.

@RossPresser уже упомянул «Вавилон-17» Сэмюэля Делани (1966), но только для того, чтобы отметить, что в тексте появляются реальные языки ALGOL и FORTRAN. Почему-то он не упомянул, что Babel-17 сам по себе является названием вымышленного языка. Первоначально он представлен в истории как естественный язык, который должен выучить главный герой, но в основной сюжетной точке позже выясняется, что это язык программирования. Теперь, возможно, это не подходит, потому что программируемые «машины» не механические, а другие разумные существа. Но это соответствует требованию, что человек может составить программу на Вавилоне-17, которая запускается в другом месте, в частности, в мозгу целевого противника.

Спасибо, я не подумал об этом.

1983, Супермен 3

В Superman III (статья DenOfGeek включает скриншоты и обсуждение именно этой темы) Гас Горман занимается программированием.

Хотя это явно какая-то вариация на BASIC или LISP, столь же очевидно, что он не имеет функционального смысла ни на одном из известных языков и, следовательно, по определению является вымышленным языком. (Во всяком случае, во вселенной; вне вселенной мы знаем, что это просто что-то, собранное вместе, чтобы заполнить экран достаточно убедительно для пары секунд фильма, конечно.) Сам язык назван не в фильме, а во вселенной. он существует, по-видимому, работает, и его можно увидеть при входе.

У вас есть скрины? Я могу вспомнить только сцену с криптонитом, где он печатает на человеческом языке, а компьютер интерпретирует его.
@AncientSwordRage Ссылка на DenOfGeek включает несколько скриншотов с тренировки Гормана в начале фильма. Я отредактировал свой ответ, чтобы сделать это более понятным.
Я думаю, что даже в статье подразумевается, что это BASIC, если я не ошибся?
В программе внутри программы отсутствуют FORs и LETs, поэтому в лучшем случае это Syntax error in 10.
Это просто BASIC на экране. Забавно то, что печатаются в основном операторы PRINT... БОЛЬШЕ! Остается задаться вопросом, было ли это подготовлено как своего рода постановка в шутку.

Это для рассмотрения, так как я не думаю, что это полностью соответствует критериям ОП. В «Затерянных мирах 2001 года» (1972) один из черновиков сценария описывает одного из астронавтов, который провел несколько часов, модифицируя и тестируя программу корабельного компьютера, чтобы позволить ему вытащить одну из капсул, несмотря на то, что ни одна из других не была в сознании. Язык программирования не назван, примеры не приведены, черновик не опубликован.

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

Отдельно в Imperial Earth (1975), я думаю, был пример программирования КПК главного героя по принципу «если это случится, то сделай то». Опять же, у меня нет под рукой моей копии, поэтому я не могу проверить.

Для Имперской Земли вы имели в виду этот проход? EXECUTE«В конце последовательностей не было ни знака #, ни знака, но это вообще ничего не доказывало, потому что мало кто удосужился записать что-то настолько очевидное; девять раз из десяти он был опущен, как было понято . Отмена секретного ERASEприказа заключалась в том, чтобы ударить EXECUTEдва раза подряд в быстрой последовательности. Другой заключался в том, чтобы сделать это с определенным интервалом между двумя нажатиями. Имело ли какое-то значение упущение Карла или он просто следовал обычному соглашению?
Вполне возможно, но вы должны извинить меня за расплывчатость: моя копия недоступна (что не мешает ей быть одной из моих любимых книг Кларка).

ICE из Burning Chrome (1982). ICE расшифровывается как электроника противодействия вторжению. Хотя он называется электроникой, то, как он используется в книге, ясно показывает, что это язык программирования. Это имеет смысл в контексте компьютеров, существовавших в то время, которые часто представляли собой жестко закодированные логические схемы, используемые для выполнения определенных задач, таких как управление банковскими счетами и моделирование ньютоновского движения; другими словами, цепь для выполнения программы была программой. Хотя языку (языкам), на котором на самом деле пишут персонажи, не дается названия, книга ясно дает понять, что визуальные эффекты, присутствующие в галлюцинациях персонажа, являются программами, созданными в ICE.

Хорошо, кажется, есть некоторая путаница в том, что такое язык программирования. Я придерживаюсь очень широкого взгляда; язык программирования — это компьютерная программа, которая обеспечивает абстракцию логической схемы. Обратите внимание, что это не то, что «создает» компьютерную программу; он создает абстракцию для логики программы. Если бы вы захотели, вы могли бы напрямую построить любую компьютерную программу, которая вам понравилась, из вентилей И, вентилей ИЛИ и какого-либо буфера хранения, и в любом случае это никогда не язык программирования, который фактически выполняет фактическое построение программы; он служит только правилами построения. Языки программирования оказывают нам любезность, абстрагируя идею определенной комбинации этих ворот во что-то более понятное для людей. Под заголовком того, что я считаю языком программирования, находятся Verilog, C, Python,

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

  • ICE — это не язык программирования, это класс программного обеспечения!

Как и IDE. То же самое относится и к текстовым процессорам, приложениям для работы с электронными таблицами и многим играм, которые включают в себя функции, позволяющие пользователю создавать и запускать программы в игре, которые я также рассматриваю как языки программирования сами по себе, поскольку они создают абстракцию, отличную от других языков программирования. лежащую в их основе логику. ICE, очевидно, представляет собой базовую логику систем защиты в мире Burning Chrome и может изменяться на лету главными героями, когда они работают над достижением своей цели.

  • Языки программирования должны быть написаны!

См.: Скретч, Майнкрафт, Powerpoint.

Идея о том, что язык должен быть письменным, также может показаться несколько оскорбительной для тех, кто говорит в основном на языке, основанном на жестах, таком как ASL. грани вымирания неписаны - https://www.nytimes.com/1991/12/31/science/in-a-publishing-coup-books-in-unwriting-languages.html

  • Neuromancer появился раньше, чем Burning Chrome!

Да и нет. Рассказ Burning Chrome был выпущен в 1982 году, Neuromancer был выпущен в 1984 году, а сборник рассказов Burning Chrome был выпущен в 1986 году. См. https://omnimagazine.com/taking-agency/

ICE кажется программой , а не языком программирования. Как средний брандмауэр. В последней 1/2 своего ответа вы даже говорите, что: «пока имя не указано ...». Материалы о специализированной электронике - это научная фантастика, так что, возможно, мистер Гибсон думал об этом, но, вероятно, нет. На самом деле в конце 1970-х были специальные банковские компьютеры, но они все еще были запрограммированы.
Вы должны прочитать историю, чтобы понять, что я имею в виду. Гибсон никогда не описывает «лед», когда говорит о визуальных абстракциях в своей книге; он говорит «стены ICE», «залы ICE Chrome», «замок ICE», «ее самый сложный ICE устроен так, чтобы отражать ордера». Использование ICE в контексте фраз, которые использует автор, ясно показывает, что ICE — это то, из чего построена большая часть логических структур во вселенной истории, и это то, что мы сейчас назвали бы языком программирования. Все, что я сказал, это то, что Гибсон никогда не называл свой контр-ICE язык.
В его более поздней книге «Нейромант» рассказывается об ICE, колодах, киберпространстве… и она известна. Вы найдете множество описаний ICE как программы безопасности . Что касается ледяных стен, то хакеры видят киберпространство как виртуальный мир — стена ICE чем-то похожа на стену RedStone для майнкрафта.
В этих разделах комментариев недостаточно места, чтобы дать полное объяснение моего мыслительного процесса, поэтому я думаю, что мы должны согласиться с уважением не согласиться по этому вопросу. Я читал Neuromancer, и именно эта книга лучше описывает ICE как язык, по крайней мере, на мой взгляд. Запись Chrome была лишь первым появлением ICE, и поэтому она более актуальна для этого обсуждения.
Конечно, ICE явно запрограммирован , но это не язык. Это конструкция, которая что-то делает. Где-то произошло программирование, и конечным результатом стал ICE, но это вещь , а не язык. Пьеса «Макбет» построена из английских слов, но это не делает пьесу языком. И нет, Гибсон никогда не описывает процесс кодирования, кроме как в самом общем смысле.
Хорошо, я уточнил свой ответ. Надеюсь, это прояснит некоторые вещи.
Я не думаю, что это соответствует определению языка, который требует письма.
Сжигание Chrome НЕ раньше, чем Neuromancer .
И ICE — это не язык и не конкретная программа. Это класс программного обеспечения, такого как «текстовый процессор» или «программное обеспечение для работы с электронными таблицами».
Да, Burning Chrome был выпущен до Neuromancer ( omnimagazine.com/taking-agency ). Вы думаете об одноименном сборнике рассказов 1986 года. И не должно быть разницы между классом программного обеспечения и языком программирования. Как я уже упоминал, многие видеоигры и текстовые процессоры имеют функции, которые позволяют пользователю программировать на высоком уровне, и поэтому их можно назвать языками программирования в рамках моего определения этого термина.
@odd135 Извините, не знал о предыдущем рассказе. Я предполагаю, что вы не совсем неправы в том, что вы говорите об отдельных программах с поддержкой сценариев, но вы, по крайней мере, не убедили меня в том, что ICE соответствует требованиям. Это слишком широкая категория. Можно говорить о VBA, языке (ранее) используемом программами MS Office, не называя MS Office языком программирования. Я не думаю, что вы также убедите большинство других читателей в этом вопросе, и поэтому ваш ответ был серьезно отклонен. (Хотя и не мной.)
@ Odd135 «Языки программирования должны быть написаны!» Я не думаю, что необходимо взбираться на ^H^H^H^H^H по шкале высот политкорректности, чтобы обсуждать это. ОП сказал, что это не должен быть просто устный набор инструкций, и подразумевается, что его следует вводить через какой-либо терминал; Я полагаю, что, поскольку APL является добросовестным компьютерным языком и поскольку я считаю, что существует русский язык программирования, использующий кириллицу, то также было бы справедливо рассматривать компьютерные языки, основанные на арабских или китайских символах, поэтому описания высокого уровня, такие как Scratch, полностью честная игра.