atitit.编程语言的未来趋势与进化结果
atitit.编程语言的未来趋势与进化结果
1 语言就像物种一样,会形成进化树,没有前途的分支将枯死脱落。 1
5 高级语言:java,.net 跨平台(os)抽象层vm
2
8 编程语言的进化,起始发现背后的思想 :任何两个系统之间的复杂性,都可以通过添加一个抽象层要屏蔽
5
1 语言就像物种一样,会形成进化树,没有前途的分支将枯死脱落。
2 机器语言
最早的编程语言是卡带,也就是机器语言,这种语言没有语义和语法,操作符和数据混合在一起,偏向于具体的设备,依赖觉得硬件。
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
3 汇编语言
随后,汇编语言就出现了,汇编语言定义了基本的语法结构,定义了操作符和数据类型,但是汇编语言还是针对特定的硬件编程
4 C语言, 硬件抽象层
对于汇编语言的问题,主要要解决跨硬件平台,添加一个抽象层,这个就是硬件抽象层
5 高级语言:java,.net 跨平台(os)抽象层vm
为了解决C语言的跨平台的问题
6 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
8 编程语言的进化,起始发现背后的思想 :任何两个系统之间的复杂性,都可以通过添加一个抽象层要屏蔽
9 参考
编程语言进化-CSDN.NET.htm
编程语言的进化 - God Is Coder - 博客园.html
程序语言的进化——话说变量-CSDN论坛-CSDN.NET-中国最大的IT技术社区.htm
atitit.编程语言的未来趋势与进化结果的更多相关文章
- Atitit 编程语言编程方法的进化演进 sp COP ,AOP ,SOP
Atitit 编程语言编程方法的进化演进 sp COP ,AOP ,SOP 1.1. Sp oop>>COP ,AOP ,SOP1 1.2. Sp oop 结构化方法SP(Stru ...
- atitit.高级编程语言的特性 and 未来趋势与进化.doc
atitit.高级编程语言的特性 and 未来趋势与进化.doc 1 编程语言的发展历程 1 1.1 编程语言的进化,起始发现背后的思想 :不论什么两个系统之间的复杂性,都能够通过加入一个抽象层要屏蔽 ...
- Atitit 编程语言常用算法attilax总结
Atitit 编程语言常用算法attilax总结 1. 编译算法分类and 数据操作算法.1 1.1. Tab driver stat 状态转换表格算法1 1.2. Nest case 词法分析 ...
- Atitit 编程语言知识点tech tree v2 attilax大总结
Atitit 编程语言知识点tech tree v2 attilax大总结 大分类中分类小分类知识点原理与规范具体实现(javac#里面的实现phpjsdsl(自己实现其他语言实现 类与对象实现对象实 ...
- Atitit 编程语言原理与概论attilax总结 三大书籍总结
Atitit 编程语言原理与概论attilax总结 三大书籍总结 编程语言原理(第10版) 目录: 第1章 预备知识第2章 主要程序设计语言的发展第3章 描述语法和语义第4章 词法分析和语法分析第5章 ...
- Atitit 编程语言原理与概论attilax总结
Atitit 编程语言原理与概论attilax总结 1. 语言的分类1 2. 语言评价标准1 3. 编程语言原理(第10版) 目录: 2 4. 代码之髓:编程语言核心概念2 5. <编程语言实现 ...
- atitit.编程语言 程序语言 的 工具性 和 材料性 双重性 and 语言无关性 本质
atitit.编程语言 程序语言 的 工具性 和 材料性 双重性 and 语言无关性 本质 #---语言的 工具和材料双重性 有的人说语言是个工具,有的人说语言是个材料..实际上语言同时属于两个属性. ...
- Atitit.编程语言的主要的种类and趋势 逻辑式语言..函数式语言...命令式语言
Atitit.编程语言的主要的种类and趋势 逻辑式语言..函数式语言...命令式语言 1. 编程语言的主要的种类 逻辑式语言..函数式语言...命令式语言 1 2. 逻辑式语言,,不必考虑实现过程而 ...
- atitit.编程语言会形成进化树--哪些特性会繁荣??通才还是专才的选型 现代编程语言的特性总结
atitit.编程语言会形成进化树--哪些特性会繁荣??通才还是专才的选型 现代编程语言的特性总结 1. 有一种观点,编程语言就像物种,会形成进化树,有的分支会死掉. 多年之后,你觉得语言会演化成什 ...
随机推荐
- Gradle Android最新自动化编译脚本教程
转自:http://blog.csdn.net/changemyself/article/details/39927381 一.前言 Gradle 是以 Groovy 语言为基础,面向Java应用为主 ...
- 页游安全攻与防,SWF加密和隐藏密匙
原文链接:http://netsecurity.51cto.com/art/201211/364775.htm 页游,最最核心的就是客户端(swf)与服务端的游戏通信了.游戏通信产生的封包,内容是否可 ...
- whois协议
1.原理非常简单,域名的查询主要是基于RFC 954提供的WHOIS协议.在上述过程中,我们实际上是访问了InterNIC站点的WHOIS服务器,该服务器从WHOIS数据库中查询我们所需要的内容.WH ...
- 20.custom自定义线程池
自定义线程池 1.若Executors工厂类无法满足需求,可以自己使用工厂类创建线程池,底层都是使用了); ThreadPoolExecutor threadPoolExecutor = new Th ...
- mysql 索引长度的限制
myisam表,单列索引,最大长度不能超过 1000 bytes: innodb表,单列索引,最大长度不能超过 767 bytes: utf8 编码时 一个字符占三个字节 varchar 型能建 ...
- [多校2015.02.1006 高斯消元] hdu 5305 Friends
题意: 给你n个人m条关系 每条关系包括a,b 代表a和b能够是线上朋友也能够是线下朋友 然后保证每一个人的线上朋友数和线下朋友数相等 问你有多少种组成方法 思路: 官方题解是爆搜+剪枝,然而并不会写 ...
- public类型中internal成员
今天遇到一问题,找到下面的两篇文章,研究比较深入,特转了一下, 最近除了搞ASP.NET MVC之外,我也在思考一些编程实践方面的问题.昨天在回家路上,我忽然对一个问题产生了较为清晰的认识.或者说,原 ...
- 函数y=sin(1/x)曲线
该曲线在x趋近于零时振荡很剧烈,在远离零点时振荡越来越平缓. 图线: 代码: <!DOCTYPE html> <html lang="utf-8"> < ...
- Python写的简陋版一对一聊天工具,全双工
好该睡觉了,明天还要上班~~~直接上代码,后面再总结 import threading import os import socket def RecvProcess ( UDP_Socket, Lo ...
- Android之GPS定位详解
一.LocationManager LocationMangager,位置管理器.要想操作定位相关设备,必须先定义个LocationManager.我们可以通过如下代码创建LocationManger ...