驱使计算机语言革新的因素有两个:程序设计技术的改进和计算环境的改变。Java也不例外。在大量继承C和C++的基础之上,Java还增长了反应当前程序设计技术状态的功能与精华。针对在线环境的蓬勃发展(Internet),Java为高度的分布式体系结构提供了流水线程序设计的功能。程序员
Java是1991年由Sun Microsystems(曾经2000亿美圆全球市值第一,google市值第二可是只有300多亿美圆,而同期的苹果公司市值只有不到100亿美圆。当今苹果公司万亿市值也是全球第一惟一万亿市值的上市公司)公司的James Gosling(你们更喜欢叫他高司令)、Patrick Naughton、Chris Warth、Ed Frank和Mike Sheridan共同构想的成果。这门语言最初名为“Oak”,于1995年改名为“Java”,多少有些让人吃惊的是,设计Java的最初动力并非源于Internet,而是为了开发一种独立于平台的语言,使其可以用于建立内嵌于不一样家电设备(如烤箱、微波炉和遥控器等)的软件。虽然不一样类型的CPU均可以用做控制器,可是麻烦在于多数的计算机语言都是针对特定的目标而设计的,例如C++。分布式
虽然任何类型的CPU或许都能编译C++程序,然而这须要CPU具备完整的C++编译器。而开发编译器的成本很高,而且很耗时。为了找到更好的解决方法,Gosling和其余人尝试开发一种可移植的跨平台语言,使该语言生成的代码能够在不一样环境下的不一样CPU上运行。这一努力最终致使Java的诞生。ide
大概就在即将设计出Java细节的时候,另外一个对Java的成型有更重要影响的因素出现了。第二个动力就是World Wide Web。若是Web没有在Java即将成型的时候问世,那么Java可能会成为对消费类电子产品的程序设计而言有用但却晦涩的语言。然而随着Web的出现,以及Web对可移植程序的需求,Java被推倒了计算机语言设计的前台。google
大多数程序员在工做不久就了解到可移植程序既使人期待,也让人难以捉摸。虽然在有了程序设计学科时就有了对建立高效可移植(平台独立)程序的须要,但仍是让位于其它一些更为迫切的问题。Internet和Web的出现使原有的可移植性问题从新摆上了桌面。由于,Internet毕竟是由许多类型的计算机、操做系统和CPU组成的多样化的分布式空间。操作系统
曾经恼人心绪,却没那么重要的问题也就成为了亟待解决的问题。到了1993年,Java设计团队的成员发现,在建立嵌入式控制器时常常遇到的可移植性问题一样也出如今建立的Internet代码中。了解到这一点后,Java的重点从消费类电子产品转移到了Internet程序设计。所以,尽管开发独立于体系结构的程序设计语言的初衷提供了起初的星星之火,然而倒是Internet最终促成了Java的燎原之势。线程