九天雁翎的博客
如果你想在软件业获得成功,就使用你知道的最强大的语言,用它解决你知道的最难的问题,并且等待竞争对手的经理做出自甘平庸的选择。 -- Paul Graham

不远的将来 程序语言是怎样的

write by 九天雁翎(JTianLing) -- www.jtianling.com

讨论新闻组及文件

其实很久就看到Bruce Eckel的文章了《Programming in the Mid-Future》,原文发表于2010-3-10日.作为一个经常被自己无聊的求知欲所控制的程序员,我利用工作或者业余时间学习了N多种语言,也常常在想,到底怎么样的语言才是我们需要的,真的想要的,是能让(绝)大部分程序员所能接受的,公认的好语言,而不是一提到某某语言,就必定引发一场无休止的口水战呢?
Bruce Eckel提出了一些他的看法,虽然他不仅讲述了关于程序语言的内容,而是涵盖了程序设计的各个方面,但是,很显然,程序设计再多方面,主要的内容还是在程序设计语言上面. 在这里,大牛面前,我发表太多言论就类似班门弄斧了,这里先摘录一下原文的小标题及核心内容.
在Bruce Eckel心中,不远的将来 程序语言是这样的:

1.极端动态(Extremely dynamic)

有越来越多的问题是静态语言解决不了的,所以,程序语言将向越来越动态的方向发展.

2.极其简单的并行(Stupidly parallel objects)

对象将管理他们自己的进程,就算不知道啥叫并行编程,也能无误的使用.

3.无盘持久化环境(Persistent diskless environment)

你将创建对象并随时使用它们,而不用关心它们在哪里,对象将在必要的时候包含必要的数据.

4.本地开发和云部署开发一致(Transparency between local and cloud)

程序员将不用考虑这些问题,它们将自动化.

5.自动覆盖测试(Swarm testing)

将来的测试要更快,更周密,更自动化,为测试所写的代码也要少的多.

6.代码安全测试(Security via suspicious systems)

将来的测试不仅包含现在普通意义上的测试,逻辑测试,安全测试也将存在.

7.以查询为基础的数据模型(Query-based data)

将来查询数据库就像使用Google一样简单............

8.更大尺度上的复用(Reusability on a vast scale)

未来的对象交互会以'组件'为基础,组件间的接口将是通用的,向一个系统中添加一个新的组件将非常容易.

9.简单的系统集成(Effortless System Integration)

你可以自由选择单独使用一个程序/组件,或使用由这些程序构成的更大的系统.

10.可复用的用户界面元素(Reusable UIs)

用户界面的元素将分类存储,并且获取和显示数据,大部分时间,我们选择并粘贴它们到系统中就能添加某个功能.

11.简单的效率伸缩性(Effortlessly Scalable)

一个程序在无论在多大规模下使用都不需要进行更改.

12.内建的可进化性(Built-in Evolvability)

无论向多大规模的程序中添加新特性,都是一样的简单.

原创文章作者保留版权 转载请注明原作者 并给出链接

write by 九天雁翎(JTianLing) -- www.jtianling.com

分类:  随笔 
标签: 

Posted By 九天雁翎 at 九天雁翎的博客 on 2010年03月27日

前一篇: 在Google Doc不可用的时候,见识了Google的18国语言道歉, 力压苹果5国 后一篇: 寻找最佳的数据存储方式