编程语言瞎扯

2010-10-17 晚

编程语言的分类理解:

1、命令式语言,函数式语言,逻辑式语言,面向对象语言【基于计算发展过程衍生出的不同的计算模型而分类】;

2、命令式语言,说明式语言【基于编程语言本质---程序=算法+结构】;

3、动态语言,静态语言【基于变量作用域与语法作用域与变量生命周期间的关系而分类】。

  第一种分类是一般的分类形式,也是见得最多的分类形式,不再叙述。在这里主要是想瞎掰一下从书上看到的,网上搜到的,道听途说的,以及自己理解的从语言本质上进行分类的理解。

  命令式语言从一开始就是注重的结构(依承冯诺依曼的体系结构及思想--图灵思想的实现<包括硬件和软件>),从语言体系的设计、发展至今,从机器语言走到汇编再到过程语言再发展到现在的面向对象语言(OOP)及最新的面向接口语言(IOA/P)无不遵从用语言来记录对象结构(存储结构),存储实体(变量)对象,再通过算法调整结构。从根本上是通过结构(存储结构)影响算法(业务逻辑),结构与算法有着主次,从属形式。这使得结构缺乏对算法的变通,僵化了业务逻辑。虽然近来oop通过继承和多态的形式在一定程度上缓解了这种僵化,但究其本质还是一种通过结构影响算法的模式,只是对结构进行了一种更高形式的抽象,缓解了对于对象僵化算法的影响。加之新近添加进去的泛型特性,更是从类型系统上对语言结构进行了高层次的抽象,类型更加泛化从而算法更加通用。而所谓的面向接口语言(IAO/P)实际上已经有少许说明式语言的影子了,他对数据(对象)首次从语言层面进行了剥离,使其更抽象、泛化、通用,缓解语言对于算法的僵化。但究其实质仍然是命令式语言(原因可根据命令式语言的定义来区分.....后面讲解)。下面附出基于第二种分类的详细图表说明:
[img]http://b58.photo.store.qq.com/http_imgload.cgi?/rurl4_b=e45f4ea0cdf9afefd39f32870e8f06333f8ac95d17b0691c9befa113a33d86735390e10d0cfeda0233e2d403b49347fcba723d5cbc5e3e8a67b6d950cf3d2a094f98daae265bf869f3cf9b599e3f913b7524d004&a=57&b=58[/img]
待续....^-^
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值