我的朋友曾对一位著名的操作系统专家说他想要设计一种真正优秀的编程语言。那位专家回答,这是浪费时间,优秀的语言不一定会被市场接受,很可能无人使用,因为语言的流行不取决于它本身。至少,那位专家设计的语言就遭遇到了这种情况。
那么,语言的流行到底取决于什么因素呢?流行的语言是否真的值得流行呢?还有必要尝试设计一种更好的语言吗?如果有必要的话,怎样才能做到这一点呢?
为了找到这些问题的答案,我想我们可以观察黑客,了解他们使用什么语言。编程语言本来就是为了满足黑客的需要而产生的,当且仅当黑客喜欢一种语言时,这种语言才能成为合格的编程语言,而不是被当作“指称语义”(denotational semantics)或者编译器设计。
流行的秘诀
没错,大多数人选择某一种编程语言,不是因为这种语言有什么独特的特点,而是因为听说其他人使用这种语言。但是我认为,外界因素对于编程语言的流行其实没有想象中那么大的影响力。我倒是觉得,问题出在对于什么是优秀编程语言,黑客的看法与大多数的语言设计者不一样。
大多数程序员也许无法分辨语言的好坏。但是,这不代表优秀的编程语言会被埋没,专家级黑客一眼就能认出它们,并且会拿来使用。虽然他们人数很少,但就是这样一小群人写出了人类所有优秀软件。他们有着巨大的影响力,他们使用什么语言,其他程序员往往就会跟着使用。老实说,很多时候这种影响力更像是一种命令,对于其他程序员来说,专家级黑客就像自己的老板或导师,他们说哪种语言好用,自己就会乖乖地跟进。
专家级黑客的看法不是决定一种语言流行程度的唯一因素,某些古老的软件(Fortran和Cobol的情况)和铺天盖地的广告宣传(Ada和Java的情况)也会起到作用。但是,我认为从长期来看,专家级黑客的看法是最重要的因素
即使不考虑语言本身的优秀是否能带动流行,我想单单流行本身就肯定会使得这种语言变得更好,只有流行才会让它保持优秀。编程语言的更高境界一直在发展之中。虽然语言的核心功能就像大海的深处,很少有变化,但是函数库和开发环境之类的东西就像大海的表面,一直在汹涌澎湃。
外部因素会影响到语言的流行。一种语言必须是某一个流行的计算机系统的脚本语言(scripting language),才会变得流行。Fortran和Cobol是早期IBM大型机的脚本语言。C是Unix的脚本语言,后来的Perl和Python也是如此。Tcl是Tk的脚本语言,Visual Basic是Windows的脚本语言,(某种形式的)Lisp是Emacs的脚本语言,PHP是 *** 服务器的脚本语言,Java和JavaScript是浏览器的脚本语言。
如果一种编程语言只有语法规则,没有一个好的实现(implementation),那么它就不能算完整的编程语言。这些都是很正常很合理的事情,编程语言本来就该如此。
当然,编程语言本来就需要一个好的实现,而且这个实现必须是免费的。商业公司愿意出钱购买软件,但是黑客作为个人不会愿意这样做,而你想让一种语言成功,恰恰就是需要吸引黑客。
编程语言还需要有一本介绍它的书。这本书应该不厚,文笔流畅,而且包含大量优秀的范例。布赖恩 · 柯尼汉和丹尼斯 · 里奇合写的《C程序设计语言》(C Programming Language)就是这方面的典范
编程语言还应该有在线文档。事实上,在线文档可以当作一本书来写,但是目前它还无法取代实体书。实体书并没有过时,它们读起来很方便,而且出版社对书籍内容的审核是一种很有用的质量保证机制(虽然做得很不完美)。书店则是程序员发现和学习新语言的最重要的场所之一
假定你的语言已经能够满足上面三项条件——一种免费的实现,一本相关书籍,以及语言所依附的计算机系统——那么还需要做什么才能使得黑客喜欢上你的语言?
黑客欣赏的一个特点就是简洁。黑客都是懒人,他们同数学家和现代主义建筑师一样,痛恨任何冗余的东西或事情。
不要觉得为用户着想就是让他们使用像英语一样又长又啰嗦的语法。这是不正确的做法,Cobol就是因为这个毛病而声名狼藉。如果你让黑客像下面这样求和:
旅行,是很多人的梦想,差的只是时间和Money。但是也有人说,没有时间、没有钱这些都是为自己的懒找借口,你真的想做,时间挤挤还是有的,钱也是可以挣到的。 MindMaster思维导图软件 可是...
本文目录一览: 1、如何看待台湾黑客攻击内地游戏导致弈剑行,战舰少女,影之刃 3,姬魔恋战纪等游戏服务器波动及永久关闭? 2、台积电台湾三大基地被曝遭勒索病毒入侵对其有何影响? 3、麦当劳在韩...
一、这个世界本就邋遢,所以没有什么可怕。每个人都有无法发泄的苦涩,都有无力排解的抑郁,而生活在这里的我们,哪一个不是拼尽全力,甚至不择手段地活着。 二、别人都在你看不到的地方暗自努力,在你看得到的地...
赚钱小软件有什么靠谱(较为良知的赚钱的软件)做为一个中重度手机上网络成瘾青年人一直想怎样能盘玩手机上做为一个增收方式,今日头条搜过一下试了3个App。话不多说共享一下第一个五八同城,公布一切內容或...
新华社北京12月9日电(记者于文静)据农业农村部9日消息,随着国家和地方一系列恢复生猪生产政策措施落实,近期生猪生产出现转折性积极变化,生猪存栏和能繁母猪存栏双双探底回升,其中11月份生猪存栏环比增长...
裸露的数据信息包括2300万个电子邮件具体地址、姓名、住址、联系方式。更情况严重的是,顾客用户名和密码也是遇害数据信息之一。在2300万遭到攻击的顾客中,大约有一半的用户名和密码运用base64...