编程范式是什么?粗略的说就是编程风格或者编程原则,比如面向过程、面向对象,各种“面向”都是一种编程范式。
编程语言和编程范式之间的对应关系比较乱,不需要刻意去匹配。但是有一点很重要,因为有编程语言的存在才有编程范式,否则也就不存在编程范式了。
编程语言是一种工具,主要的功能是什么呢?简而言之,编程语言就是计算机硬件与人之间的一个媒介或者接口。
纵观编程语言的演化过程,早期的编程范式是接近计算机硬件模型的,比如指令式编程。随后向结构化编程演变,范式逐渐远离计算机硬件模型,而可读性不断增加。
函数式编程和面向对象编程可以看做是结构化编程的两个大的分支
后边的演化过程比较复杂,有很多分支,也有分支间的合并,面向对象编程还有一些分支包括,面向切面等
声明式编程我猜是比较晚出现的,只有在其他范式基础上才能实现,比如SQL
事件驱动,最典型的就是图形界面的交互
并行计算,高性能系统
响应式
编程范式越来越接近于人的思维方式,并逐渐接近人类自然语言,最终一定会是AI系统读人类的自然语言去编程。最终给人类使用的编程语言可能会消失吧!
抛开编程的限制,世界观就是范式