К. А. Р. Д. А. Н. — краткий англо-русский дикционарий Академии Наук

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

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

Во многих областях сложной профессиональной деятельности существуют свой профессиональный язык — профессиональное арго. Медики ругаются на латыни, юристы имеют дело с осýжденными, у моряков мало того, что компáс и кáбура, так ещё целый отдельный язык с гаками, гиками, коками и, прости господи, выбленками. Конечно, у так называемых «айтишников» тоже есть свой арго и мы его прекрасно знаем и им владеем.

На западе существует общеизвестный The Jargon File, история которого уходит аж в 70-е годы прошлого столетия. К сожалению, я не знаю, существует ли более-менее современный русскоязычный словарь айтишного сленга, но попытки создать что-то подобное, хоть и в меньшем масштабе, несомненно, предпринимались. Одна из таких попыток — это КАРДАН: краткий англо-русский дикционарий Академии Наук. Небольшой словарик, родившийся, как следует из названия, в одном из подразделений Академии Наук СССР приблизительно в конце-середине 80-х годов.

Безусловно, это даже близко не The Jargon File и имеет характер шуточный, нежели серьёзную попытку классификации жаргона. Поиск по интернетам для КАРДАНа весьма любопытен — выдаётся считанное количество собственно текста этого словаря, зато почти во всяких толкованиях слова кардан указано вот это значение — краткий англо-русский дикционарий Академии Наук. Текст словаря лежит в довольно странных местах и серверах (которые со временем имеют свойство исчезать), иногда странно сформатирован и может быть частично непонятен читателям в этом столетии/тысячелетии. В связи с этим возникла идея зафиксировать данное произведение на хабре, так сказать, в веках и, заодно, добавить комментарии к словарным статьям. Возможно, даже не с целью пояснения, а как ностальгические проявления сентиментальности.

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

Итак, словарь! Издание неоригинальное, но дополненное моими комментариями на комментарии к словарным статьям.

ABEND* — авост, TRAP, а может быть даже и CRASH. Обычная реакция операционной системы на подключение к сети еще одного пробкотрона** этажом ниже.

* abnormal end, он же авост — 1. аварийный останов программы 2. мой ник (да, он из КАРДАНа)
** заглянул в вики, обнаружил у этого слова аж два значения,. Всё время полагал, что существует только одно, оно же по вики второе — какой-то мощный и глючный электрический прибор неясного назначения, выбивающий «пробки» (плавкие предохранители), но, оказалось, это реальный научный агрегат. Если он действительно работал по соседству с авторами словаря, можно вычислить примерное место его (словаря) нарождения.

AIDS* — болезнь века. Следствие беспорядочных связей. Сюда попало по недоразумению. См. также VIRUS.

* нет, AIDS попал сюда, конечно же, не по недоразумению. Кросс-ссылка на VIRUS подсказывает, что это недвусмысленный намёк на первую советскую программу-антивирус — Aidstest и выставляет нижний порог датировки текста в 1988 год (а так же, возможно, указывает на одного из потенциальных авторов).

ALICE -
1. Патрикеевна* (толст.).
2. Игоревна** (Евгеньевна) (булыч.).
3. Алиса (кэрол.).
4. Средство сдать рукопись в редакцию*** (демид.).
5. DBASE**** (субд.).

* У Толстова, всё-таки не Алиса, а просто Лиса
** Да, да, которая про миелофон. Игоревна она потому, что у неё папа — Игорь (в книге — профессор Игорь Селезнёв, вживую Кир Булычёв в девичестве — Игорь Можейко), а Евгеньевна она потом, что в фильме «Гостья из будущего» её играла Наталия Евгеньевна Гусева.
*** развожу руками — смысл для меня непонятен
**** какая-то связь алисы с дибейзом крутится в голове, но тоже пока не пойму что это значит

+ видимо, авторы не были меломанами, иначе, наверняка, добавили бы что-нибудь про соседку Элис.

ALIAS — фальшивый паспорт (слово из JCL).

— когда программы набивались на перфораторах — такая сильно грохочущая пишмашинка, которая не печатала буквы, а пробивала дырки в картонных перфокартах, — каждая стопка (колода) перфокарт, представляющая собой программу, предварялась несколькими картами на языке управления заданиями — JCL. Там были какие-то стандартные заголовки-разделители, ну, и специальные команды как именно нужно поступать с идущей далее программой. Колоды относились в специальный ящик входящих программ, оттуда их забирал оператор, колоды складывались друг за дружкой в пакеты и скармливались перфосчитывателю. Ну, а далее, большая (по размеру) ЭВМ выполняла эти программы в пакетном режиме, выплёвывала перфокарты и печатала на большом (тоже по размеру) АЦПУ (который за раз печатал целую строку и производил звуки, похожие на кашель) текст программы и результат её работы (или диагностику компилятора, если были ошибки). Пачка перфокарт и распечатка возвращались в ящик для программ, программист читал листинг, обнаруживал ошибку, бил себя по лбу, исправлял ошибочные перфокарты и так по кругу. Бумаги уходило бешеное количество. И времени. А что это за команда ALIAS на JCL я не помню. Наверное, фальшивый паспорт?))

ARTIFICIAL INTELLIGENCE — искусственный интеллект, попытка эмулировать микропроцессоры фирмы «INTEL» с помощью отечественной элементной базы. Специалисты утверждают, что задача неразрешимая.

— современное название этой попытки носит название Эль Брус

ASSEMBLER — ассемблер, произошло от слова «ASS», что значит «осел», или «ACE» — ас, так как программируют на нем только системные программисты.

— знание английского языка в сесесере было, в основном, ниже плинтуса, поэтому существовала версия, что правильно говорить не «язык ассемблер», а «язык Ассемблера» — с прописной буквы и персонифицированно. Будто бы есть/был такой дядька — некий мистер Ассемблер, который придумал сей язык. Интернетов тогда не было, карманный дикционарий не был широко доступен массам (или ещё не создан), поэтому часть контингента пребывала в некоторой дремучести по этому поводу.

BASIC -
1. Основной, базовый, изначальный.
2. Зарубежное название модного у нас в стране языка ВАСИК*.
3. Баритон.

* корни истории про Васика, возможно, лежат в тогдашнем немного культовом журнале Микропроцессорные средства и системы (МПСиС). Журнал был основан по инициативе академика Ершова и издавался с 1984-го года по 1990-й. Поначалу, тираж его был мал и просто так оформить подписку на почте было едва ли возможно. Кажется, его выписывали через профильные организации. У меня был друг, отец которого работал в соответствующем месте и выписывал этот журнал. Через него страждущие выпрашивали журнал напочитать и приобщались к компьютерной (скорее, схемотехнической) грамотности.

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

В какой-то момент журнал печатал цикл статей про недавно появившуюся ПЭВМ «Ириша» и где-то в процессе публикаций тиснул в «Пятиугольнике» статью с названием «Васик — друг Ириши» о якобы разработанном, специально для применения на Ирише, языке программирования. Кажется, там было и о том, что язык был импортирован на запад под названием Basic. Шутка эта с одной стороны «ушла в народ» — кажется, её эксплуатировали в КВНе, а потом украл Задорнов, с другой стороны были опять же бдительные советские граждане, которые настучали отреагировали и раздел «Пятиугольник» то ли прикрыли, то ли заморозили. Я пытался отыскать оригинал той статьи в сканах журнала, раза на три всё просмотрел, но пока не нашёл. Если кто отыщет — дайте знать!

На самом деле, вопрос приоритета спорный, возможно, это авторы МПСиС вдохновились КАРДАНом и развили идею, добавив Васику подружень Иришу. Либо у них обоих, как у человека с обезьяной, был общий предок.

BACKUP — бездонная бочка, выполняющая роль канализации во многих операционных системах.

BENCH TESTING — стендовые испытания программы. Произошло от слова «BENCH» (скамейка), т.к. при испытания обязательно что-нибудь да сломается, обычно скамейка, на которую сядет шеф.

BENCHMARK RUN — бег с препятствиями, т.е. сдача программ. Этимологию смотри в предыдущем слове.

BIT — бит, разряд. Некоторые думают, что это слово произошло от «BINARY DIGIT», но это ерунда. Первые программисты говорили «A BIT OF BYTE» (кусочек байта), а потом попросту сократили это выражение.

BOOTSTRAP — раскрутка:
1. способ загрузить операционную систему, набирая ее коды на пульте. Очень помогает, если вырубились дисководы.
2. Очень популярный способ собирания денег на пиво.
3. Попытка поднять себя за шнурки от ботинок (Мюнх.), иногда успешная.

COMPILER — программа, выдающая на терминал список всех ошибок, кроме тех, которые есть в вашей программе (причем всегда разных — прим. ред.)

— компиляторы тогда были весьма примитивными и, действительно, в выдаче компилятора имело смысл читать первую, ну, иногда вторую ошибку, далее компилятор сбивался и нёс полную чушь. Причём, всегда разную, да.

DEBUGGER — средство от блох, что-то вроде нашего дихлофоса.

DEC — широко распространенное на западе название института электронных управляющих машин (ИНЭУМ).

— историю о том, как электронную промышленность страны высочайшим повелением переключили с собственных разработок на копирование и вечное отставание я рассказывать не буду — она и на хабре была рассказана неоднократно. Замечу лишь, что помимо генеральной линии партии — передирания IBM System/360, существовали побочные проекты. ИНЭУМ занималась передиранием компьютеров системы PDP фирмы DEC — Digital Equipment Corporation. Ну, то есть, конечно же, разработкой компьютеров линейки СМ ЭВМ, широко известных на западе под названием PDP.

DECOBRASTS — ДЕКабристы, а кое-где пидипоиды. Этимологию см. выше.

— комментарий см. выше.

DRIVE -
1. Привод (не в милицию).
2. Накопитель.
3. Вести, управлять.

DRIVER -
1. Капитан.
2. Шофер.
3. см. HANDLER

DUMMY — см. NIL

— авторы не могли не читать «Звёздные дневники» Станислава Лема

EXPERT SYSTEM — экспертная система, т.е. программа, написанная настоящим программистом, чтобы вправить мозги всяким соплякам.

— теперь мозги соплякам вправляет ChatGPT и пророк ея Copilot.

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

FLOWCHART — блоксхема, орудие труда посредственных программистов, которые боятся запутаться в операторах 'GOTO' и 'RETURN'. В последнее время составление блоксхем выросло в новый вид спорта, «FLOWCHARTING», которым обычно занимаются поголовно все сотрудники перед сдачей проекта заказчику.

— если программировать как тогда учили — сначала нарисовать блок-схемы, а потом по ним писать программу, получалась жуткая лапша из условий и операторов goto. Поэтому, те, кто к тому времени прочёл у Дийкстры Letters to the editor: go to statement considered harmful, избегали блоксхем как огня и flowcharting’ом занимались именно постфактум — по готовым программам рисовали блок-схемы.

FORTRAN — сравнительно новый, появившийся лет 30 тому назад, вид покрытосеменных растений. Ботаники еще не успели классифицировать его. В классификации Карла Линнея отстутствует. W.F. CHOROSHEFSKY изрек как-то за кружкой пива — «Фортран, это лопух, который рано или поздно прорастает на любом ВЦ».

— ещё один штрих к датировке. Фортран родился в конце 50-х, значит, это 80-е
— в связи с «относительно новый» тут невозможно не вспомнить другую программную статью
Настоящие программисты не используют Паскаль (о, да, там тоже упоминается АВОСТ!)

GOTO (GO TO) -
1. Средство запутывания логики программы, использовавшееся в архаичных языках и заменяющее конструкции if-then-else и циклы.
2. Заклинание.
3. Непечатное ругательство. Что-то вроде «иди ты …»
— кажется, Дийкстра сказал здесь всё и можно было бы закрыть вопрос, но удивительные статьи, вроде О вреде GOTO-фобии (с примерами на C) или Запретный плод GOTO сладок! где в качестве «опровержения» вреда GOTO в качестве альтернативы нечитабельной программе с goto искусственно создаётся ещё более нечитабельная программа без него. Но, камон, любую программу можно переписать ещё хуже. Но это же не значит, что её нельзя переписать лучше! А из статьи Дийкстры следует вынести не запрет на гоуту, а запрет на написание программ в гоуту стиле (о котором я упоминал в разделе про flowcharting). Наверное, гоуту иногда имеет смысл использовать. Но мне за несколько десятков лет программирования, не удалось это сделать ни разу. Вру немного, конечно — на заре деятельности писал расчёт каких-то жёстких систем нелинейных дифференциальных уравнений по статье в зарубежном журнале и там «алгоритм» был дан в виде блок-схемы. Сложной. Из схемы не удалось понять ни сути происходящего, ни реализовать её без использования вагона операторов GOTO. Но и до рабочего состояния довести её не удалось, впрочем, тоже. Так что, если у кого-то программа без goto получается сложнее и запутаннее, чем она же с goto, думаю, с ооочень большой вероятностью, дело не в проблеме goto…

GREP — осколок UNIX’а, очень полезен, но нетороплив — может искать в течение двух часов текстовую строку по картам распределения памяти.

— Правильно! Используйте ripgrep (rg), если вы до сих пор этого не делаете (есть статья на хабре).

HANDLER -
1. Забор между операционной системой и ресурсами машины (см. примечание редактора к OPERATING SYSTEM)
2. Дрессировщик Драйвов (см. DRIVE).

HEAP -
1. Куча, в которую загрузчик кидает все, что под руку попадается.
2. Кусок оперативной памяти, используемый для складирования ненужных переменных.

HELP — системная функция для выдачи на дисплей прошлогоднего дампа.

HACKER — лесоруб, санитар леса. После его работы выживают только самые стойкие экземпляры операционных систем (разновидность системного программиста — прим.ред.)

IBM — он же 'BIG BLUE', — мелкая западная компания, производящая периферийное оборудование для ЕС ЭВМ. Программисты, занятые в этой фирме, говорят на непечатном жаргоне — JCL.

INVALID CHARACTER — если вы встретили такое сообщение, не спешите бежать к психиатру, может быть вы просто перепутали ключевое слово.

I/O SIF — сиф ввода/вывода (антисем.)

— скорее всего, отсылка к Библии. А может и к болезни. А может и то и другое.

JCL — непечатное слово, ругательство, по-русски что-то вроде «черт-побери».

— сам по себе, JCL — язык несложный, но в 90% случаев не приносящий никакой пользы простому программисту, поэтому не было смысла его учить, можно было просто скопировать первые несколько перфокарт из колоды товарища. Или, наоборот, изучить и удивлять окружающих способностью на нём непечатно выражаться (см IBM)

KILL — команда американской системы, чужда нашим принципам.

KWIK — замечательная программа, доставшаяся в наследство со старых, мрачных времен господства UNIX’а. Может составить индекс содержания вашей новой статьи, но почему-то в порядке алфавита австралийских аборигенов.

LIBR — команда или системная утилита, не способная найти книгу, лежащую перед программистом.

LINKER — какая-то утилита операционной системы OS/370, говорят, что двух слов связать не может, чего уж тут говорить о килобайтах!

MEGABYTE — американское название килобайта.
— да, это от души!

MOTOROLA — американская фирма. Выпускает контроллеры для мотороллеров.

— к сожалению, в советской действительности так и не образовалось никакого НИИ, который был бы широко известен на западе под названием Motorola, поэтому, когда пришло время передирать разрабатывать ПЭВМ Агат, широко известный на западе под названием Apple II, подходящего микропроцессора не оказалось. Ходили слухи, что первые Агаты делались на оригинальном секционированном микропроцессорном комплекте К588, но были чрезвычайно глючными. Поэтому, тайными тропами в страну было доставлено ведро процессоров 6502 из которых и изготавливались Агаты. Не знаю зачем я рассказал эту историю, ведь ни 6502 ни Apple II не имели отношения к фирме Motorola. А вот Apple Macintosh уже делались на контроллерах для мотороллеров и, вероятно поэтому, их не передрали — ну, кому нужны какие-то мотороллеры?

NIL — см. DUMMY

— см. сепульки

NULL — по нашему: фига.

— это они ещё Null Pointer Exception не отслеживали откуда вылетел…

OPERATING SYSTEM — операционная система: забор, разделяющий пользователя от ресурсов компьютера (в каждом заборе есть дырка — прим. ред.), а также рабочее место для системного программиста.

— «проблемные» (см TIME-SHARING) программисты (по-нашему — прикладные) работали за терминалом, а системные — за Операционной Системой!

QUEUE — особым образом составленный список, по которому обслуживаются клиенты (без блата туда не попасть).

— сложно уже сказать к чему эта отсылка, возможно, к временам больших компьютеров, которые представляли собой одну большую ЭВМ с подключенными к ней тонкими клиентами — терминалами. Терминалов было ограниченное количество, а желающих поработать много и, чтобы поработать за компьютером, нужно было заранее заказывать так называемое «машинное время». Распределением машинного времени занимались специальные люди и чтобы попасть в нужное место очереди неплохо было иметь среди нах блат.

RANDOMIZE — заголовок программы на Basic.

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

SQUEEZE — системная команда для размножения BAD-блоков.

— файловые системы в некоторых ОС могли выделять место под файл только непрерывными блоками, поэтому периодически возникала ситуация, когда место на диске есть, но записать файл невозможно — нет непрерывного блока нужного размера. Тогда на помощь приходила эта команда, по сути — дефрагментатор диска.

На ЭВМ ДВК первых серий использовались фрязинские дисплеи и клавиатуры ЯВЕРТЫ. Кажется, там была только 7-битная кодировка символов, поэтому было сложно иметь одновременно русские и латинские буквы. Но эти дисплеи были замечательны тем, что имели аппаратный переключатель рус/лат. При включенном «рус» строчные латинские буквы дисплей волшебным образом превращал в прописные русские. Отсюда пошли все эти DЕВИЦЕ БУСЫ (Device busy), а команда squeeze перед выполнением грозно спрашивала: SЯУЕЕЗЕ: AРЕ ЫОУ СУРЕ?
Вот такая, вот, Сяуеезе!
PS зато можно было использовать русские названия переменных в программах на языках, которые не были для этого предназначены.

SUPERVISOR — супервизор, буквально — «всевидящий». Часть операционной системы, задача которой — поторговаться с программистом при выделении ресурсов. Очень разнообразит жизнь.

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

SYSTEM PROGRAMMER — системный программист, т.е. человек, проводящий свое рабочее (и не рабочее) время в безнадежной борьбе с ошибками операционной системы и попутно вносящий новые.

— по-нынешнему, это, скорее DevOps. Были ещё операторы. Нет — Операторы! С большой буквы. Это люди, вернее жрецы, которые могли включать и выключать эти большие Машины. Процедура включения зачастую требовала ввода начального загрузчика с консоли, который Операторы знали наизусть. Да, и консоль в те времена была вовсе не хипстерским bash’ем в терминальчике, а реальной и железной консолью с реальными и железными тумблерами. Два рядочка переключателей — шина адреса и шина данных. Выставляешь адрес ячейки, выставляешь значение, давишь цапу, данные записываются в ОЗУ. Потом следующий адрес. Магия!

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

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

TIME-SHARING — разделение времени, легальное средство для борьбы системного программиста с так называемыми «проблемными» программистами

— параллелизм был в и больших ЭВМ, но он был не на уровне процессов и потоков, а, скорее, на уровне пользовательских процессов. И мог управляться господином System Programmer’ом. Скорее всего, с помощью приоритетов, но, может, и размером кванта времени. В общем, можно было урезать CPU кому-нибудь из мелких пользователей.

TURBO -
1. Кнопка на IBM PC/AT, которая начисто отключает возможность что-нибудь разглядеть на локаторе ближнего обзора*.
2. Приставка к самым плохим компиляторам**.
3. Тормоз.

* это какая игра? Я помню, что в Digger’а было весело с турбо
** Turbo Pascal, Turbo C. Ну, это явно со зла :)

UNIX — уних, а у нас — ДЕМОС.

— история о том, как тырили Unix и выдавали его за свою ОС ДЕМОС (и не только, параллельно Unix тырили несколько организаций) известна. Превращатели юникса в ДЕМОС получили премию Совета министров СССР по науке и технике, а словарь эту словарную статью с горькой усмешкой.

UTILITY — общее название для старых программ, которые жалко выкинуть.

VIRTUAL — виртуальный, т.е. несуществующий, произошло от фамилии известного программиста Н. Вирта из ETH, ZURICH.
— я видел живого Никлауса Вирта, вовсе он и не виртуальный, а вполне себе реальный! Впрочем, если спросить у гуглотранслейта перевод слова «виртуальный», то там милый список значений — виртуальный; действительный; фактический; мнимый. Whaaat?

VIRUS — Средство разнообразить ощущения программиста при работе на IBM-совместимых ЭВМ. См. также AIDS.

— ещё раз привет сепулькам и сепулению

WINCHESTER — диски, которые не виснут, если даже выкурить около них пачку беломора. Отечественный вариант имеет название «БЕРДАН».

— как-то раз жена (с детьми малыми) везла мне через границу эти самые НЖМД берданы. На таможне просканировали и спрашивают, -, а чё это у вас там? — ничтоже сумняшеся жена отвечает, — винчестеры! (ну, я ж их называл «винчестерами»). — Говорит, было весело.

А если кто не знает почему винчестер, то говорят такое: Происходит от названия оружейного производителя Winchester Repeating Arms Company. Связь с компьютерным запоминающим устройством возникла из-за ассоциации конструкции накопителя на жёстких магнитных дисках IBM 3340 (два модуля по 30 мегабайт каждый) с винтовочным патроном ».30–30 Винчестер».

Y2WHAMZ — магическое слово из игры «ADVENTURE», позволяет вернутся к домику из любого места (лампа при этом не гаснет — прим. ред.). Устарело в связи с распространением русского языка.

— по-новому, это IDDQD. Ой, это слово тоже олдскулы свело.

ZERODIVIDE — если вы встретили такое сообщение при выполнении фортрановской программы, то перепишите программу на ассемблере, гарантируем, что оно больше не появится.

— похоже, какая-то боль по типу NPE. Можно взять на вооружение рецепт борьбы с этой напастью.

© Habrahabr.ru