Компилятор COBOL и отладка в реальной среде - PullRequest
1 голос
/ 09 декабря 2011

Мне нравится связываться с компиляцией и отладкой для языка COBOL.Какие компоненты и зависимости существуют для рабочей, практически реальной, как возможная среда?

Возможно ли это в среде Win32?Или современная архитектура Intel?Если да, то нужны ли специальные загрузки, операционная система или аппаратное обеспечение, что еще / любое?

Я посмотрел на IBM z / OS, которая не выглядит как-тодля «детей», нацеленных на будущее полномасштабной бизнес-среды.Похоже, что это также относится к процессорам z / архитектуры, ничего такого, с чем вы можете «начать и начать», как это было бы со SCALA, Ruby, Haskell и другими.

Большая часть моего времени в Google дает представление об OpenCOBOL, MX Cobol и еще нескольких братьях и сестрах.Я не пробовал их и не уверен, что они применяют то, что я ищу.

Когда я читаю о них, смотрю на проблемы, которые пользователи комментируют, читая FAQ по среде, тепрограммные пакеты выглядят как своего рода песочницы, которые делают КОБОЛ, но с небольшим «дополнительным».Существуют даже реализации VS .NET COBOL и GUI для среды разработки!Вот почему я не отмечаю OpenCobol и NetCobol.

Я смотрю дальше на простой "hello world", "array[0..10]", "obj = new objectY" "y | y == false" (введение языка, конечно, начинается с синтаксиса).Цель состоит в том, чтобы войти в контакт с общими бизнес-задачами, которые имеют цели.Т.е. считывать входящие / исходящие файлы данных, создавать и использовать соединение с MSSQL, получать входные данные от исполняющего программного обеспечения или сценария и т. Д.

Ответы [ 3 ]

2 голосов
/ 12 декабря 2011

OpenCOBOL - это, пожалуй, лучший из лучших для обучения в качестве вступления или хобби.Это FOSS и достаточно хорошо поддерживается.Возьмите красную книгу или онлайн-учебник и перейдите к нему.

Все остальное будет стоить вам денег.Fujitsu COBOL, вероятно, наиболее часто используемый COBOL на процессорах x86, по крайней мере, по моему опыту, но это не дешево.

Вы правы, что реализация az / OS не так уж и проста.Обычно он запускается на мэйнфрейме.Тем не менее, COBOL также чаще всего встречается в этой же среде.Есть эмуляторы для z / OS, но я не думаю, что они законны.IBM довольно строго соблюдает авторские права.

1 голос
/ 13 марта 2012

Наша компания развивается в Коболе уже более 25 лет.Мы все еще пишем новый код каждый день.Наша система содержит около 4 миллионов строк модульного кода Cobol и используется многими организациями в Новой Зеландии и Австралии.

Мы начали использовать Ryan-McFarlane (RM) Cobol, но переключились на AcuCobol AcuCorp около 20 лет назад.Они были выкуплены Micro-Focus пару лет назад, но материал AcuCobol все еще существует как «Расширение».Это действительно современный Cobol, который может взаимодействовать с Java, работает на клиент-сервере, является многопоточным, может предоставлять веб-сервисы и т. Д. И т. Д., А также очень независим от платформы.Вы можете использовать этот Cobol в любой текущей версии Windows, десятках разновидностей Unix (включая многие версии Linux), а также на старых платформах мэйнфреймов.Это также яркий пример парадигмы «один раз скомпилируй, запускай везде», поскольку мы компилируем наши программы только на одном компьютере, но программное обеспечение работает одинаково на многих разных платформах (Linux, Solaris, AIX, HP / UX,и т. д.)

Я полагаю, что вы можете загрузить 30-дневную ознакомительную версию компилятора / среды выполнения Extend.

Кстати, я не имею связи с Micro-Focus, кроме как как довольный клиент.

1 голос
/ 10 декабря 2011

Хммм, несколько простых примеров:

"Hello World"

Display "Hello World"

"array [0..10]" (предположим, что int)

01 My-Array-Area.
  02 My-Array occurs 11 pic s9(8) binary.

"obj - новый объект Y" (предположим, что объект obj объявлен как ссылка на объект)

Invoke objectY new returning obj

"x | y == false" ("y" условию отношения следует называть иначе, чем "y"«переменная, если вы не прошли групповую квалификацию, поэтому я изменил ее на x)

if (x or (y = false))
  ...do stuff...
else
  ...do other stuff...
end-if
...