我喜欢与COBOL语言的编译和调试联系。有哪些组件和独立性,以便在近乎真实的环境中工作?
是否可以在Win32环境中使用?还是现代英特尔架构?如果是,那么 需要特定的启动,操作系统或硬件,还有什么?
我看过IBM z / OS,它看起来不像是针对未来全面商业环境的'孩子'。它似乎也适用于z /架构处理器,没有任何东西可以像SCALA,Ruby,Haskell等那样“带回家”。
我的谷歌时间大部分都是关于OpenCOBOL,MX Cobol加上一些 更多的s ..我没有尝试过那些并且不确定它们是否适用于我搜索的内容。
当我读到这些内容时,看看用户正在评论的问题,阅读环境常见问题解答,这些软件包看起来像某种沙盒,它们会产生COBOL,但有一些“额外的额外”。甚至存在用于开发环境的COBOL和GUI的VS .NET实现!这就是我没有标记OpenCobol和NetCobol的原因。
我进一步看了一个简单的"hello world", "array[0..10]", "obj = new objectY" "y | y == false"
(语言介绍当然从语法开始)。目的是与具有目的的常见业务任务联系。即读入/读出数据文件,创建和使用针对MSSQL的连接,从执行的软件或脚本中获取输入等。
答案 0 :(得分:2)
OpenCOBOL可能是您作为介绍或爱好学习的最佳选择。这是FOSS并得到了相当好的支持。拿一本红皮书或在线教程然后去看看。
其他一切都会花费你的钱。富士通COBOL可能是x86处理器上最常用的COBOL,至少在我的经验中它并不便宜。
你说z / OS实现并不容易。它通常在大型机上运行。但是,COBOL也是在同一环境中最常见的。有z / OS的模拟器,但我不认为它们是合法的。 IBM对版权的要求非常严格。
答案 1 :(得分:1)
嗯,一些简单的样本:
“Hello World”
Display "Hello World"
“array [0..10]”(假设为int)
01 My-Array-Area.
02 My-Array occurs 11 pic s9(8) binary.
“obj - new objectY”(假设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
答案 2 :(得分:1)
我们公司在Cobol开发已超过25年。我们每天仍在编写新代码。我们的系统包含约400万行模块化Cobol代码,并被新西兰和澳大利亚的许多组织使用。
我们开始使用Ryan-McFarlane(RM)Cobol,但大约20年前改用AcuCorp的AcuCobol。几年前他们被Micro-Focus收购了,但AcuCobol的东西仍然存在“延伸”。这是一个真正的现代Cobol,可以与Java互操作,客户端服务器,多线程,可以提供Web服务等等,并且它也非常独立于平台。您可以在任何当前的Windows版本,数十种Unix版本(包括许多版本的Linux)以及旧的大型机平台上使用此Cobol。它也是“一次编译,随处运行”范例的一个很好的例子,因为我们只在一台机器上编译我们的程序,但软件在许多不同的平台上运行完全相同(Linux,Solaris,AIX,HP / UX,等)
我相信您可以下载Extend编译器/运行时的30天评估版。
顺便说一句,除了作为满意的客户外,我与Micro-Focus无关。