驱使计算机语言革新的因素有两个:程序设计技术的改进和计算环境的改变。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的诞生。

大概就在即将设计出Java细节的时候,另一个对Java的成型有更重要影响的因素出现了。第二个动力就是World Wide Web。如果Web没有在Java即将成型的时候问世,那么Java可能会成为对消费类电子产品的程序设计而言有用但却晦涩的语言。然而随着Web的出现,以及Web对可移植程序的需求,Java被推倒了计算机语言设计的前台。

大多数程序员在工作不久就了解到可移植程序既令人期待,也让人难以捉摸。虽然在有了程序设计学科时就有了对创建高效可移植(平台独立)程序的需要,但还是让位于其它一些更为迫切的问题。Internet和Web的出现使原有的可移植性问题重新摆上了桌面。因为,Internet毕竟是由许多类型的计算机、操作系统和CPU组成的多样化的分布式空间。

曾经恼人心绪,却没那么重要的问题也就成为了亟待解决的问题。到了1993年,Java设计团队的成员发现,在创建嵌入式控制器时经常遇到的可移植性问题同样也出现在创建的Internet代码中。了解到这一点后,Java的重点从消费类电子产品转移到了Internet程序设计。因此,尽管开发独立于体系结构的程序设计语言的初衷提供了起初的星星之火,然而却是Internet最终促成了Java的燎原之势。

IT兄弟连 Java语法教程 Java语言背景的更多相关文章

  1. IT兄弟连 Java语法教程 Java语言入门 典面试题

    1.请说明JVM.JRE和JDK是什么?它们有什么关系? JVM是Java虚拟机,Java Virtual Machine的缩写,是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实 ...

  2. IT兄弟连 Java语法教程 Java平台的版本划分

    自从Sun公司推出Java以来,就力图使之无所不能.Java发展至今,按应用范围划分为3个版本,即Java SE.Java EE和Java ME,也就是SunOne(Open Net Environm ...

  3. IT兄弟连 Java语法教程 Java开发环境 JVM、JRE、JDK

    要想开发Java程序,就需要知道什么是JVM.JRE以及JDK.JVM是运行Java程序的核心,JRE是支持Java程序运行的环境,而JDK是Java开发的核心,下面我们分别具体介绍它们以及它们之间的 ...

  4. IT兄弟连 Java语法教程 Java语言的其他特性

    Java语言中除了非常重要的跨平台特性外,还有如下几个关键特性: ●  语法简单易学 Java语言的语法简单明了,容易掌握,而且是纯面向对象(OOP)的语言,Java语言的简单性主要体现在以下几个方面 ...

  5. IT兄弟连 Java语法教程 Java语言的跨平台特性

    什么是平台 Java是可以跨平台的编程语言,那么首先我们需要知道什么是平台,通常我们把CPU与操作系统的整体称为平台. CPU大家都知道,是计算机的大脑,它既负责思维运算,又负责计算机中各种零部件的命 ...

  6. IT兄弟连 Java语法教程 Java的发展历程

    只有少数几种编程语言对程序设计带来过根本性的影响.其中,Java的影响由于迅速和广泛而格外突出.可以毫不夸张的说,1995年Sun公司发布的Java1.0给计算机程序设计领域带来了一场变革.这场变革迅 ...

  7. IT兄弟连 Java语法教程 Java语法基础 经典面试题

    1.Java语言中有几种基本类型?分别是什么?请详细说明每种类型的范围以及所占的空间大小? Java语言中有8中基本类型,分别是代表整形的byte.short.int和long,代表浮点型的float ...

  8. IT兄弟连 Java语法教程 Java开发环境 配置Java环境变量

    在安装完JDK后,我们需要配置系统的环境变量,否则在控制台中使用JDK为我们提供的工具时将出现如图12所示的错误信息. 图12  未配置环境变量时执行java命令提示的错误信息 当出现这样的提示信息时 ...

  9. IT兄弟连 Java语法教程 Java开发环境 安装JDK

    因为我们要开发Java程序,所以必须在我们的计算机中安装Sun(Oracle)公司提供给我们的JDK.目前最新版本的JDK是JDK 10,但是我们以学习JDK 8为主,所以我们要安装的版本是JDK 8 ...

随机推荐

  1. Raspberry Pi3 ~ 使用eclipse进行远程调试

    为了开发方便需要在电脑上对树莓派进行远程Debug. l  在eclipse中安装交叉编译(参照开发环境搭建)    arm-linux-gnueabihf-gcc l  树莓派中检查是否安装了gdb ...

  2. js面向(基于)对象编程-三大特征

    ①抽象 js提供以下几种控制方法和属性的访问权限: (1)公开级别:对外公开 (2)私有级别:类本身可以访问,不对外公开 案例如下所示: function Person(name,age,sal){ ...

  3. 一些rtsp实现的开源代码

    * live.com   C/S   C++   http://www.live555.com     * darwin     S     C++   http://www.opensource.a ...

  4. Java_tool_01_Java生成Pdf

    一. 二.参考资料 1.电子凭证-Java生成Pdf 2.[Java]使用iText生成PDF文件

  5. L88

    Where You Vote May Affect How You Vote On election day, where do you vote? If it's in a church, you ...

  6. linux命令学习笔记:cut详解

    cut命令从文件的每一行剪切字节.字符和字段并将它们写至标准输出.它是以文件的每一行作为处理对象的. 命令格式:cut [选项] [范围] 文件.选项用来指定单位(字节.字符还是字段),范围指定选项的 ...

  7. zero to one(1)

    How to google 这两天把之前的过期的账号重新弄了一下,在vutrl上的账号,普通的话现在2.5$只提供ipv6地址,如果是想google我觉得这个应该没有什么问题,或者可以买***的账号, ...

  8. 1131 Subway Map(30 分)

    In the big cities, the subway systems always look so complex to the visitors. To give you some sense ...

  9. 1095 Cars on Campus (30)(30 分)

    Zhejiang University has 6 campuses and a lot of gates. From each gate we can collect the in/out time ...

  10. DDP入门

    DDP,即动态动态规划,可以用于解决一类带修改的DP问题. 我们从一个比较简单的东西入手,最大子段和. 带修改的最大子段和其实是常规问题了,经典的解决方法是用线段树维护从左,右开始的最大子段和和区间最 ...