Выбрать главу

Третья группа — это варианты АЛГОЛа. Я, к сожалению, так и не увидел ни одной полной реализации спецификации этого языка. (Смешки в зале.) Подмножество АЛГОЛа — это весьма полезный формализм, такое подмножество может быть базой для нового языка. Однако, стоит ли цепляться за АЛГОЛ?

Четвертая группа — даже не языки, а аппаратно-програмные комплексы для инженерных задач, как то МИР. МИР позволяет описывать проблему на более высоком уровне, чем ФОРТРАН и АЛГОЛ. Я предлагаю совместить идеологический подход МИРа с нашим аппаратным комплексом КЗУП-01 и зарубежным опытом разработки инженерных языков программирования.

Разработка APL Кеннета Иверсона представляет собой фактически запись математического формализма на вычислительной машине. Исполнимую запись! Однако, главным преимуществом APL является не это. APL активно использует массивы данных как аргументы и результаты операторов. Можно записать векторы, матрицы, тензоры как массивы и определить такие операторы как поэлементное сложение, произведение матриц, скалярное произведение, норма. Это понятно и привычно инженерам, математикам, физикам. APL избегает записи циклов. Зачем организовывать цикл для сложения элементов массива, когда можно определить оператор "сумма массива"?

Более того, имеет смысл определить оператор "куммляция массива в одно значение", инстанциированный оператором суммы элементов. Если мы захотим реализовать оператор для произведения элементов массива, это будет тривиально. Также, операторы вида "применение оператора к каждому элементу массива" или "слияние двух массивов в один" позволяют сильно поднять уровень абстракции языка. Да, товарищи, уровень абстракции! Это именно тот инструмент, который позволит нам отойти от машинных кодов и примитивных инструкций ФОРТРАНа!

Имеет APL и недостатки: используется запись очень близкая к математической, что делает ее ввод и вывод в вычислительное устройство сложным. Однако, это всего лишь проблемы синтаксиса! Считаю, что заменить экзотические символы, как-то "дельта" или "перпендикуляр" на короткие названия операторов не будет сложно.

Для выполнения на КЗУП-01 считаю правильным учесть опыт БАЗОВОГО и сначала написать интерпретатор. Товарищи, страна не может ждать два года, пока наши сотрудники не реализуют компилятор! Мы должны дать инженерам и физикам инструмент расчетов уже завтра! Если руководство НИИ 581 сочтет нужным, его сотрудники могут учесть опыт разработки транслятора нашего варианта APL и разработать соответствующий компилятор для "больших" машин. Однако, это уже дело будущего.

Резюмируя: я предлагаю создать интерпретируемый язык для инженерных расчетов на основе существующих разработок. Это язык будет востребован в науке и на производстве. Высокий уровень абстракции поможет выражать задачи коротко и понятно даже для неспециалистов в вычислительной математике. В случае принятия нашим руководством решения о поддержке этого направления, коллектив НИИ "Интел" берет на себя повышенные обязательства написать реализацию APL и дать ее рабочим, инженерам и научным сотрудникам нашей страны уже через четыре месяца! Спасибо за внимание, товарищи!

Фанфик от oal

17.02.2013

12. Цифрокассетник

Как показало впоследствии проведенное расследование, началось все опять с Федора. Этот… хиппи творчески переосмыслил наши опыты с записью данных на винил. После чего распотрошил "Денди", шарповский кассетник и взяв пару микросхем со склада, изваял из них то, что перевернуло мир. В прямом смысле. Иностранный магнитофон был неплох, он послужил донором для лентопротяжного механизма и качественной магнитной головки. Гибридом из советского операционного усилителя и останков вражеской техники стал записывающих тракт, "тянущий" не 20 КГц, как нужно в аудио, а все 70. На "Денди" была реализована простенькая программка для сжатия звука — не современное мне mp3, а что-то гораздо более примитивное, но работающее. Федор потом говорил что-то о "ужатии нулей", а профессионалы морщились и говорили, что все можно было сделать гораздо лучше. Но поезд-то уже ушел.

Основным компонентом чуда техники были военные микросхемы ЦАП/АЦП. Они позволяли перевести в цифровую форму и потом восстановить аналоговый сигнал. Любой. С частотой дискретизации до 50 КГц. Мой умелец (будь он здоров, гад!) взял 44 килогерца. Как в воду глядел! Ну или гениальные мысли приходят в голову многим. В общем, по теореме Котельникова, он мог восстановить те самые аудиофильные 20 КГц из своего цифрового сигнала. Без потерь.