29

刚才在查看微软的 Visual Studio 页面时,突然在广告侧边栏看到了一个不可思议的广告:

“Net Express 是一个COBOL开发环境,用于将核心业务流程扩展到 .NET Framework 和其他分布式平台。”

当然我跟着链接找到了一家做这个的公司,但是还有地方还在用COBOL吗?有人真的在 .NET 框架中使用 COBOL 吗?

4

7 回答 7

51

Micro Focus制作了一个 COBOL 开发套件,主要用于维护旧的大型机应用程序。它会说来自各种平台的 20 种 COBOL 方言,并具有CICS仿真工具。截至 2004 年,他们推荐它来替换高达400 MIPS左右的大型机工作负载。请记住,您仍然可以在 1990 年代初期从 Amdahl 购买额定为 22 MIPS 的大型机系统,在大型机上 400 MIPS 是相当大的工作量。

将传统的 COBOL 后端集成到现代前端是一项大生意。有相当丰富的终端 仿真 软件生态系统、屏幕抓取工具、接口库和用于各种协议(如 CORBA 和 SOAP)的 RPC 包装器。

几年前,Micro Focus 推出了一个COBOL .NET 编译器,允许您在 CLR 后端运行 COBOL 应用程序。您可以编译任何受支持的方言,它将运行所有旧版仿真功能。这允许您将 GUI 或 Web 前端(或 Web 服务层)放在现有的 COBOL 应用程序上,从而保留对现有代码库的投资。几乎可以使用任何支持 CLR 的开发工具来编写前端。您想使用 C#/Windows Forms、MS Workflow Foundation、SSIS、IronPython、ASP.NET 或 SQL Server CLR 与您的 COBOL 后端集成 - 让自己失望。

因此,对于遗留应用程序的完全重写和迁移,它通常是一个非常有吸引力的替代方案。

这种类型的工作占了他们业务的很大一部分,但仍然有一些利基市场,COBOL 实际上本身就做得很好。对于许多大批量作业,打开面向记录的文件并按程序处理它是获得简单、可理解和快速的应用程序的良好范例。我曾经读过一篇帖子(在 Slashdot IIRC 上),有人在谈论一个 COBOL 应用程序,该应用程序读取 35GB 的信用卡退款文件并每小时处理一次。这是很久以前发布的,在 1990 年代的某个时候——当时 35GB 比大多数 PC 的磁盘容量大得多。

让 RDMBS 在一个小时内批量加载和处理 35GB 的数据(估计 100-2 亿条记录)不一定是一件微不足道的工作,即使在现代硬件上也是如此。通常,从 SQL 中获得性能需要您对处理采取一种有些不恰当的方法,这可能会混淆代码的含义;高度调整的 SQL 可以是相当“只写”的。

COBOL 已在此类应用程序中使用了大约 50 年,是一种成熟、易于理解且可靠的技术,实际上做得很好。

于 2008-11-28T09:26:05.790 回答
11

我真的很喜欢COBOL编码 - 学习 Fortran、Pascal 和 C,但我前 5 年的大部分时间都在 IBM/390 上的 COBOL 上进行专业编码。不过15年没碰过。

COBOL 是出类拔萃的批处理财务处理语言。结构合理,它可以做它最擅长的事情——处理大量财务数据——比其他任何事情都好。它也是一种将其他系统嵌入其中的非常好的语言——通常作为其他系统之间的粘合剂运行。

把它想象成一个机车:-)。在 19 世纪,每个人都曾经乘坐火车旅行,因为我们只有火车,但大多数人都被汽车和飞机所取代。尽管铁路系统仍然是要走的路,但要运送大量的重型货物。您在日常生活中并不经常看到机车,但它们让您的发电站使用煤炭运行。

值得注意的是,Lisp 在 AI 编码中仍然具有相似的地位。我发现有趣的是,1960 年代/70 年代三种“大”语言组中的另一个成员 - Fortran - 比其他语言下降得更多,这不是我当时所期望的。然而,我们仍然有很大一部分BASIC,它实际上是 Fortran 的私生子,所以可以说这三个人都像他们在任何地方一样活跃和活跃。

于 2008-11-28T08:21:43.847 回答
9

Rob,虽然不一定适用于 .NET,但仍有很多地方在做 COBOL;我们仍然进行大量大型机开发,并且绝大多数金融应用程序仍然使用与 CICS 交互的 COBOL 编写。

此外,您仍然可以获得适用于 Windows 平台的 COBOL 编译器(例如,Fujitsu)。

于 2008-11-28T06:50:12.143 回答
6

我认为更常见的场景是互操作性,例如,Windows 和 ASP.NET 应用程序与 COBOL/CICS 应用程序通信,反之亦然。

几年前,我曾为我国的一家大型银行参与过这样的项目,我可以想象这对于任何拥有超过 40 年 IT 经验的银行来说都是相当普遍的。

于 2008-11-28T06:55:44.987 回答
3

COBOL 是一个利基市场。一个不错的、舒适的、有利可图的利基市场。这可能(迟早)会变得不存在,但现在它仍然存在。就在这里,几家主要的银行组织都在 COBOL 中开发了他们的核心系统。这不仅是维护,更是开发!

It has been around for 50 years or so. Every 10 years someone announcing it dead, but it still hangs on.

于 2009-01-05T12:43:55.750 回答
1

Wikipedia 上的一篇文章让我大吃一惊:

COBOL 程序在全球范围内用于政府和军事机构、商业企业以及 IBM 的 z/OS、Microsoft 的 Windows 和 POSIX 系列(Unix/Linux 等)等操作系统。1997 年,Gartner Group 报告称,全球 80% 的业务在 COBOL 上运行,现有代码超过 2000 亿行,估计每年有 50 亿行新代码。

http://en.wikipedia.org/wiki/COBOL

我认为COBOL是“木材”。这不是真的。顺便说一下,Fujitsu NetCOBOL for .NETMicro Focus Net Express® with .NET是相当全面的实现。也许我们应该学习这门语言,然后找到一份高薪的好工作?:)

于 2008-11-28T07:12:10.180 回答
0

I know of Raincode, Fujitsu, and Microfocus.

  • Microfocus attempts ASP.NET using COBOL Codebehind.

  • Fujitsu I'm not sure if they are still offering their own web solution or attempting to fit into ASP.NET.

  • Raincode offers a standard COBOL compiler targetting .NET without any attempt to harness ASP.NET

于 2019-01-31T09:32:23.517 回答