全部博文(287)
分类: 系统运维
2009-12-16 10:03:24
最近,许多朋友问我,如何系统地学习400编程?对这个问题,我只能提出我的看法和亲身体会,希望通过交流,达到共识,促进400行业的编程技能的整体提高。
对于有些年400开发经验的朋友来说,就是经验的积累和探索。
对于浩瀚的IBM redbook来说,我们没有办法每本都熟读,只有在需要时,知道如何找到能够解决问题的redbook文档。对于编程细节,只有在项目中积累和通过交流群、网上论坛或新闻组中的问题解答进行积累。
我的另外一点经验,如果想丰富自己的编程知识面,掌握更多编程技能,就是多看和记录编程高手的有开拓性的代码,详细浏览这些高手们的原型接口定义的copybooks。比如一个为qshell定义的原型接口的copybook,我就可以从中知道,1)编程中我可以应用到qshell中的,我不知道的,而OS/400已经有的功能;2)我可以直接复制这些原型接口定义到我的程序代码中,直接应用。这种方法非常实用我们熟悉OS/400系统。OS/400下,系统提供的对开发的接口文档都放在QSYSINC LIB中,里面有各种语言、各种功能接口的include文档,这样我们就可以知道大体OS/400提供给开发的各种功能和接口。
另外一点也非常重要。有时间看看OS/400下,系统提供的各种Q LIB中的examples,从中也可知道喝掌握400提供的各种功能的编程方法和系统调用。
我的400经历有以下过程:
1) 对400编程的初步了解。如对RPG、CL、query等。初步掌握rpg中的F、I、E、C、O表中基本编程技能。对PF、LF和JFile的定义的基本使用。
2) 注重编程过程中的详细细节,如文件/记录锁;某个keyword的使用等。
3) 对redbook中解释不详细的编程过程,这些过程又非常实用的过程,进行深究,比如绿屏rpg编程光标定位;在一个rpg程序中运行多个subfile等。
4) 对应用系统的整体技术进行初探。这阶段,也开始注重应用系统的400总统架构。开始学习掌握400外的实现手段和编程技术。
5) 较熟练地掌握400下的常用技术,对rpgle、CL、DB2有深度的掌握。这阶段对400的技术如何应用到应用系统和应用开发系统中概念较清晰。
6) 较熟悉市场应用系统流行的应用框架,知道每个应用框架下的利弊和应用系统的技术实现后的系能。例如,知道某类技术应用在开发中,开发进度可以加快,但是实施后,经过应用的数据积累会造成应用系统性能下降、不易二次开发等细节。
7) 追求400新技术、追求应用框架和实用性的尽善尽美。