哪种语言,你会口COBOL程序,以及为什么?
-
12-09-2019 - |
题
在选择语言,以口COBOL程序从什么样的语言,你会选择为什么?我不是在寻找答案",因为我熟悉的语言X"。
我正在寻找特征的语言地图,以及以COBOL的设计。
更新: 该方案将运行gammit水电费、数据处理、屏幕等等。
解决方案
我要港口。嗯...COBOL。是的,就是这样。COBOL。
对不起,无法抗拒。
严重的是,有COBOL编译器为目前的平台那里,除非我们知道多一点关于为什么代码 已 要移植,我们可能不能有所帮助。
是的平台上运行的过时了吗?是管理只是在推动一个更现代的解决方案吗?你有移动的东西从系统z到Windows(ugh!)?
COBOL(在其纯粹形式,不,OO-COBOL垃圾)主要是一个简单的程序语言(ReportWriter尽管如此)以将任何其他程序languges相当:
- C.
- C++没有类
- Java,虽然你不能避免类,除非你有一个很大的honkin'辛格尔顿。
- Pascal(交换一个"死亡"的语言为另一种).
- 甚至蟒蛇,Perl et al可以做的工作。
其他提示
那么,你应该考虑什么样的输入COBOL程序通常得到的。
COBOL被设计成处理大量固定宽度的格式的文本作为输入,以输出在几乎相同的方式的。这听起来更像是一个ETL过程对我来说比什么都重要。
,所以我不会端口COBOL程序简单地另一种语言;我最好将它移植到合适的ETL技术,如SQL Server集成服务(SSIS)或至少其predeccesor DTS - SQL数据转换服务。 SSIS意味着使用VB.NET(至少在SQL Server 2005),但不应该是一个问题。
我不知道很多COBOL,但我不认为那是一流的语言,它是一直超集的(因此,它不容易直接地图的COBOL语言).我看到几个问题:
建立支持的十进制算法-这种规则的任何现代化的语言不算过载.
更好地支持结构性记录的人能使用结构/联盟的合作为在C,但我认为它将使标识符的非常长的时(至少对于程序,我们看到的).
转到语句-没有它,一个必须完全分析逻辑的程序时,重写。
可能还有其他功能,这是不容易的地图。
我个人执行基于该程序的设计意图,而不是它的当前实现这个决定。如果你想有一个坦诚的线换线端口,不过,我可能会说C / C ++。
也许不是马上在你可以考虑转换你的一些代码,像净当代框架的新的语言看 - 你可能会发现一个很好的解决方案intermediatery,直到你准备干到底。
有几个COBOL编译为.NET等可作为Fujitsu的的NetCOBOL 一>
我曾经参与移植一些COBOL东西到C(1989左右)有问题的COBOL是代码监视防盗报警,火灾报警器等,这是那种方案的是适合于更多的实时样的环境。查询这些极大数客户现场设备每分钟等展望“为一种语言,很好地映射到COBOL的设计特点”,所以很多时候忽略了一个事实,有很多COBOL程序的,在那里,忽略COBOL的设计。
我将保持COBOL核心但周围的边缘展开。
微焦点提供了一个名为Enterprise Server的工具,它允许COBOL与Web服务交互。
如果你有一个COBOL程序A和另一COBOL程序B和A调用经由接口部B中,工具可以暴露B的接口部分作为Web服务。
有关程序A,你然后生成客户端代理和A现在可以通过web服务调用乙
当然,因为B现在具有web服务的任何其它类型的程序(命令行,Windows应用程序,Java中,ASP等)现在也可以调用它。
此外,它们有一个称为COBOL.NET产物它运行在Visual Studio中,并转化到COBOL MSIL。这意味着你可以在任意.NET组件链接。
所以方法是保持通过Web服务的COBOL核心,但界面和做新发展,任何符合CLR语言(C#,VB等)
- 我说你不应该港口的COBOL。
- 如果你的意思是 重写, 然后是的,选择的语言。我建议一个网络界面,java。净额,重新改写。
- 如果代码需要运行 到底 喜欢它的运行现在,任何"移植"转换只会做伤害。
- 如果你必须变革平台的一些原因,可以使用COBOL在另一个平台。
- 什么工作最好在我的经验是尝试分离的部件或服务,并转换小件单独或只是写新的码在优选的语言,保持COBOL运行后结束。
第一个具有为为什么COBOL具有要移植? COBOL是一个功能强大的时间兑现其中最有可能仍具有代码运行工资,会计等的生产比任何其他语言的更多行语言。
在至少痛苦端口将是协同DBL。这是DIBOL(数字面向商业的语言)。
这是一个高度可移植虚拟机款式更新http://www.synergex.com/synergy-dbl/
DIBOL使用的所有好的片从BASIC,FORTRAN和COBOL中留出最恶劣的。
如果你按照上面的链接,你会看到他们有GUI,.NET和其他增强工具。只是某些有不论什么目标OS,你将上运行的虚拟机。
IBM大型机COBOL大量使用CICS,TCAM,IDMS等的将是一个非常艰难的端口别的了。
的OpenVMS COBOL利用DECForms的或可能甚至FMS将没有一个屏幕处理包一个艰难的端口。从这些商店很老的COBOL将利用丰富的系统服务,且由该不会是使用在多数其他平台上的操作系统提供的时间库例程。您还必须在逻辑值念起来弄清楚如何实现的东西胜负的近距足够在你的目标。
你将与最大型和中档COBOL发现什么是你是不是移植只是COBOL。会有吨,较早记录的COBOL利用的系统服务。