程序设计理论基础
来源:互联网 发布:sql应用开发培训 编辑:程序博客网 时间:2024/06/01 23:57
1.概述
(1)程序设计理论基础
过程式程序有人称为命令式程序,但是由于与机器语言指令有混同,所以一般用过程式程序。程序的产生是由于冯诺依曼机,最早的高级语言程序就是过程式程序Fortran,Basic。Backus曾豪言壮语要赶走冯诺依曼在计算机高级语言中的王者地位,但是到今天也没有成功,想来Backus一定十分心酸。过程式程序是应用中产生的,没有理论,但是遵守数理逻辑、数学计算和图灵与另一个计算机科学家提出的可计算理论。因此,程序有正确性。
面向的对象程序是解决所谓的“软件危机”出现的。蓝色巨人曾在上世纪60年代开发一个新机型的系统软件,但是用了三年的时间,最多时候用了1000人,编写了100万行源码,据说有很多错误。每debug1000个错误,就发行一个新版本。所以这件事令程序员头疼,就开创了软件工程研究。很多人开始设计新的语言或新语言思想。1972年C语言,1977年FR风格。C++程序出现在1980年代,不仅为了解决软件危机,而且解决了大型程序要求的程序实体独立,错误传播限制,所谓名空间的广度。面向对象技术开始于SIMULA67,现在的面向对象程序包括C++,Java,PHP,C#,Python,Perl,Ruby,VB.net。面向对象技术的理论基础是抽象数据类型ADT。
函数式程序设计的理论基础是代数规范,例如基调代数,但并不像看上去那么难。有人认为函数式程序起源Lambda形式语义模型,而Backus设计了FR程序代数,因此有不同认识。
逻辑式程序设计的理论基础是一阶谓词逻辑。数理逻辑包括命题逻辑和谓词逻辑。在谓词逻辑中,一阶谓词在谓词转换器得到有效应用,而二阶谓词则没有得到学术界的广泛讨论。逻辑式程序设计=logic+control。逻辑logic表示规则,控制control表示规则应用的顺序。
(2)什么是编程范式
编程范式不仅反应高级语言所属种类,而且是高级语言的范式。例如,pascal,c,Fortran语言是过程式程序设计,C++,java是面向对象程序设计,函数式程序设计有Haskell和Scala。Backus在1977年图灵奖颁奖典礼上提出FR风格程函数式程序设计,他认为FR是函数组合的方式。逻辑式程序设计有prolog,Lisp。
所谓编程范式(programming paradigm)是指:在高级语言程序设计范围中,程序的规范表示,并遵循一定的条件约束。这些条件可以有:语法正确,语义实例化正确,特定的编程风格等。编程范式实际称为编程泛型,表示一门高级语言使用的概念体系和思维模式。
矩阵范式(错误的称呼)实际称为矩阵范数(matrix norm),是矩阵的度量方式,计算长度的函数。向量和矩阵范数是表示n维空间向量或矩阵的标量性质,但是反应了它们的结构性质。社会科学(哲学)意义上的范式,在美国科学哲学家托马斯·库恩(Thomas.Kuhn)1962年出版的《科学革命的结构》(The Structure of Scientific Revolutions)中有论述。
2.过程式程序设计理论基础
阅读全文
0 0
- 程序设计理论基础
- 理论基础
- 理论基础
- Hibernate理论基础
- nosql理论基础
- LevelDB 理论基础
- 线程理论基础
- CAP理论基础
- 电磁场理论基础
- linux理论基础
- nosql理论基础
- shell理论基础
- CAP理论基础
- BI理论基础
- twisted理论基础
- CAP理论基础
- 数据库理论基础
- Storm 理论基础
- 开始学习python语言,想进入数据分析,人工智能行业。
- 关闭防火墙是否就默认所有端口打开?80端口被 阿里云盾占用怎么办?
- SQL优化、索引优化
- 页面通信方式——跨文档消息传递XDM
- 【Noip2011】铺地毯
- 程序设计理论基础
- js和URL的传递、窗口的打开
- Oracle性能优化之统计分析
- 【KMP】HDU 6153 A Secret
- Android Studio 自带的模拟器 (avd模拟器)开机提示需要输入密码的问题
- 算法第1篇——选择排序
- Delphi下获取系统默认的UserAgent的方法
- 【LEDE】树莓派上玩LEDE终极指南-98-Node.js和NPM在LEDE上存在的问题和解决方案
- Visual Studio Code