魔幻紫光

Nothing is difficult to a willing heart!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

COBOL方面

Posted on 2005-04-29 21:27  魔幻紫光  阅读(2463)  评论(1)    收藏  举报
COBOL是个什么东东?
COBOLCOmmon Business Oriented Language)是第一个广泛使用的高级编程语言。从名字可以看出,它主要面向商务信息的处理。COBOL重视数据项合输入/输出记录的处理,对具有大量数据的文件提供了简单的处理方式。但与C语言或FORTRAN语言相比,COBOL的数值运算、逻辑运算能力比较弱。

  1959年,美国国防部召开了一个有政府机关、企业、计算机厂商参加的会议,大家认为有必要设计一种数据处理专用的语言,这就是著名的数据系统语言会议CODASYLCongference on Data Systems Languages)。195912月出现了第一个COBOL语言文本,并于19604月正式发表,因此也被称为COBOL-601968年美国国家标准委员会ANSI又通过了新的标准ANSI COBOL X.3.23-19681972年国际标准化组织ISO将其作为ISO COBOL-721974ANSICOBOL-68作出了修订扩充,形成了ANSI COBOL X3.23-1974,随后1978ISO采用其形成ISO COBOL-78,后来又提出了ANSI X3.23-85,增加了很多结构化程序设计的内容,ISO标准ISO1989:1985也采用了该标准。COBOL标准还在不断地改进和完善,最新的标准COBOL 2002主体已经于2002年12月出版,其他部分还在不断地完善之中,具体内容请参考NCITSCOBOLStandards


简单的COBOL程序

介绍一种编程语言最简单的程序通常是在屏幕上打印一句“Hello World!”,那么我们也从这个程序开始学习。下面就是这个简单的程序:

   IDENTIFICATION DIVISION.
   PROGRAM-ID. HELLO.
  *
   ENVIRONMENT DIVISION.
  *
   DATA DIVISION.
  *
   PROCEDURE DIVISION.
 *这是一行注释.
    DISPLAY 'Hello World!'.

上面这个简单的例子可以用C写成:

  int main(void)
  {
    
printf("Hello World!");
    return 0;
  }

  可以看出COBOL比较八股,即使是最简单的程序,也必须具有四个基本部分:标识部、环境部、数据部和过程部。不仅如此,书写程序还必须遵循固定的编排格式。


为什么要用COBOL?
作为一种元老级的高级编程语言,COBOL拥有庞大的用户群和代码,据称用COBOL书写的程序超过了1000亿行(COBOL.org)。看来,历史赋予了COBOL语言特殊的使命。另外,只要大型机存在,其上就还要运行COBOL程序,而且很多资深的程序员已经习惯于COBOL,加入大型机环境的新程序员(例如我) 也不得不开始使用COBOL。其实COBOL也有自身的一些优点,比如它对数据的显示格式有较强的控制。


常见的COBOL编译器有哪些?

  由于COBOL最初是用于主机系统,所以它和主机系统联系得非常紧密。主流的主机系统,例如IBM的大型机、中型机等都配备了相应的COBOL编译程序,例如VS COBOL II等。微机的广泛使用也对主机编程产生了一定的影响,比如它拥有漂亮的图形界面,不少编译器厂家也推出了微机平台上的COBOL编译器产品,其中比较著名的有Fujitsu PowerCOBOLAcuCobol等。网上有一个Fujitsu COBOL V3,其编程界面类似于微机上常见的Visual BasicVisual C等,不仅提供了GUI界面,也内置了许多常见的控件,当然其功能比起VBVC还是差了不少,有兴趣者可以下载去试用一下。  

  在Windows上开发的人都应该觉得很幸运,它那友好的界面就实在能改善开发者的心情,提高开发的效率。想想在DOS和UNIX等下面的黑屏环境,工作的心情实在好不起来。要是跟踪一段代码,简陋的调试环境真让人却步。主机环境既然不那么友好,调试环境也就可以想象了。当然了,如果舍得花钱,还是能买到凑合的调试环境的。即使没有那么多的投资,CICS也算是一个不错的东西,毕竟它还支持对其自己命令的调试。

COBOL例子程序和编译运行作业

文件描述
文件大小
文件格式
参考链接
Fujitsu PowerCOBOL 3.0
11.4M

自解包压缩程序

数字处理例程(Jud McClendon)
3K
ZIP文件
数字字符转换(Jud McClendon)
5K
ZIP文件
Shell排序(Jud McClendon)
4kWednesday, 2004-09-08>
检查输入的日期(uniware)
4K
文本文件
打印ASCII/EBCDIC代码(uniware)
2K
文本文件
打印日历(uniware)
8K
文本文件
文件排序(uniware)
6K
文本文件
字符串转换成数字(Erlend Moen
17K
HTML文件
编译链接运行COBOL程序的作业
5K
文本文件


COBOL网络资源

Fujitsu

COBOL.org

COBOL for GCC

Tiny COBOL

Cobol Center

COBOL Course

Coding Guidelines

Cetus Link for COBOL

COBOL Reference and Example Site
The COBOL Programming Language
 
Helen Sherlock's Homepage

COBOL Coding Style & Techniques

     学习的传统方法自然还是看书,国内所能找到的COBOL教材,现在可能不多了。谭浩强老师编写、清华大学出版社出版的《COBOL语言》(修订版,上下两册)是比较好的入门书籍。电子工业出版社出版的《COBOL从入门到精通》是比较新的,可惜它继承了很多翻译作品的不良基因,实在不能说是一本好书。首先,书名与内容很不相符,要是哪个初学者想通过此书掌握COBOL,只怕是要惊呼不可能了。其次,书的内容也不能说是条理清晰,不知道是作者还是译者的问题。当然,看看该书还是能有一些收获的,只不过读起来不那么顺利罢了。用北大天网的FTP搜索能查到几本学习COBOL的电子书,如“Teach Yourself COBOL in 21 Days, Second Edition”。


http://www.zedware.org/