Cobol技术演示

时间:2010-12-20 22:40:40

标签: cobol

我是一名COBOL程序员 - 拥有6个月的工作经验 - 为一家咨询公司工作。今天,其余的COBOL“部门”,我与我公司的新主管会面。

在负责新团队的初步分析之后,他们注意到,与我们公司提供的其他服务/技术相比 - Java,C ++,Objective-C等 - COBOL缺乏“广告”。他表示,每当其他团队的成员都在中间项目时,他们就会实施小型演示,然后只要有我们公司的演示,就可以向我们的客户展示。他举例说明了Objective-C中移动设备的小部件,带有HTML5的酷网页等。 并注意到COBOL中没有任何内容。所以他希望我们开发某种工具/应用来展示我们的能力。

我们已经告诉他,COBOL是在引擎盖下使用的,并没有显示铃声和口哨声。另外,当雇用COBOL程序员/分析师时,对客户来说最重要的是他表明他具有“业务逻辑”知识。

我知道编码部分非常重要,但在大型机环境和COBOL介绍两周后,我能够轻松完成编程任务。但是,凭借在银行工作6个月的经验,我发现自己几乎每天都要向“大师”提出有关“业务逻辑”的问题,这样我才能在执行某些维护时最终改变流程的逻辑任务。

我们能否真正制作展示或未来客户的东西(工具/应用)与我们提供相同服务的所有其他公司不同的东西?或者如果没有,我们可以向我们的经理说些什么,以便他了解COBOL与其他语言不同,其目的不是在屏幕上显示漂亮的图形。

谢谢!

7 个答案:

答案 0 :(得分:5)

我认为你是绝对正确的 - 在过去的20年里,“大括号”语言已经从IBM,Oracle / Sun和微软进行了大量的品牌营销。

Micro Focus正试图对此做些什么。他们刚刚重新启动了www.cobol.com,其中包括一套很好的视频见证,以及COBOL的强大功能。

有一个很棒的video available 展示了Micro Focus为即将发布的“Visual COBOL R3”产品的开发而构建的一些演示。这些演示包括Web服务,基于浏览器的丰富客户端,并行处理等(它们并未全部显示在视频中)。 Micro Focus将很快为COBOL开发人员推出包含这些样本的新资源。

答案 1 :(得分:4)

COBOL在很大程度上得到了糟糕的说唱,因为它的概念已经过时,无法与现代系统进行通信。很多人认为使用COBOL“锁定你”,无法从其他系统获取数据,将数据推送到其他系统,或调用用其他语言编写的代码。

潜在客户非常有兴趣知道,如果他们使用您的COBOL解决方案,他们仍然可以与世界其他地方共享数据。我认为您可以构建一些引人注目的演示,显示COBOL应用程序与Web API交互或使用C ++,Objective-C等编写的代码。两种可能性:

1)一个简单的程序,可以向Google的搜索API提交查询并显示返回的结果。这将显示您可以发出HTTP请求并解析响应。

2)从自定义数据库收集数据并将该数据传递给C ++函数的程序,该函数以某种方式研磨数据并返回结果。这将表明您可以使用COBOL的数据处理强度,并将COBOL传统上不那么擅长的处理器密集型计算任务传递给C ++或其他语言。

我认为这是您最大的卖点:您使用COBOL的优势,您可以与世界其他地方共享数据,而您的COBOL程序可以利用其他工具来完成非COBOL主要的特定任务功能

答案 2 :(得分:4)

在你的后口袋里有一个光滑的演示来展示(雪)客户是有点像 卖的不是牛排的嘶嘶声。演示应用程序可以说明您的员工的技巧 可以用很多天赋来解决相对轻量级的问题。但COBOL更少关于嘶嘶声和嘶嘶声 更多关于牛排的信息 - 如果风格强调内容,那就是营销的噩梦。

基本上,一个热门的演示向客户展示了你有一些想象力,知道如何 在集成各种服务的给定框架内编写代码。不可否认,这些都是很好的卖点。

但是COBOL应用程序并不能用于演示。大多数运营大型COBOL商店的客户已经知道这一点。 他们不太可能对演示留下深刻的印象 - 除非它解决了一些特定的兴趣点 给他们。从我20多年的COBOL合同经验来看 程序员,我可以说我的客户最感兴趣的是一个可靠的简历,后面有可靠的参考资料来说明 具体应用领域的经验深度(如会计,人力资源,库存管理, 等等。)

稳固的公司组合可能比演示更重要。您可能想要概述的一些事项是:

  • 您为(银行,金融,政府,零售)提供资源的企业类型。
  • 在给定项目中使用的技术,中间件和框架的范围(例如,CICS,MQ系列,DB / 2, WebSphere,FTP,XML,RD / z,SAP,SAS等。)
  • 为过去的客户提供的技能性质(例如程序员,技术分析师,业务分析师,DBA, 容量规划,安全分析师,数据建模,架构师,项目经理等。)
  • 除了“把流浪汉放在座位上”之外,指出贵公司为这些项目带来的任何附加价值(例如: 发现了一种免费优化,可以将客户批量计划减少2小时。)
  • 汇总项目案例历史记录,以显示贵公司如何能够做一些特别的事情 和客户不同。
  • 指向您认为公司有一些技术,框架或应用领域 比“其他人”更具竞争优势。

尝试解决潜在客户可能对您提出的问题。 大型COBOL商店有自己的做事方式。他们经常使用类似的工具集,但他们 所有人似乎都有自己特有的整合方式。他们不希望有一些承包商进来 摇他们的船。但是你可以通过表明你的“伙伴们”清楚地给他们留下深刻印象 他们参与的项目具有思考能力,扎实的技能和强烈的职业道德。

最重要的是,充分利用你所取得的成就,但永远不要过度陈述或弄皱你的 超越绝对真理的能力。如果一个客户从任何东西捕获了一丝BS 你现在,他们会在你眨眼之前出门。

答案 3 :(得分:3)

这是一个迟到的条目,但我有一些乐趣将OpenCOBOL WORKING-STORAGE数据链接到CERN的ROOT / CINT框架。 CINT是一种很酷的C / C ++解释器,ROOT是粒子对撞机和高能物理基准的可视化分析框架。来自COBOL工作室的交互式图表和图表。

一个小例子:

OCOBOL >>SOURCE FORMAT IS FIXED
      *> ***************************************************************
      *> Author:    Brian Tiffin
      *> Date:      20101119
      *> Purpose:   Pass arguments to ROOT/CINT invoked subprograms
      *> Tectonics: cobc -fimplicit-init -C cobparams.cob
      *> ***************************************************************

       REPLACE ==ARRAYSIZE== BY ==450==. 

       identification division.
       program-id. cobfloats.

       data division.
       working-storage section.
       01 cnt pic 999.
       01 val usage float-short.
       01 xes.
          02 an-x usage float-short occurs ARRAYSIZE times.
       01 yes.
          02 an-y usage float-short occurs ARRAYSIZE times.

       linkage section.
       01 vxes.
          02 an-x usage float-short occurs ARRAYSIZE times.
       01 vyes.
          02 an-y usage float-short occurs ARRAYSIZE times.

      *> ***************************************************************
       procedure division using by reference vxes, vyes.
       perform varying cnt from 1 by 1 until cnt >= ARRAYSIZE
           compute val = cnt * function random() end-compute
           move cnt to an-x in xes(cnt)
           move val to an-y in yes(cnt)
       end-perform
       move xes to vxes
       move yes to vyes
       move cnt to return-code
       goback.
       end program cobfloats.

和样本运行

$ cobc -fimplicit-init -C cobparams.cob
$ vi cobparams.c
(Add a #pragma K&R to the top of cobparams.c so CINT lets up on type safety)
[btiffin@home cobol]$ root -l
root [0] gSystem->Load("/usr/local/lib/libcob.so");
root [1] .L cobparams.c+
root [2] int a = 0; float x[450]; float y[450];
root [3] a = cobfloats(&x, &y);
root [4] a
(int)450
root [5] TGraph *graph1 = new TGraph(450, x, y);
root [6] graph1->Draw("A*");

生成一些任意约束的随机数的交互图。

ROOT/CINT TGraph from COBOL data

答案 4 :(得分:2)

当您在大型机环境中工作时(我认为它是IBM)我建议您查看以下链接http://www-01.ibm.com/software/awdtools/cobol/到IBM的COBOL编译器部分。有关于在大型机环境中将COBOL与Web服务和Java相关联的信息。

如上所述,您还可以查看Micro Focus的Visual COBOL。它不是大型机产品,而是Visual Studio中的COBOL编译器,并在.NET中部署

http://www.microfocus.com/products/micro-focus-developer/micro-focus-cobol/windows-and-net/micro-focus-visual-cobol.aspx

答案 5 :(得分:2)

您可能正在查看软件的情况称为快速原型,这涉及程序代码或脚本生成器,以向计算机屏幕显示显示或表单的视觉外观,并可包括数据输入和推进的一些元素到更多的屏幕页面。这是数据处理部门的风格和表示类型,而不是具有图形,Web访问等的桌面计算机或笔记本电脑/笔记本电脑的程序员可能会遇到和使用的类型。

答案 6 :(得分:2)

我意识到这是一个相当晚的条目,但你为什么不强调它最强大的Cobol - 在应用业务逻辑和提取当前状态的同时通过大量数据进行搅拌。

我建议您为当前数据库准备一套很好的报告。以十几种不同的方式提取,细节,汇总,切片和切块数据。与其他尝试执行相同操作的语言相比,请确保记下创建报表包的运行时。并注意与其他语言可能提供的代码的可读性(以及报告套件的可修改性)。

在您使用时提取为CSV并添加一些Excel(或其他电子表格)图形和数据分析。