所在的位置: java >> 就业前景 >> 编程语言的新潮流

编程语言的新潮流

我们从语言设计的角度,来比较一下Java、JavaScript、Ruby和Go这4种语言。这几种语言看起来彼此完全不同,但如果选择一个合适的标准,就可以将它们非常清楚地进行分类,如图所示。

JavaScript是客户端语言的代表,Java其实也在其黎明期作为客户端语言活跃过一段时间,应该有很多人还记得JavaApplet这个名词。之后,Java转型为服务器端语言的代表,地位也扶摇直上,但考虑到它的出身,这里还是将其分类为客户端语言。

另一个分类标准,就是静态和动态。所谓静态,就是不实际运行程序,仅通过程序代码的字面来确定结果的意思;而所谓动态,就是只有当运行时才确定结果的意思。静态、动态具体所指的内容有很多种,大体上来分的话就是运行模式和类型。这4种语言全都具备面向对象的性质,而面向对象本身就是一种包含动态概念的性质。不过,在这几种语言之中,Java和Go是比较偏重静态一侧的语言,而Ruby和JavaScript则是比较偏重动态一侧的语言。

1客户端与服务器端

首先,我们先将这些语言按照客户端和服务器端来进行分类。如前面所说,这种分类是以该语言刚刚出现时所使用的方式为基准的。

现在Java更多地被用作服务器端语言,而我们却将它分类到客户端语言中,很多人可能感到有点莫名其妙。Java确实现在已经很少被用作客户端语言了,但是我们不能忘记,诞生于年的Java,正是伴随嵌入在浏览器中的Applet技术而出现的。

Java将虚拟机(VM)作为插件集成到浏览器中,将编译后的Java程序(Applet)在虚拟机上运行,这种技术当初是为了增强浏览器的功能。再往前追溯的话,Java原本名叫Oak,是作为面向嵌入式设备的编程语言而诞生的。因此,从出身来看的话,Java还是一种面向客户端的编程语言。

Java所具备的VM和平台无关性字节码等特性,本来就是以在客户端运行Applet为目的的。在各种不同的环境下都能够产生相同的行为,这样的特性对于服务器端来说虽然也不能说是毫无价值,但是服务器环境是可以由服务提供者来自由支配的,因此至少可以说,这样的特性无法带来关键性的好处吧。另一方面,在客户端环境中,操作系统和浏览器都是千差万别,因此对平台无关性的要求一直很高。

Java诞生于互联网的黎明时期,那个时候浏览器还不是电脑上必备的软件。当时主流的浏览器有Mosaic和NetscapeNavigator等,除此之外还有一些其他类似的软件,而InternetExplorer也是刚刚才崭露头角。

在那个充满梦想的时代,如果能开发出一种功能上有亮点的浏览器就有可能称霸业界。原SunMicrosystems公司曾推出了一个用Java编写的浏览器HotJava,向世界展示了Applet的可能性。然而,随着浏览器市场格局的逐步固定,他们转变了策略,改为向主流浏览器提供插件来集成Java,从而对Applet的运行提供支持。

2向服务器端华丽转身

然而,Java自诞生之后,并未在客户端方面取得多大的成功,于是便开始着手进入服务器端领域。造成这种局面有很多原因,我认为其中最主要的原因应该是在Applet这个平台上迟迟没有出现一款杀手级应用(killerapp)。

处于刚刚诞生之际的Java遭到了很多批判,如体积臃肿、运行缓慢等,不同浏览器上的Java插件之间也存在一些兼容性方面的问题,使得Applet应用并没有真正流行起来。在这个过程中,JavaScript作为客户端编程语言则更加实用,并获得了越来越多的







































北京最有名的治疗白癜风医院
治疗白癜风最新最佳最好的方法



转载请注明:http://www.jiaju1314.com/jyqj/jyqj/11534.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了