是否是JavaScript语言的差错? java程序员

 是否是JavaScript语言的差错?
规范化像是在一种唯一语言的浏览器的篮子里投入许多鸡蛋。


尼尔・ McAllister

2008年8月21日


越多我听说持续的努力校正主导的网标准,说服我是我们接近基于Web应用程序正确的方式。


最新的吵闹介入ECMAScript,形成JavaScript语言的依据的国际标准。 上星期,负责语言的委员会投票放弃提出的ECMAScript 4标准倾向于一个较不雄心勃勃的修正,取绰号的ECMAScript 3.1。


安排工作继续,它将带来大变动。 “Programming 'in the large'是untyped语言的一个问题象JavaScript”, Adobe的爱德Rowe今年初告诉了我。 “所以Adobe运作与[ECMA]在ECMAScript 4…介绍是与大规模应用兼容的概念”。


但是,当大规模应用开发也许听起来好对Adobe时,保证它不会为大家工作。 传统系统编程语言的历史是足够证据的。


对于每位有条不紊,被磨练的Java程序员有宁可由耳朵会演奏一切的Perl黑客。 强类型,包裹和namespaces也许使它很更加容易维护大应用,但是他们是实际上无用的对想要打击一点UI的所有网编码人。


实际上,是由委员会设计的一种多用途编程语言的概念是可疑的。 一次前面,一束非常聪明的人民聚会写什么的规格应该是最后编程语言。 它是安全,健壮的,和,因此规范化什么都未留下给解释。 记住Ada ? 否? 那是大概,因为,一旦规格变得可利用,语言是那么严密和坚定那多数伙计首选编码在C。


因此,如果没人设法产生系统编程,什么的最后,完善的语言使我们认为我们能做它网的? 如果有任何越多我们谈论大规模Web应用程序,我们不应该越多认为唯一样式编程将适合每个工作。


我是模型看法控制器设计样式的一台大迷。 它不为一切很好运作,但是它在应用设计过程中可能经常提供无价的教导。 简言之,它的核心原则之一是分离看法 -- 数据的介绍 -- 从数据(模型)和操作它的部下的逻辑(控制器)。


那么这想法: 您的浏览器窗口是看法。 可能它是我们停止设法强迫它是控制器的高时间。


自尚早网浏览器我们有这种语言, JavaScript。 多年来,我们越来越要求了它,对我们现在谈论使用它建立整个应用的点。 真相,然而,是JavaScript不会为一切是好。


而不是越来越塞进功能入浏览器(和审阅这要求)的所有严谨标准化做法,可能是我们从部下的客户边逻辑分离UI的时间。 让浏览器处理看法。 让控制器存在其他地方,表示层的独立。


我们已经有手段今天达到客户边代码的分离: 浏览器插入。 当然,多数网络开发商将告诉您插入是一件坏事。 在您迫使用户下载和安装插入时候,您说普遍的智慧,投掷在您的代码前面的一个路障。 但是那是否是真正地真实的?


早期的浏览器插入主要被设计提供多媒体。 典型地它没有花费很多时间为了他们能成为网上行销的车 -- 并且这,当多数计算机用户连接了到互联网通过拨号时候。 一点想知道没人可能麻烦下载他们。


现代反例是谷歌齿轮。 一次安装齿轮插入和每种齿轮使能应用获取另外的功能。 迄今,使能站点名单包括甚而谷歌Docs和谷歌读者,但是MySpace、不仅Picasa和WordPress博客。


人们倾向于集中于齿轮的能力允许Web应用程序使用,当离线时。 他们俯视WorkerPool模块,在背景中允许Java语言代码跑,代码的独立在主页的。 WorkerPool是一个独立代码施行引擎; 它偶然跑Java语言和一个普通的浏览器一样。


因此为什么JavaScript? 不是Python或者为什么咬舌,或者某一其他,新的语言设计想着供选择的Web应用程序发展方法学? 如果供给动力它的应用是足够强制的,安装插入的刺激高 -- 特别在可用的宽频的这年龄。


一个外在浏览器模块能够执行大多数提出的ECMAScript 4规格已经存在: 它是Adobe一刹那插入。 其他平台是可利用的作为插入,包括卷毛和REBOL。


当网络开发商,我们倾向于仅避开远离这些选择,但是由于无休止的努力提炼和规范化在浏览器之内的Java语言。 由于它是网标准,我们告诉自己, Java语言是“更加纯净的”选择。


但是,如果坚持做事一个唯一方式是什么我们想要,然后为什么重创轮子? 我们已经有能够作为前端对各种各样的应用的一个多用途客户,从数据库到电子邮件。 它安装了在数以万计企业全世界,现在。 它叫Lotus Notes。


那是否是我们朝向的方式? 真正地那是否是浏览器的模型明天? 或者是否是网发展共同体的时间开始想法在箱子之外?

ps:http://weblog.infoworld.com/archives/emailPrint.jsp?R=printThis&A=http://weblog.infoworld.com/fatalexception/archives/2008/08/was_javascript.html


 

原文地址:https://www.cnblogs.com/java20130725/p/3215919.html