atitit.编程语言的未来趋势与进化结果

atitit.编程语言的未来趋势与进化结果

 

1 语言就像物种一样,会形成进化树,没有前途的分支将枯死脱落。 1

机器语言 1

汇编语言 2

C语言, 硬件抽象层 2

高级语言:java,.net  跨平台(os)抽象层vm 2

DSL领域编程语言(跨越编程语言) 2

6.1 实现方式:: 语义 和 语法 分开 2

6.2 结构Dsl,dsl解释器 2

6.3 统一的开发语言 3

6.4 每个领域特性部分,使用类库解决 3

7 语言特性发展 3

7.1 Oo+ 3

7.2 Function 3

7.3 动态(non编译)还是编译?? 3

7.4 强类型还是弱类型??? 4

7.5 面向自然语言还是简单的?? 4

7.6 抽象能力 4

7.7 删除语法噪音 4

7.7.1 语法噪音 4

7.8 强大ide,vm 5

编程语言的进化,起始发现背后的思想 :任何两个系统之间的复杂性,都可以通过添加一个抽象层要屏蔽 5

9 参考 5

 

1 语言就像物种一样,会形成进化树,没有前途的分支将枯死脱落。

机器语言

最早的编程语言是卡带,也就是机器语言,这种语言没有语义和语法,操作符和数据混合在一起,偏向于具体的设备,依赖觉得硬件。

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

 

汇编语言

随后,汇编语言就出现了,汇编语言定义了基本的语法结构,定义了操作符和数据类型,但是汇编语言还是针对特定的硬件编程

 

 

C语言, 硬件抽象层

对于汇编语言的问题,主要要解决跨硬件平台,添加一个抽象层,这个就是硬件抽象层

 

高级语言:java,.net  跨平台(os)抽象层vm

为了解决C语言的跨平台的问题

 

DSL领域编程语言(跨越编程语言)

6.1 实现方式:: 语义 和 语法 分开

 

而个的语言编程语言一般都是语法和语义绑定在一起的

 

6.2 结构Dsl,dsl解释器

 

 

6.3 统一的开发语言

现在越来越有这个趋势了,各个语言都在添加其他语言的特性,增强自己的特性,以后各个语言都变的越来越类似,功能也越来越雷同

 

6.4 每个领域特性部分,使用类库解决

或者二手的dsl??

 

 

 

 

7 语言特性发展

7.1 Oo+

7.2 Function

7.3 动态(non编译)还是编译??

综合考虑,工业级别的源码保护的考虑哈,还是要编译,,yaneng跟个python雅十,共同的情形哈不编译器,给客户的时候儿编译..

 

动态性意味着更加灵活,意味着开发者有更多的"魔术"可以玩。而开发者会天生对动态语言有亲昵地感觉,这是人的本性。

但是凡动态语言,JavaScript、Python、Ruby这些,实际上已经意味着与地层开发无缘了。

同时灵活意味着少约束,少约束意味着大规模程序很难被编写出来。到目前为止,很少听到过超过10万行级别的JS语言项目,这样的现象多少与JS的动态性有关。

反过来看,动态性较低的C语言现在成了驱动和OS内核开发的不二之选,因为好像驱动里面根本用不着那些看上去NB的抽象——即使你用了C++,也是像C一样用而已

 

7.4 强类型还是弱类型???

以及ide支持不行。。

所以,综合考虑,工业级别的任然是强类型的天下。。

或者,语言支持弱的型,也能强壮的型…必要的的时候儿,能强类型

 

7.5 面向自然语言还是简单的??

Cobol,ada的强壮的理解性普通的的人们能理解的..

大部分情形哈,还是简单的特性ok而个的java取代了cobol,ada..

 

7.6 抽象能力

抽象能力应该是现阶段语言进化的第一优先级,抽象手段无非函数式、过程式和面向对象三种,看计算机语言的流行历史, 不难看出 函数式=>过程式=>面向对象=>函数式回归 这样的规律。Lisp一直在学术界评价颇高,但是其商业应用一直低迷,其抽象能力比较弱一直是个重要的原因。

 

7.7 删除语法噪音

7.7.1 语法噪音

语言除了功能和设计,“长相”也是很重要的。这里要提到一个语法噪音的概念,比如JS里面的function,相比lambda表达式,这个噪音就多了

arr.some(function(x){ return x<2});

而C#里面可以这么写:

arr.some(x=>x<2);

这里面,function关键字,return关键字,各种符号,其实实际意义都不大,因为JS语法设计,而必须要加上,这就是一种噪音。

有趣的是,向python这样的语言对于“去噪”的追求达到了极致,甚至不惜用空白做标志干掉花括号,这个做法导致了其毁誉参半,喜欢的人特别喜欢,不喜欢的人特别讨厌。

 

7.8 强大ide,vm

 

 

编程语言的进化,起始发现背后的思想 :任何两个系统之间的复杂性,都可以通过添加一个抽象层要屏蔽

 

 

9 参考

编程语言进化-CSDN.NET.htm

编程语言的进化 - God Is Coder - 博客园.html

程序语言的进化——话说变量-CSDN论坛-CSDN.NET-中国最大的IT技术社区.htm

 

 

 

 

posted @ 2015-03-10 21:13  attilaxAti  阅读(24)  评论(0编辑  收藏  举报