我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java是怎么来的

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java是怎么来的

小编给大家分享一下Java是怎么来的,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

Java的由来

对于计算机语言的发展史,业界一般认为:B语言导致了C语言的诞生,C语言演变出了C++语言,而C++语言将让位于Java语言。要想更好地了解 Java语言,就必须了解它产生的原因、推动它发展的动力,以及它对其他语言的继承。像以前其他成功的计算机语言一样,Java继承了其他语言的先进原理,同时又因其独特的环境要求而提出了一些创新性的概念。在这本书的其他各章中,将从实用的角度,对Java语言、库及应用程序进行包括语法在内的详细介绍。在本章里,我们将介绍Java语言产生的背景、发展过程,以及使它变得如此重要的原因。
尽管Java语言已和Internet的在线环境密不可分,但首先应该注意到的最重要一点是:它是一种程序语言。计算机语言的革新和发展需要2个基本因素的驱动:
• 适应正在变化的环境和需求
• 实现编程艺术的完善与提高
下面你将看到,Java也正是在这两个因素的驱动下产生的。
Java总是和C++联系在一起,而C++则是从C语言派生而来的,所以Java语言继承了这两种语言的大部分特性。Java的语法是从C继承的,Java许多面向对象的特性受到C++的影响。事实上,Java中几个自定义的特性都来自于或可以追溯到它的前驱。而且,Java语言的产生与过去 30年中计算机语言细致改进和不断发展密切相关。基于这些原因,本节将按顺序回顾促使Java产生的事件和推动力。正如你将看到的一样,每一次语言设计的革新都是因为先前的语言不能解决目前遇到的基本问题而引起。Java也不例外。
一、现代的编程语言的诞生:C语言
C语言的产生震撼了整个计算机界。它的影响不应该被低估,因为它从根本上改变了编程的方法和思路。C语言的产生是人们追求结构化、高效率、高级语言的直接结果,可用它替代汇编语言开发系统程序。当设计一种计算机语言时,经常要从以下几方面进行权衡:
• 易用性与功能
• 安全性和效率性
• 稳定性和可扩展性
C语言出现以前,程序员们不得不经常在有优点但在某些方面又有欠缺的语言之间做出选择。例如,尽管公认FORTRAN在科学计算应用方面可以编写出相当高效的程序,但它不适于编写系统程序。BASIC虽然容易学习,但功能不够强大,并且谈不上结构化,这使它应用到大程序的有效性受到怀疑。汇编语言虽能写出高效率的程序,但是学习或有效地使用它却是不容易的。而且,调试汇编程序也相当困难。
另一个复杂的问题是,早期设计的计算机语言(如BASIC,COBOL,FORTRAN等)没有考虑结构化设计原则,使用GOTO语句作为对程序进行控制的一种主要方法。这样做的结果是,用这些语言编写的程序往往成了“意大利面条式的程序代码”,一大堆混乱的跳转语句和条件分支语句使得程序几乎不可能被读懂。Pascal虽然是结构化语言,但它的设计效率比较低,而且缺少几个必需的特性,因而无法在大的编程范围内使用(特别是,给定的Pascal 的标准语言在特定时间是可用的,但将Pascal作为系统级编码是不切实际的)。
因此,在C语言产生以前,没有任何一种语言能完全满足人们的需要,但人们对这样一种语言的需要却是迫切的。在20世纪70年代初期,计算机革命开始了,对软件的需求量日益增加,使用早期的计算机语言进行软件开发根本无法满足这种需要。学术界付出很多努力,尝试创造一种更好的计算机语言。但是,促使 C语言诞生的另一个,也许是最重要的因素,是计算机硬件资源的富余带来了机遇。计算机不再像以前那样被紧锁在门里,程序员们可以随意使用计算机,可以随意进行自由尝试,因而也就有了可以开发适合自己使用的工具的机会。所以,在C语言诞生的前夕,计算机语言向前飞跃的时机已经成熟。
在Dennis Ritchie第一个发明和实现在DEC PDP-11上运行UNIX操作系统时,一种更古老的由Martin Richards设计的BCPL语言导致了C语言的产生。受BCPL语言的影响,由Ken Thompson发明的B语言,在20世纪70年代逐渐向C语言发展演变。在此后的许多年里,由Brian Kernighan和Dennis Ritchie编写的《The C Programming Language》(Prentice-Hall,1978)被认为是事实上的C语言标准,该书认为C只是支持UNIX 操作系统的一种语言。1989年12月,美国国家标准化组织( ANSI )制定了C语言的标准,C语言被正式标准化。
许多人认为C语言的产生标志着现代计算机语言时代的开始。它成功地综合处理了长期困扰早期语言的矛盾属性。C语言是功能强大、高效的结构化语言,简单易学,而且它还包括一个无形的方面:它是程序员自己的语言。在C语言出现以前,计算机语言要么被作为学术实验而设计,要么由官僚委员会设计。而C语言不同。它的设计、实现、开发由真正的从事编程工作的程序员来完成,反映了现实编程工作的方法。它的特性经由实际运用该语言的人们不断去提炼、测试、思考、再思考,使得C语言成为程序员们喜欢使用的语言。确实,C语言迅速吸引了许多狂热的追随者,因而很快受到许多程序员的青睐。简言之,C语言是由程序员设计并由他们使用的一种语言。正如你将看到的,Java继承了这个思想。
二、对C++的需要
在20世纪70年代末和80年代初,C成为了主流的计算机编程语言,至今仍被广泛使用。你也许会问,既然C是一种成功且有用的语言,为什么还需要新的计算机语言?答案是复杂性(complexity)。程序越来越复杂这一事实贯穿编程语言的历史。C++正是适应了这一需求。下面介绍为什么对程序复杂性的更好管理是C++产生的基本条件。
自从计算机发明以来,编程方法经历了戏剧性的变化。例如,当计算机刚发明出来时,编程是通过面板触发器用人工打孔的办法输入二进制机器指令来实现的。对于只有几百行的程序,这种办法是可行的。随着程序不断增大,人们发明了汇编语言,它通过使用符号来代替机器指令,这样程序员就能处理更大、更复杂的程序。随着程序的进一步增大,高级语言产生了,它给程序员提供了更多的工具来处理复杂性问题。
第一个被广泛使用的高级语言当然是FORTRAN。尽管FORTRAN最初给人留下了深刻的印象,但它无法开发出条理清楚易于理解的程序。20世纪60年代提出了结构化编程方法。这种结构化的编程思想被像C这样的语言所应用,第一次使程序员可以相对轻松地编写适度复杂的程序。然而,当一个工程项目达到一定规模后,即使使用结构化编程方法,编程人员也无法对它的复杂性进行有效管理。20世纪80年代初期,许多工程项目的复杂性都超过了结构化方法的极限。为解决这个问题,面向对象编程(object-oriented programming,OOP)新方法诞生了。面向对象的编程在这本书的后面详细讨论,但在这里给出一个简短的定义:面向对象的编程是通过使用继承性、封装性和多态性来帮助组织复杂程序的编程方法。
总之,尽管C是世界上伟大的编程语言之一,但它处理复杂性的能力有限。一旦一个程序的代码超过25 000~100 000行,就很难从总体上把握它的复杂性了。C++突破了这个限制,帮助程序员理解并且管理更大的程序。
1979年,当Bjarne Stroustrup在新泽西州的Murray Hill实验室工作时,发明了C++。Stroustrup 最初把这种新语言称为“带类的C”。1983年,改名为C++。C++通过增加面向对象的特性扩充了C。因为C++产生在C的基础之上,因此它包括了C所有的特征、属性和优点。这是C++作为语言成功的一个关键原因。C++的发明不是企图创造一种全新的编程语言,而是对一个已经高度成功的语言的改进。C+ +在1997年11月被标准化,目前的标准是ANSI/ISO。
三、Java出现的时机已经到来
在20世纪80年代末和90年代初,使用面向对象编程的C++语言占主导地位。的确,有一段时间程序员似乎都认为已经找到了一种完美的语言。因为 C++有面向对象的特征,又有C语言高效和格式上的优点,因此它是一种可以被广泛应用的编程语言。然而,就像过去一样,推动计算机语言进化的力量正在酝酿。在随后的几年里,万维网(WWW)和Internet达到临界状态。这个事件促成编程的另一场革命。

看完了这篇文章,相信你对“Java是怎么来的”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java是怎么来的

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java是怎么来的

小编给大家分享一下Java是怎么来的,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Java的由来对于计算机语言的发展史,业界一般认为:B语言导致了C语言的诞生,C语言演变出了C++语言,而C++语言将让位于Java语言。要
2023-06-03

vue.set的vue是怎么来的

vue.set的vue是怎么来的Vue.js(简称vue)是一个流行的JavaScript框架,用于构建用户界面。它由尤雨溪于2014年创造,目前已成为Web开发中最受欢迎的框架之一。Vue.js提供了响应式和组件式的架构,可以轻松地开发交互式应用程序,并与其他库和框架无缝集成。由于Vue.js的流行,它的许多API和功能也变得越来越流行。Vue.set是其中之一。Vue.se
2023-05-14

SpringBoot是怎么跑起来的

本篇内容主要讲解“SpringBoot是怎么跑起来的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot是怎么跑起来的”吧!Hello World首先我们看看 SpringBoot
2023-06-04

java“与”符号怎么打出来的

java“与”符号怎么打出来的java中“与”符号使用键盘上的 Shift + 数字7 即可打出来。(不是小键盘上的数字7)Java中&&可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只
java“与”符号怎么打出来的
2014-07-16

云主机是怎么虚拟出来的

云主机是一种虚拟化技术,通过将物理服务器划分为多个虚拟机实例来创建。虚拟化技术主要有以下几种方式:1. 完全虚拟化:使用虚拟机监视器(Hypervisor)在物理服务器上创建多个独立的虚拟机实例。每个虚拟机实例都运行自己的操作系统和应用程序
2023-09-08

CRM数据库表COM_TA_R3_ID是怎么来的

本篇内容介绍了“CRM数据库表COM_TA_R3_ID是怎么来的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!这个表存放的内容是CRM产品同
2023-06-04

云服务器是怎么做出来的

云服务器是一种虚拟化软件,通过将多个计算资源(例如服务器、存储、网络等)分布于多个服务器上来提高系统的计算能力和可扩展性。简单来说,云服务器通常通过分布式文件系统或者分布式数据库来实现。这些系统可以通过使用多个节点来共享数据、文件和其他资源,并且可以在每个节点上进行负载均衡和备份,以确保系统的安全和可靠性。云服务器的核心是云计算平台(CloudComputingPlatform),该平台提供
2023-10-26

云服务器的公网ip是怎么来的

云服务器的公网ip通常由以下几个部分组成:服务器提供商的网络地址资源:服务器提供商通常会向其服务器客户端开放自己的网络地址空间,这就是服务器所提供的公网ip地址。云计算平台的网络地址资源:云计算平台通常会为服务器提供公网ip地址,这是由各种云计算平台开发的,例如Salesforce、AWS等。用户自定义的网络地址:用户可以在云计算平台中自定义自己的网络地址,这就是用户自己的私有ip。在用户自定义的情况下,需要提供一个与云计...
2023-10-27

云服务器是怎么做出来的呢

云服务器是一种虚拟服务器软件,通过网络连接到云服务器提供商的服务器上,以供用户访问和使用服务器上的资源。云服务器通常由以下几部分组成:硬件平台:包括服务器主板、硬盘、电源、网络交换机等,是云服务器的基础组件。软件平台:包括数据库、操作系统、应用程序等,云服务器提供商在这些软件上集成了一些功能,例如负载均衡、弹性伸缩等。网络连接:用户通过互联网访问云服务器提供商的计算资源,这需要使用互联网
2023-10-26

java 类是怎么加载的

类加载,就是读取 .class 文件到内存中,放入方法区,并在堆区创建一个 java.lang.Class 类型的对象,这个对象封装了类在方法区内的数据结构。类加载发生在何时?一般在类被使用时发生,包括下面 6 种情况:– 使用 new 关键字创建类示例;–
java 类是怎么加载的
2019-06-01

Pig是用来做什么的

Pig是一个用于大数据分析的高级脚本语言平台,通常用于处理和分析大规模数据集。Pig可以简化复杂的数据处理流程,使用户能够轻松地执行诸如数据清洗、转换、连接和分析等任务。具体来说,Pig的主要功能包括:ETL(Extract, Trans
Pig是用来做什么的
2024-04-09

Android事件分发中事件是怎么来的

本文小编为大家详细介绍“Android事件分发中事件是怎么来的”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android事件分发中事件是怎么来的”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Andriod事件
2023-07-05

java代码是怎么运行的

java虚拟机具体是怎样运行java字节码的?从虚拟机的视角来看,执行java代码首先需要将它编译而成的class文件加载到java虚拟机中。加载后的java类会被存放在方法区中。实际运行时,虚拟机会执行方法区的代码。 (推荐学习:java课程)在运
java代码是怎么运行的
2019-05-29

java程序是怎么运行的

java程序执行过程分为两步,下图为流程示意图第一步:将java源码(.java文件)通过编译器(javac.exe)编译成JVM文件(.class文件)第二步:将JVM文件通过java.exe执行,输出结果 (推荐学习:java课程)通过
java程序是怎么运行的
2019-06-19

java是怎么定义数组的?

java是怎么定义数组的?下面本篇文章就来给大家介绍一下Java中数组的定义方式。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。数组定义方式一:动态方式(指定数组的长度)格式:数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[
java是怎么定义数组的?
2021-08-19

Java Applet语法是怎么样的

这篇文章给大家介绍Java Applet语法是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java Applet简介Java Applet就是用Java语言编写的一些小应用程序,它们可以直接嵌入到网页中,并能
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录