随着计算机应用的快速发展,软件已经进入到一些行业的核心业务中。例如银行业务中已严重的依赖软件。一些银行营业厅在无法使用计算机的情况下甚至拒绝手工办理业务。软件的需求迅猛的增加,随着软件代码量的快速增加开发难度也随之增加。初期使用单一编程语言的开发模式也遇到了困难,80年代甚至还有使用汇编语言编写程序的项目。传说汉字213系统只使用汇编和debug完成。在80's年代后期出现了由多种语言程序编写同一软件项目的情况。如:使用C语言扩展foxBase的功能,在其文字档案中增加图片功能。这一时期虽然出现了图形界面但仍然以字符界面为主。那时混合编程和系统汉化代表着软件的最高标准。
80's年代讨论最多的是各种的编程语言。如:BASIC、C语言、dBase、pascal、COBOL、FORTRAN 等等。其中COBOL和FORTRAN语言主要在一些特定的领域内使用。在通用软件开发上比较少见。2002年的时候听有同事讲:"那时银行分理处的主机上核心业务还是使用COBOL编写的批处理程序来完成"。其中dBase和BASIC语言编程写的MIS软件最为常见。当时有两句顺口溜:"要想富,学数据库"。"学会C语言,一辈子花不完"。80's年代使用的编程语言多数还是面向过程的语言,面向对象的语言在我国的流行从90年代中期才开始流行。
"面向过程"和"面向对象"是两种编程方法,也有称编程思想。"面向"这一词也不是谁翻译的!真是误国误民。"面向"( 英语:Oriented),你可以理解为"使用"。面向过程、面向对象可以理解为:"使用"过程的编程和"使用"对象的编程。过程是什么呢,对象又是什么呢。过程就是C语言中的"函数function"、Pascal中的"过程procedure",其它语言中也又称“方法method”,就是被"封装"起来的一段代码和数据,"封装"就是将代码或数据组织成一个单元通过接口来引用。举个例子:C语言中定义函数时使用{花括号}包裹起来的程序代码和实参数据组成的单元就是被封装起来的封装体,"接口"就是调用时函数的形参和返回值。著名的printf函数,你不需要知道该函数体中的代码和数据,但确不影响你调用。对于程序语言封装的范围越大,程序代码的可重用代码就越简洁。对象就是C++语言中使用class类型或struct类型创建的"自定义类型的变量",也可以称"类型实体"。C++中class类型是一种可以封装函数和数据的自定义数据类型。那么class封装了什么呢?class封装了函数(method)和数据(data),class可以封装函数,也就是说class结构的封装级别高于函数。目前class是最高级别的封装,"切面(Aspect) 、模板(Template)等"只是改进了class的性能。那么面向对象的接口是什么呢?在编写class结构体中将不需要调用者直接操作的函数或数据定义为private,需要调用者直接操作的函数或数据定义为public。对象的接口就是public的定义部分。对象调用者只需要知道接口中的public函数或数据就可以使用该对象了。面向对象的设计原则就是通过"接口"来简化编程。
例如:From1 frm= new From1(); frm.show();中只要通过show()函数就可以使窗体显示出来了。至于show中调用什么函数和使用了什么数据是不需要调用者了解的。其实我理解到上述的内容,花费了2、3年的时间。