设计心得——编程范式

一、范式和编程范式

大家可能经常听说到范式这个名字,什么是范式呢?范,在古语中就有模子的意思,进一步可以指代标准或榜样,如典范。在一些考研的视频中经常看到陶范、木范等词语。式,就是样子,规格,进一步可延伸成一种语法的范畴。二者结合在一起,大家就明白了范式的意思。
范式是“从本质上讲是一种理论体系、理论框架。在该体系框架之内的该范式的理论、法则、定律都被人们普遍接受”。范式是一种理论体系或者说它是一种抽象,这个非常重要。而编程范式就简单了,是在编程这个领域内的范式。

二、范式和模型以及设计模式

很多人往往听到范式并不感冒,毕竟这个东西对大家来说其实很少能需要用到。而模型就用得非常多了,比如这个算法模型那个通信模型等等。模型也是抽象出来的,它也有一定的规则或模式的意思。那么它们二者有什么不同呢?
其实非常好理解,范式更倾向于理论,模型介于具象和理论体系之间的一类抽象。更简单的说,模型更倾向于某类具象的普遍化。比如现在挺火的AI大模型,它就是指在海量数据上基于Transformer架构的一种深度学习的普遍化描述。说得再不贴切一些,形状是范式,正方形是模型,3*3大小的正方形是具象。
而设计模式是指在实现模型或范式过程中,具体实现方法的抽象,就叫做模式。这个就很清楚了,上面二者是概念描述,模式是实现手段。

三、C++中的范式编程

编程领域的编程范式有很多,而且可能在未来会创造出更多的编程范式。但对于普通的C++程序员来说,经常遇到的编式并不算多,比较常见的有:
1、面向过程编程
这个对C程序员来说是经常遇到的,所谓过程就是按一定的层次和顺序来进行编程
2、面向对象编程
C++程序员经常遇到的,使用类等与现实世界进行映射的编程
3、函数式编程
就是以函数为核心,避免状态和数据的冲突
4、元编程
面向描述数据的数据进行编程的一种编程
5、泛型编程
通过抽象于具体类型的代码进行的编程
6、并发(行)编程
通过同时执行多个任务的方式进行编程
7、事件驱动编程
这个就更好理解了,基于事件的驱动进行编程

上面的解释都比较通俗,但后果可能就是不太严谨,更严谨的大家可以看一下相关的具体资料。其实除了上面的这些编程范式,还有其它不少的常见范式,但在C++中应用比较少,比如面向切片编程、面向服务编程、组件化编程、响应式编程等等,大家遇到哪个就学习应用即可。不过需要提醒的是,不少的编程范式经常是与特定的语言绑定在一起。

四、范式编程的应用和意义

在上面提到过,往往一些编程范式与特定的语言绑定在一起。这其实就是一种技术发展和演进的过程的体现。早期的编程只有一种就是按照过程推进。但随着硬件技术和软件技术的不断前进,特别是计算机技术的普及导致实际应用场景的暴发,大量的不同的领域的需求涌现出来。除了一些普遍性的需求外,在一些特定的场景下的需求也往往非常重要,那么就会有大牛们发展和创造不同的编程范式。这些范式,有的解决了较为普遍的编程应用场景如大家常见的面向对象编程,也有的在某些领域有重大作用如函数式编程在科学计算领域的应用。
通过上面的描述,大家也应该明白了,计算机应用的发展才是编程范式的技术前进的源泉。编程范式的意义就在于从理论指导某类编程场景的解决方法,最大化的增强了代码的水平和效率,推动了技术的发展。

五、总结

理论和实践的关系和重要性往往大家都知道,但真正应用起来,却达不到效果。究其原因,就在于认知程度不够。自己很明白,但实际应用中却往往忽视一个方面或者懈怠于思考,不愿意进行理论和实践的互相印证和融合。这就极大降低了实践的能力和对理论理解的深度。
知行合一,方是根本。知行互动,才是目的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值