首页
社区
课程
招聘
[讨论]谷歌高管称Java和C++太复杂 推崇自家语言Go
发表于: 2010-7-26 17:41 2441

[讨论]谷歌高管称Java和C++太复杂 推崇自家语言Go

2010-7-26 17:41
2441
谷歌高管Rob Pike 在OSCON 开源大会上打开了简化式编程语言新议题 今天的商业级编程语言--尤其是C++和Java--太过复杂而不能与今日计算环境充分相容。谷歌资深工程师Rob Pike 在周四于O'Reilly开源大会上的一次谈话中发表了以上论点。

  “我觉得这些语言太难用了,太精细,太复杂,太冗长。而且这些缺点似乎在与日俱增,”Pike说,“它们被过度接受,被用得太广了。”

  Pike详细说明了此类语言的缺点,以此展开描述了他和其它谷歌工程师对所开发的名叫Go的新编程语言所持的期望。

  为了证实此类语言的复杂性,Pike展示了一些C++代码示例。其中一例是一个几乎占据了屏幕整行的变量声明。

  “我们怎么能让这种东西成为在学校里教、在产业里被使用的操控计算机的标准方式?”他问道。这种语言“太官僚了(制度化)。每一步都必须要考虑编译是否可通过”,他说。

  尽管Pike承认他自己有点爱开玩笑,他声明说此类问题确实应该被提及。C++出现是因为人们对使用低级语言C绝望,Java出现是为了简化C++。随着时间的推移,新的特性都加在了新出现的二者之上,使它们越来越复杂了。

  “成熟(复杂)会带来噪音(不可预知不被期望的错误)”,他补充说。

  Pike还说,此类语言还是在多核处理器和网络被广泛应用等大的事物出现之前被开发出来的,因此它们不能简单地与这些新环境相容。

  Pike并不是谷歌唯一一个表达对传统商业级编程语言不满的人。

  在上个月的USENIX 年度会议上,Gmail工程师Adam de Boor 出语惊动了与会者。他说,公司的Gmail服务完全是由JavaScript写的,总代码全长443,000行,全部手写。

  他指出,尽管Java更具有表达性,它也更加繁琐。“在这个节骨点上,对我来说所使用语言的选择问题是一个大问题,”de Boor说。

  JavaScript是为避免C++和Java不断增长的复杂性,而在过去十年里被开发出来的一批语言中的一支。其它支还包括Ruby和Python。但是尽管有了一个简化了的语法,这类语言也同样有它的弱点,他论证道。

  这类新语言要慢一些,伸缩性较差,还隐藏了更多的错误,Pike详尽地描述道。

  这类语言多为解释型而非编译型,它意味着用这类语言写的程序在运行前是没被编译过的,因此运行的缓慢得多。它们也倾向于使用动态数据类型,即程序员无需定义他们变量所属的数据类型。

  “动态数据类型并不见得好。本来你可以在编译时找出的错误的,它(动态数据类型)让你只能在运行时找出错误,”他说。

  借着这些观点,Pike接下来描述了作为融合两类语言集各自优点的一个大胆尝试--Go语言。“Go是把静态数据类型语言的安全与效率和动态数据类型解释型语言的方便与轻松结合起来的一个尝试,”他说,“它到底能做多少,还得你亲自去尝试了才知道。”

  与会人员Larry Augustin, 客户关系管理软件提供商SugarCRM的CEO对Pike所指出的C++和Java变得太复杂了的观点表示赞同,尽管他也说这是在一切为应对广泛应用需求而发展的语言身上所发生着(了)的。

  “这些语言在复杂度上增长的原因是,它们用得越多,我们就会发现越多的错误和二义性,然后为消除这些错误和二义性而做的工作又创造出了一些更复杂的东西出来,”具有软件工程和程序语言设计背景的Augustin这么说。

  “我很欣赏你们的目标,”他谈及Pike等人的努力时这么说。“问题是他能否达成那一目标,抑或是在被越来越多人用之后,它也会变得很复杂,”Augustin说。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 1334
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
Go语言 或许不错,不过我更愿意 加一个词来用它
Go away!
2010-7-26 18:55
0
雪    币: 4580
活跃值: (992)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
记得有本书的作者说过程序员最大的成就就是木有创建一门新的语言
2010-7-26 20:38
0
雪    币: 401
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
C++和Java确实是越来越繁琐了,一直在增加一些方便却累赘的特性,使它们越来越复杂,让人越来越厌烦,以前我是C++的拥护者,但是慢慢地就改用C了。至于Go,我连一句Go代码都没看过。
2010-7-27 21:59
0
雪    币: 118
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
难道未来Go会通知?
2010-8-1 20:28
0
雪    币: 364
活跃值: (91)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
就是要有创新精神,什么时候搞出自然语言编程就牛了。
2010-8-1 21:18
0
雪    币: 684
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这只是一家之言了啊
2010-8-3 09:55
0
雪    币: 155
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
等出一本Go的书然后就可以成为一种新语言了
2010-8-21 11:57
0
雪    币: 11
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
王婆卖瓜 自卖自夸
2010-8-22 14:44
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
语言还是越简单越好,复杂了,就只能专家研究了,大众一点儿,大家都会,那才实用。
2010-9-5 14:06
0
雪    币: 34
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
c++,java蛋疼的语言...
2010-9-5 15:20
0
雪    币: 101
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
对啊  特别是MFC这类的IDE
2010-9-7 20:42
0
游客
登录 | 注册 方可回帖
返回
//