华彩软件站-绿色软件下载站!

编程语言与创业公司是什么关系?编程语言并非那么简单并非那么简单

  编程语言会塑造这门语言使用者的思维方式,这有助于解释科技创业公司的运行方式,以及它们能重新发明自己的原因。


  当日本计算机科学家松本行弘决定创造 Ruby 时,他正在追逐 Samuel R. Delany  1966年创作的科幻小说《巴别 17 语》(Babel-17)中的一个想法。这部小说的核心是一种与书名同名的人工语言,可以让所有说这种语言的人的思想升级。小说里的主角曾说过:“巴别 17 语是一门非常精确的分析语言,几乎能确保让你掌握任何情况的技术细节。”松本行弘想要通过 Ruby实现同样的事:重新改造并提高程序员的思维方式。



  PHPFacebook


  这听起来很宏伟,但松本行弘的想法并不少见。软件开发者们倾向于认为,编程语言能改变使用者思考问题的方式,甚至会改变使用者想要去解决的问题。这也是他们扩大公司、产品以及同事人数的方法:“你用什么语言?


  这能帮助外部人士理解已经变得极其强大和有价值的软件公司,以及充斥我们生活的产品和服务。哪怕是这些公司最内部的决定,比如用 Ruby  PHP  C 打造了某个新产品,这个决定都能一下子影响到所有人。如果你想知道 Facebook 给人以现在这种印象和工作方式的原因,以及 Facebook 能为/对我们做什么,你就需要了解 PHP,这门马克·扎克伯格创建 Facebook 所使用的语言。


  PHP 可能是最不受程序员尊重的编程语言。一篇目前已经成为权威的博文在描述 PHP 的缺陷时称, PHP 是“支离破碎的糟糕设计”,愿意使用 PHP 的人都被视为外行。知名编程问答网站 Stack Overflow 联合创始人 Jeff Atwood 表示道:“那些聪明的工程师们加入 Facebook,却在 Windows XP 上编写 PHP 代码,这已然成迷。说他们是黑客简直是在侮辱黑客这个词。”在不到 10 分钟的谈话里,Atwood  PHP 是“拖沓的怪物”,“瘟疫”和一间住户必须爱上鬼的鬼屋。


  大多数成功的编程语言都有全局哲学或系列指导原则,以便将编程语言的词汇表和语法组织成一个合乎逻辑的整体。PHP 则不然。PHP 的创造者 Rasmus Lerdorf 坦承,PHP 是他胡乱拼凑而成。他在 2003 年的一次采访中说道:“我不知道该如何阻止它。我根本不知道该怎么编写一门编程语言,在我觉得需要时,就往里面加东西。”


  程序员们最喜欢举的一个例子是 PHP  mysql_escape_string 函数,这个函数可以在恶意输入查询进入数据库之前将它排除掉。当这个功能被发现有问题时,出现了一个名为mysql_real_escape_string 的新函数,但原来的那个函数并没有得到替换。结果就像是飞机驾驶舱里有两个很像的按钮靠在一起:一个按钮可以放下起落架,另一个按钮则可以安全地放下起落架。这根本不合常理,是制造灾难的温床。


  然而,尽管对 PHP 的轻视普遍存在,但很多网站都是用 PHP 创建的。根据一项估计,有39% 的网站使用了 PHP 语言。Facebook、维基百科、WordPress 都是 PHP 项目。这是因为尽管 PHP 有很多缺陷,但它却很容易用在项目的起步阶段。PHP 是“personal home page(个人主页)的缩写。用户可以很方便地使用 PHP 向静态 HTML 页面中添加日期、用户名等动态内容。PHP 极大地缩小了修改网站和编写网络应用之间的差距,你不必成为专家。


  运营维基百科的维基媒体基金会首席软件工程师 Ori Livneh 表示,这种一路走来的特性对维基百科的成功至关重要。他告诉我:“我一直都讨厌 PHP。”由于对 PHP 的依赖,维基百科饱受大规模设计缺陷的困扰。但 PHP 可以让非软件工程师为维基百科贡献新功能。埃及古物学的维基百科条目可以显示象形文字就得益于此。


  你不可能用 PHP 做出来谷歌,因为谷歌需要进行精心设计,让搜索可以快速高效地进行。谷歌使用了更精确和强大的语言,比如 Java  C++。相反,Facebook 由众多小试验组成,是一个由按钮、消息流和试图引起你关注的元素组成的大杂烩。PHP 天生是用来快速开发出功能的。


  几乎可以想象,在 Facebook 诞生的那个命运之日,扎克伯格在他的哈佛宿舍里肯定是想尽可能地省事,好让网站上线。网络变化的太快,用户如此善变,你能抓住机会的唯一方法就是成为第一个,而无论做出了什么东西。扎克伯格完工了。人们能用 Facebook。扎克伯格当时想的不是漂亮的代码;他在想的是他的朋友们要登录“Thefacebook”看美女照片。


  如今 Facebook 的市值超过 2000 亿美元,“完成比完美重要”、“快速行动,打破成规”的标语遍布在 Facebook 办公室的墙上。这些直率的消息是为了让员工们与 Facebook的“黑客”文化保持一致。但这些都是 PHP 的价值观。快速行动和打破成规就是 PHP 的精髓,任何“说”这一语言的人都会不可避免地这么想。也可以说,PHP 创造并维系了 Facebook 的文化。


  秘密武器


  如果你想要寻找 PHP 的反例,金融交易公司 Jane Street Capital 就是最好不过的例子了。这家 400 人的公司号称处理了全美日股票交易量的 2%


  Jane Street 的技术负责人 Yaron Minsky 十分推崇一门名为 OCaml 的冷门编程语言。10年前,身为计算机科学博士的 Minsky 说服了 Jane Street Capital  OCaml 重写公司的整个交易系统。在此之前,几乎没有人在实际产品中用过 OCamlOCaml 由一家法国研究机构的学者们开发,旨在改进一个能自动证明数学定理的计算机系统。但 Minsky 认为 OCaml 能取代驱动Jane Street 交易系统的复杂 Excel 电子表格。


  OCaml 的大卖点是其“类型系统”,对于不符合类型的数据,程序不会运行。对于一个在行情好的日子里每天能交易 300 亿美元的程序而言,用类型系统编写的程序要可靠得多。


  Minsky 表示,通过捕获错误,OCaml 的类型系统可以让 Jane Street 的程序员专注于更大的问题。程序员们会想,他们是否修复了系统捕获的错误,这样 OCaml 就成了一种让人不可能思考糟糕想法的新语。


  这里的诀窍是,为了让类型检查器奏效,程序员们必须给代码添加复杂的注释。编写对类型进行限制的代码很讨厌,甚至会让人丧气。更糟糕的是,OCaml 需要高深的抽象数学能力。但这种语言的精确性却牢牢地吸引了一些人,这让 Jane Street 在紧俏的程序员招聘市场中具备非同寻常的优势。尽管使用 PHP 作为开发语言,大部分软件开发者还是会选择加入 Facebook 和维基百科。但 OCaml 却能稳定地吸引到高质量的求职者。这种吸引不仅源自语言,还和使用它的人有关。

标签:编程语言

最新评论

返回顶部