主页 > 知识库 > 网页基础 > Javascript/Ajax >
栏目列表

重思JavaScript的好与坏

来源:中国IT实验室 作者:佚名 发表于:2012-12-27 13:14  点击:
一个只花了10天就开发完成的脚本语言,自从诞生开始,就一直成为人们争论的焦点。尽管这样,它在编程语言中地位仍然无法动摇,全世界有几百万学习者和粉丝。而本文的作者认为JavaScript设计之匆忙,初衷仅仅实现简单的网页互动,JavaScript继承完全缺乏设计指
一个只花了10天就开发完成的脚本语言,自从诞生开始,就一直成为人们争论的焦点。尽管这样,它在编程语言中地位仍然无法动摇,全世界有几百万学习者和粉丝。而本文的作者认为JavaScript设计之匆忙,初衷仅仅实现简单的网页互动,JavaScript继承完全缺乏设计指导等,所以他认为JavaScript仍然较差。  最近,我和许多程序员一样,对JavaScript进行重新探讨。事实上,JavaScript是一个非常有能力的语言,但使用新 JavaScript一年后,我得出的结论却是JavaScript仍然很烂。我并不是在讨论其古怪的比较运算。而是从更深的层次去思考。与此同时,还会 提供一些解决方案供你选择。
  直奔主题
  13岁时,父亲送给我第一本编程书籍--JavaScript初学者编程。让我兴奋的是,我发现电脑并不单单是由电线和发条所组成,里面的代码清晰明了。我觉得我基本上理解它了,实际上也差不多。终究,代码除了人类理性思想的形式化还能是什么?
  说实话,我当时希望遇到的是Java,我甚至在谷歌上搜索:"JavaScript和Java是同一种语言吗?"当然不是。所以Java成为了 我学习的第二门语言,不过我母亲和继父不希望在家庭电脑里安装软件,所以我无法安装Java编译器。我清晰地记得,在把代码上传到一个在线编译器之前,得 反复检查代码,然后等待、下载jar包……
  我当时认为,JavaScript是一个非常严肃的语言。在Notepad里新建一个HTML文件,然后在IE里打开,就这样开始了。没有类、没有私有和公有方法,没有final变量。当时,我甚至不知道什么叫"过度设计",但它准确地描述了我印象中的Java:
  ● 无需编译
  ● 无处不在的开发平台
  ● 没有高级语言特性
  ● 查看源文件
  为什么这么伟大的语言还会讨人厌?
  Ad-hoc地狱
  下面是一些问题:设计之匆忙、初衷仅仅实现简单的网页互动、JavaScript继承完全缺乏设计指导,一切都是ad-hoc:
  1、没有OOP:JavaScript确实存在基本的对象模型,但几乎无人知道它是如何工作的。
  2、没有标准库:从论坛上复制粘贴代码不好玩。
  3、没有模块系统:不断查找下载链接和很长的源文件。
  4、缺乏语言资源:没有高品质的资源(几乎没有一本像样的书籍)意味着你只能从论坛或博客上获得一些非官方的参考。
  既然JavaScript有这么多缺陷,到底是什么让它如此流行?
  复兴
  JavaScript崛起的背后可能与谷歌V8引擎息息相关。JavaScript突然变得很快,真正地快速。所以人们开始硬着头皮使用它来编写Web应用程序。
  然而,Node.js推出了一些更吸引人的基准,允许代码在客户端和服务器端重用,很像Meteor和Derby.因此,情况开始好转:
  1、下载按钮变得更大
  2、Node.js kind of sort of standardized an import system
  3、人们可以编写更好的库
  4、优秀的资源开始出现
  然而:
  1、仍然没有采用OOP
  2、客户端和服务端的JavaScript仍然没有关联
  3、文档甚至是高知名度项目文档也很糟糕
  为什么?
  我认为现代JavaScript仍然较烂的根源是其处在一个特定的社区氛围中,该氛围一直强调:JavaScript是一门非常好的语言,但却 一直被人误解。不,JavaScript只是一个提早诞生且没有先例可循的语言。停止包庇并且开始把JavaScript作为一个平台去拥抱,作为一个编 译目标。
  文档
  人们可以尽情嘲笑Java,但当我看Java文档时,我可以非常明确地知道哪个对象可以创建、每个方法里的参数、需要抛出的异常等。最好的事情 莫过于使用JavaScript库作为精选示例代码。这几乎是不可能写出正确的软件,除非你阅读库源码。甚至连如此完整的JavaScript项目 Express也存在令人生厌的API文档(Ember他们那些非常优秀的API文档可能是反例)。

有帮助
(1)
100%
没帮助
(0)
0%