atitit.高级编程语言的特性 and 将来趋势与进化.docjava
1 编程语言的发展历程 1python
1.1 编程语言的进化,起始发现背后的思想 :不论什么两个系统之间的复杂性,都可以经过加入一个抽象层要屏蔽 1数据库
1.1.2 高级语言:java,.net 跨平台(os)抽象层vm 2api
对于汇编语言的问题。主要要解决跨硬件平台,加入一个抽象层,这个就是硬件抽象层
为了解决C语言的跨平台的问题
做者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
而个的语言编程语言通常都是语法和语义绑定在一块儿的
现在愈来愈有这个趋势了,各个语言都在加入其它语言的特性。加强本身的特性,之后各个语言都变的愈来愈相似,功能也愈来愈雷同
或者二手的dsl?
?
综合考虑,工业级别的源代码保护的考虑哈,仍是要编译,,yaneng跟个python雅十,共同的情形哈不编译器,给客户的时候儿编译..
python雅十,常用使用script式,,也能编译了...
动态性意味着更加灵活,意味着开发人员有不少其它的"魔术"可以玩。而开发人员会天生对动态语言有亲昵地感受,这是人的本性。
但是凡动态语言,JavaScript、Python、Ruby这些,实际上已经意味着与地层开发无缘了。
同一时候灵活意味着少约束,少约束意味着大规模程序很是难被编写出来。到眼下为止。很是少听到过超过10万行级别的JS语言项目,这种现象多少与JS的动态性有关。
反过来看,动态性较低的C语言现在成了驱动和OS内核开发的不二之选。因为好像驱动里面根本用不着那些看上去NB的抽象——即便你用了C++。也是像C同样用而已
以及ide支持不行。。
因此。综合考虑,工业级别的 任然是强类型的天下。。
也可以强大的类型判断和模式匹配
或者,语言支持弱的型,也能强壮的型…必要的的时候儿,能强类型…
Scala是静态类型的。不少人会把vals="ABC"这种看成动态类型特性,而vals:String="ABC"才以为是静态类型特性。实际上,这无关类型争论,而是类型系统实现的范畴。是的,在Scala里,你可以放心大胆地使用vals="ABC"。而Scala里强大的类型判断和模式匹配。绝对会让你爱不释手。
Cobol,ada的强壮的理解性…普通的的人们能理解的..
大部分情形哈,仍是简单的特性ok…而个的java代替了cobol,ada..
抽象能力应该是现阶段语言进化的第一优先级,抽象手段无非函数式、过程式和面向对象三种,看计算机语言的流行历史, 不难看出 函数式=>过程式=>面向对象=>函数式回归 这种规律。Lisp一直在学术界评价颇高,但是其商业应用一直低迷。其抽象能力比較弱一直是个重要的缘由。
语言除了功能和设计,“长相”也是很是重要的。这里要提到一个语法噪音的概念,比方JS里面的function,相比lambda表达式,这个噪音就多了
arr.some(function(x){ return x<2});
而C#里面可以这么写:
arr.some(x=>x<2);
这里面。functionkeyword。returnkeyword,各类符号,事实上实际意义都不大,因为JS语法设计,而必须要加上,这就是一种噪音。
有趣的是,向python这种语言对于“去噪”的追求达到了极致,甚至不惜用空白作标志干掉花括号,这个作法致使了其毁誉參半,喜欢的人特别喜欢,不喜欢的人特别讨厌。
眼下不少语言都可以本身主动垃圾收集。。
但是仅仅是内存。。
数据库。网络,以及磁盘io链接任然有泄露的可能。
。
尽量的分离为好。
程序和数据也不该该被分开。
因为现代数据操做和模块化的基础是并行程序(parallelism),而有效实现并行的基础是程序的first-class表达,也就是把程序做为一种基本数据类型。
闭包、多个返回值
库与语法融合在了一块儿。
咱们可以看到在Java中对字符串String对象的操做可以简单地使用操做符+、+=进行操做。然而String自己并不是关键 字,但是可被编译器识别。因为你换成其余对象可能就没法用这些操做符来进行操做了。
而对String类的实现自己可用一个用Java编写的相对独立的库进 行实现。
事实上将语法体系与语言自带标准库绑定仍是有很多优势的。
首先,这easy被扩展,开发人员可以依据本身的需求来本身定义某些语法的行为。
其次,对编译器而言可以减 轻压力。某些执行时行为可以交给标准库进行实现。
这样,编程语言可以比較方便地被打形成比較完备的语法体系。这样的耦合也加强了编程语言的执行时能力。包含 灵活性、可扩展性。
偏向傻瓜式的编程,直接用IDE的代码辅助就能把代码敲出来。
java那种展示精美的架构的同一时候,却要求程序猿本身一块块砖搭起来的风格逐渐没落...
atitit.编程语言的将来趋势与进化结果
Atitit.现代高级语言的特性以及趋势attilax总结