Comments 13
Красиво. Конечно, траспилятор — это несколько громко сказано, вы только формат данных поддержали, по сути сделали автогенератор парсеров данных по описанию формата на Коболе — но тем не менее.
Спасибо за поддержку! Всё так. Громковато сказано, согласен.
Насколько я понял основная причина это то, что вычисления происходят с числами с фиксированной запятой. И из-за этого дешевле обучать программистов COBOL, чем переписывать всё на новый язык, с фиксированной запятой.
думаю, там не-технические причины основные. Но помимо этого — COBOL очень крутой язык, реально созвучный бизнес-процессам. И сообщества COBOL до сих пор очень дружелюбны и полезны.
Скажем так — в чистом виде Java очень сильно отстаёт по наглядности разработки от COBOL. Программисты больше голову ломают над техническими проблемами, чем над бизнес-алгоритмами. Это же применимо и к PL/SQL. Но у этих языков всё же есть проблемы масштабируемости, с этим не поспоришь.
Вот только, в отличие от автора, я потратил бы некоторое время на оформление репы на GH. Сейчас довольно неряшливо (отладочный логгинг надо либо вычищать, либо прятать за флаг, а не комментировать), и, самое главное, нет тестов. Вы хотя бы парочку примеров на коболе туда выложите, сразу больше доверия будет.
Ну и добавьте статью в хаб «Ненормальное программирование», чтобы её заметили :)
Очень извиняюсь за отсутствие тестов и документации. Тесты были выпилены при публикации кода, т.к. содержали проприетарные копибуки.
Тесты и документация будут обязательно добавлены в скором времени. У нас сейчас происходит экспоненциальный рост количества проектов, что требует внедрения операционной методологии. И она уже разработана. "Какая методология?" — в нашей следующей статье. Это будет нечно удивительное.
Добавил тест, а также выпустил CLI релиз (для запуска из командной строки):
https://github.com/INFINITE-TECHNOLOGY/COBOL/releases/tag/1.0.0
Можете скачать и попробовать у себя.
Кстати, есть и облачная версия (она уже пол года работает): https://i-t.io/Cobol
(Тестов будет больше, конечно, в дальнейшем. Это только для примера пока.)
(Не совсем понятно, правда, зачем такую простую утилиту в спринг бут с его тонной зависимостей заворачивать, но это уже придирки к стилю.)
Коллега рассказывал, что они переводили проекты с разных языков программирования на Джаву, в том числе и с Кобола. И делали они это при помощи грамматики, написанной на JavaCC.
В опросе нет такого пункта, что использовал бы парсер-генератор, но другой.
Мы на работе мигрируем с Microfocus Cobol на GNU COBOL, а там парсер уже есть... хотя по проекту и кастомные парсеры копибуков разбросаны, увы.
Путь из COBOL в Java: пишем транспилятор за сутки