Skip to main content

有意思的编程方法

分类:  思考 标签:  #杂谈 发布于: 2023-05-21 17:27:37

最早接触到编程的时候,fortran和Basic还特别流行,带我真正入坑的是Tbasic和FoxBase,估计现在的小朋友们都没听说过,后来陆陆续续的从Basic,foxbase,到C,到VB,VC,再到Perl,Java,python,Scala,C#,一路学习和使用过来编程的方法论也是一点一点的丰富。
 
最早的过程编程方法,最显著的特点就是函数定义,模块的划分,这种编程方法最大的问题就是软件工程一旦过大,管理起来就特别麻烦,最早的一个项目是大二的时候帮助一所的学校图书馆的基于Novell的NetWare上用foxbase编写图书馆管理系统,这个系统花了我一年多的时间,代码量一大之后,函数命名就经常重名,而且过程编程方法从主要函数启动开始,进入循环,可以加上多进程的形式,项目越大,越难管理,规划,和分发。
 
软件工程学应运而生,为了解决这些问题,面向对象的编程方法诞生了。面向对象的思考方法从几个纬度解决过程方法带来的一系列问题。
组织上,使用名称空间,包,类,接口等一系列从运行单位来模块化。使用抽象,继承,多态等基本的技术解决代码运行简单化可重用性等等一系列的问题。同时为了解决随着面向对象的方法论带来的复杂性,业界也提出了基于面向对象的设计模式,每种设计模式具体解决哪些具体的编程问题,都有非常详细的论证。
 
随后我们又基于面向对象的编程方法论提出了基于属性的编程方法论,引发声明式编程方法论,包括后来在大数据处理中大放异彩的函数式编程,以及逻辑编程等等。