保罗·格雷厄姆(Paul Graham),《 Java与黑客编程语言》(2001)

图片

本文是与有偏见的Java主题的几个开发人员进行对话的开发。 这不是对Java的批评,而是“黑客雷达”的一个明显例子。

随着时间的流逝,黑客逐渐发展出对技术的了解。 我想尝试解释Java对我而言似乎令人怀疑的原因可能很有趣。

读过它的人认为这是一次值得注意的尝试,它可以写一些以前没有写过的东西。 其他人警告说,我在写一些我什么都不懂的东西。 因此,以防万一,我想澄清的是,我写的不是关于Java(我从未使用过),而是关于“黑客雷达”(我考虑了很多)。


在用空白硬纸板封面出售书籍时,出现了“不要以封面来判断书籍”的表达方式,这是买方愿意的。 在那些日子里,您无法通过书的封面谈论这本书。 但是,自那时以来,出版业取得了长足的进步,现代出版商也付出了很多努力,以便封面可以说很多话。

我在书店里度过了很多时间,我想我学会了理解出版商想要告诉我的一切,也许还有其他东西。 我大部分时间是在书店外面度过的,而我则是在计算机屏幕前度过的,我相信我在某种程度上学会了如何通过封面来判断技术。 这可能是个不幸,但我设法避免了一些事实证明确实很糟糕的技术。

这些技术之一对我来说就是Java。 我没有用Java编写任何程序,我只对文档进行了肤浅的研究,但是我感到她注定不会成为一门非常成功的语言。 我可能是错的-对技术进行预测是一件危险的事情。 但是,这种时代的一种证明就是为什么我不喜欢Java:

  1. 热情过高。 这些标准不是强制性的。 没有人试图推广C,Unix或HTML。 真正的标准早在大多数人听说之前就已设定。 在黑客的关注下,Perl的外观不亚于Java。
  2. Java标签较低。 在最初的Java描述中,Gosling明确表示Java是为了不习惯C的程序员而创建的。 它被设计为下一个C ++:C,并从更高级的语言中借鉴了一些想法。 作为情景喜剧,快餐或旅游的创造者,Java的创造者有意为不那么聪明的人们开发了一种产品。 从历史上看,开发供其他人使用的语言是不成功的:Kobol,PL / 1,Pascal,Ada,C ++。 然而,成功的是创造者为自己开发的那些:C,Perl,Smalltalk和Lisp。
  3. 隐藏的动机。 有人曾经说过,如果人们只在有话要说的时候才写书,而不是在想写书的时候才写书,那么这个世界将会变得更美好。 同样,我们一直听到有关Java的原因并不是因为他们试图告诉我们有关编程语言的信息。 我们听说Java是Sun微软竞争计划的一部分。
  4. 没有人爱她。 C,Perl,Python,Smalltalk或Lisp程序员喜欢他们的语言。 我从未听说过有人宣称对Java的热爱。
  5. 人们被迫使用它。 我认识并使用Java的许多人都按需做。 他们认为这将使他们能够获得融资,或者他们认为客户会喜欢它,或者这是管理层的决定。 这些都是聪明人。 如果技术很好,他们会自愿使用它。
  6. 这是许多厨师的菜。 最好的编程语言是由小型团队开发的。 Java由一个委员会管理。 如果事实证明这是一种成功的语言,这将是委员会历史上首次创建这种语言。
  7. 她是官僚。 根据我对Java的了解,似乎有很多协议可以用来执行某些操作。 真正好的语言不是那样的。 它们允许您做任何事情,并且不会妨碍您。
  8. 人为的感觉。 现在,Sun试图假装Java是社区驱动的,它是一个开源项目,例如Perl或Python。 但是,开发是由一家大型公司控制的。 因此,这种语言冒着像从大公司的肠子里冒出来的东西一样沉闷的危险。
  9. 它是为大型组织设计的。 大公司对黑客有不同的目标。 公司需要被认为适合于大型中型程序员团队的语言。 具有U-Haul卡车上的限速器之类的功能的语言,警告傻瓜不要造成太大的伤害。 黑客不喜欢会说低俗的语言。 黑客需要力量。 从历史上看,为大型组织(PL / 1,Ada)创建的语言丢失了,而由黑客(C,Perl)创建的语言赢得了。 原因:今天的青少年黑客是明天的CTO。
  10. 像她这样的人错了。 我最敬佩的程序员通常并不热衷于Java。 她喜欢谁? 服装,那些看不见语言差异的人,但不断在媒体上听到有关Java的知识; 大公司的程序员,被发现甚至比C ++更好的东西所吸引; 杂食性的本科生会喜欢使他们能够找到工作(或即将参加考试)的一切。 这些人的意见随风的方向而变化。
  11. 她父母很难受。 Sun商业模式受到两个方面的攻击。 台式计算机中使用的廉价英特尔处理器已经足够快地用于服务器。 FreeBSD似乎在服务器操作系统方面与Solaris一样好。 在您的广告中,Sun表示您将需要用于工业应用的Sun服务器。 如果这是真的,雅虎将是第一个排队购买Sun的公司。 但是当我在那里工作时,在那里使用了Intel和FreeBSD上的服务器。 这为Sun带来了光明的未来。 如果Sun崩溃了,我可以将麻烦归咎于Java。
  12. 国防部之爱。 国防部鼓励开发人员使用Java。 看起来这是最糟糕的迹象。 国防部为保护国家开展了出色的(尽管不便宜)工作;他们喜欢计划,程序和协议。 他们的文化与黑客完全相反。 在软件方面,他们往往下错了赌注。 国防部最喜欢的最后一种编程语言是Ada。

请记住,这不是对Java的批评,而是对Java封面的批评。 我对Java的了解不深,无法喜欢或不喜欢它。 我只是试图解释为什么我不尝试学习Java。

放弃语言而无需尝试对其进行编程可能看起来很匆忙。 但这是所有程序员必须要做的。 有太多的技术无法学习所有技术。 您必须学会根据外部迹象判断是否值得您花费时间。 出于同样的仓促,我放弃了Cobol,Ada,Visual Basic,IBM AS400,VRML,ISO 9000,SET,VMS,Novell Netware和CORBA等。 他们只是不喜欢它。

也许在Java的情况下我弄错了。 也许由一家大公司为了与另一家公司对抗而推广的语言,是由委员会为大多数人开发的,大肆宣传,并受到国防部的喜爱,但事实证明这是一种简洁,美观而强大的语言,我很乐意编程。 可能吧 但这是非常值得怀疑的。

感谢您的翻译:Denis Mitropolsky

聚苯乙烯


Source: https://habr.com/ru/post/zh-CN484244/


All Articles