Разработчик, который придумал способ запуска COBOL из JavaScript, теперь добавил способ запуска JavaScript в COBOL.
Румынский разработчик Bizău Ionică также разработал аналогичные модули, которые позволяют смешивать Fortran и JavaScript.
Хотя на первый взгляд кажется, что оба проекта находятся в зоне безумия, в безумии Бизэу есть метод. До сих пор существует множество устаревших приложений COBOL, работающих без поддержки или управления ими, и диапазон модулей Fortran охватывает более или менее все научные области, которыми люди интересовались с 1970-х годов. Возможность извлекать код из COBOL или Fortran в Node.js это может сэкономить много ненужного перекодирования. Есть ли польза для бега Node.js в Фортране или КОБОЛЕ это менее понятно, но Бизэу сказал нам, что это, по крайней мере, интересно кодировать!
Новый COBOL-Node.js единица называется node.cobol. Он компилируется с GNU COBOL, и вам нужно установить Node.js на той же машине, на которой вы запускаете код. Теоретически это позволит вам выполнять такие вещи, как запуск веб-сервера из кода COBOL. Если вы достаточно предприимчивы, чтобы попробовать это, вот как это будет выглядеть в вашем коде COBOL
ОТДЕЛ ИДЕНТИФИКАЦИИ.
ИДЕНТИФИКАТОР ПРОГРАММЫ. ГЛАВНЫЙ.
ОТДЕЛ ДАННЫХ.
СЕКЦИЯ РАБОЧЕГО ХРАНЕНИЯ.
01 NODEJS-КОД PIC X(100) значение «console.log(‘Hello World!’)».
ОТДЕЛ ПРОЦЕДУР.
* Выполнить короткое Node.js фрагмент
ВЫЗОВИТЕ ‘EXEC_NODEJS’ С ПОМОЩЬЮ NODEJS-КОДА
ОТОБРАЗИТЕ «Запуск HTTP — сервера на порту 8000».
* Преобразование изображения в формат ASCII/ANSI
ВЫЗОВИТЕ ‘EXEC_NODEJS_FILE’ С ПОМОЩЬЮ «example/grace-hopper.js»
ОТОБРАЗИТЕ «Запуск HTTP — сервера на порту 8000».
* Запуск HTTP — сервера в Node.js
ВЫЗОВИТЕ ‘EXEC_NODEJS_FILE’ С ПОМОЩЬЮ «example/server.js».
ХВАТИТ БЕГАТЬ.
Соединитель Fortran используется с двумя параметрами: вход и обратный вызов. Входные данные должны содержать код Fortran для выполнения или путь к файлу Fortran, в то время как обратный вызов вызывается с помощью err, stdout и stderr.
Например:
const fotran = require(«fortran»);
// Давайте запустим некоторые фортранские вещи
фотран(`
программа привет
печать *, «Привет, мир!»
конец программы привет
`, (err, данные) => {
console.log(err || данные);
// => Привет, Мир
});
Считыватели перфокарт и кодирующие колодки являются дополнительными для всех модулей.