编程语言的模式以及背后的思想

      命令式编程语言,对于冯诺依曼体系结构中机器命令的一种抽象,我们常见的机器语言、汇编语言、早期的高级程序设计语言、C、Pascal以及Ada都属于这类程序设计语言。

      OOL,将问题空间进行抽象和建模的一种程序设计语言,更加自然和简单。

      FOL。函数式编程将一切的运算归结为数学函数的计算。有些人将它理解为函数的变换,总算捉到一些皮毛。因为函数式编程中,对象的定义是函数式的,输入输出都是函数式的。一切都基于超强类型的函数。经过底层的lamda函数计算,一切浑然天成。函数式程序设计语言中没有变量,一切在定义完成以后就无法改变(真的是这样吗?)。而且使用了大量的,被优化过的递归(设计不好的递归在命令式编程语言中会出现时间复杂度指数化的问题)。

 

     日常生活中的函数式编程:
     - C++模板元编程
     - C/C++预处理元编程
     - M4宏编程
     - Python/Perl/Ruby的列表操作
     - Vimscript的某些操作

 

 

    结构化程式设计 (英语 :Structured programming ),一种编程典范 。它采用子程序 、程式码区块 英语 block structures 、for循环 以及while循环 等结构,来取代传统的 goto 。希望借此来改善计算机程序 的明晰性、品质以及开发时间,并且避免写出面条式代码 。

 

    结构化程式设计在1960年代开始发展,科拉多·伯姆 英语 Corrado Böhm 朱塞佩·贾可皮尼 英语 Giuseppe Jacopini 伯姆于1966年5月在《Communications of the ACM》期刊发表论文[1] ,说明任何一个有goto指令的程式,可以改为完全不使用goto指令的程式,后来艾兹赫尔·戴克斯特拉 在1968年也提出著名的论文《GOTO陈述有害论》(Go To Statement Considered Harmful)[2] ,,因此结构化程式设计开始盛行,此概念理论上可以由结构化程式理论 所证明,而在实务上,当时也有像ALGOL 一样,有丰富控制结构的编程语言来实现结构化程式设计。

 

     C中频繁使用{}包裹语句块即为block structured思想的遗留产物。

你可能感兴趣的:(杂感)