|
本帖最后由 hanguokai 于 2013-1-7 16:04 编辑
前些天有一篇对 JavaScript 大师 Douglas Crockford 的采访文章,谈了很多方面。以下是其中的一些主要观点(下文的“我”代表 Douglas)。
关于 JavaScript
JavaScript 已经成为一本很重要的语言,但也常被人误解(由于它的历史和它的名字),用好它需要一些信息指导。
关于CoffeeScript
我很喜欢 CoffeeScript 的语法,它漂亮、优雅、精简。我希望 JavaScript 更像 CoffeeScript 这样工作。
CoffeeScript 的优势主要是语法比较方便,但没什么是 CoffeeScript 能做而 JavaScript 不能做的。
但是我不建议把 CoffeeScript 用在生产环境中,因为它还处于试验阶段。
关于Dart
我不清楚,你应该去问 Google 的人,问我没有意义。JavaScript 语言有许多问题,它不应该是最后的语言。
编程语言是程序员最重要的工具,我鼓励人们在新语言中做各种尝试。我不清楚 Google 在做些什么,不过我很高兴看到这些实验。Dart 是一种尝试,Google这么做值得肯定。但它不太可能取代 JavaScript。
整体上说 Douglas 对新语言还是比较欢迎的。
关于 jQuery
我认为 DOM 是我能想到的最糟糕的 API 设计之一,而 jQuery 很不错,在 DOM 基础上发挥出了 JavaScript 这种强大语言本该做好的事情。
另外,YUI 也非常不错,我建议所有人都应该使用这些库,这样会更轻松、更有生产力,而不是直接使用难用的 DOM 。
关于不同的 JavaScript 引擎
虽然有很多不同的 JavaScript 引擎实现,但我并不太关心这些。在我看来 JavaScript 是非常可移植的语言,各个引擎之间的实现没有太大差异,都不错,也包括 IE。
Server 端的 JavaScript
JavaScript 当然可以用于 Server 端。因为 JavaScript 是一门很好的语言(一旦你理解了),如果把它用于 Server 端,那么你只需要掌握好一门语言即可。
另外,同样的代码可以同时运行在网络的两端,这带来了很大的灵活性。
把 Web 技术带到浏览器之外及安全问题
Windows 8 把 Web开发带到了桌面上,这种方式好吗?回答:可能吧。
但 JavaScript 在这些环境下有一些限制,比如不能使用摄像头。这些限制对吗?
回答:是的,JavaScript 还没有一个适合各种平台的安全模型,和用户关联越紧这个问题就越大,比如它可能背着你偷偷做一些事情。
不过,其它平台那种“责备受害者”(blame the victim)的安全模型也不能令人满意,让用户回答他可能不理解或不能正确回答的问题,然后如果出了问题就怪用户,谁让他选择了同意。这种不是安全模式,这样很蠢!在Web上不会这样问你,直接用就好,这对应用的分发也有好处。浏览器做了一些安全限制,这样刚好够用。相反,Web中的其它各种尝试都失败了。但是换个环境的话要考虑如何聪明地减少这些限制,这方面才刚刚开始。
移动的未来是 Web 吗?
看起来是,但还不确定。App stores 是另一种使用Web的形式,不过它涉及各种限制和垄断。我认为最终开放的形式会获胜,人们会从自由的应用分发系统中获益。
关于 FirefoxOS
看起来 Webkit 很适合移动领域,Mozilla做的不错,Webkit也做的不错,我希望保存这种竞争的环境,我不希望只有一个胜利者。
关于浏览器引擎,WebKit 会成为下一个IE6吗?
Web 环境的一个特点是它由许多不同的公司组成,而不是只由某家公司说了算。未来只会更多而不会减少。
开发者不得不面对Web平台上的不同实现。而 W3C 标准制定的很不充分,这使得开发者更加困难。
但是我不会因此就认为只有一个平台更好,保持平台的多样性会更健康。
关于JSLint
JSLint是 JavaScript 代码质量检查工具,作者就是 Douglas 本人。Douglas 说 JSLint 在 JavaScript 方面比我聪明也比你聪明,所以应该遵循它给你的建议,这是有帮助的。
|
|