C语言有啥特点和其他语言如BASIC、FORTRAN等相比有何不同
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言有啥特点和其他语言如BASIC、FORTRAN等相比有何不同相关的知识,希望对你有一定的参考价值。
1. 简洁紧凑、灵活方便C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。
2. 运算符丰富
C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
3. 数据结构丰富
C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能, 支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。
4. C是结构式语言
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
5. C语法限制不太严格、程序设计自由度大
一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度。
6. C语言允许直接访问物理地址,可以直接对硬件进行操作
因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。
7. C语言程序生成代码质量高,程序执行效率高
一般只比汇编程序生成的目标代码效率低10へ20%。
8. C语言适用范围大,可移植性好
C语言有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型。
Basic是可视化编程,用于编辑界面和图形类很方便,虽然也能用做计算功能,但不如C直观。
C更注重过程,用于解决单个的实际问题很便捷,思路是顺着代码一步一步发展的,做ACM(编程竞赛题)的时候就靠这种顺序逻辑性,而且C语言的语法相对基础和简练,对后续学习各种语言都相当有帮助。
C和Fortran都是面向过程的程序设计语言,程序设计基本思想方法是基本相同的。
Fortran语言主要用于科学计算,提供的科学计算系统函数比较多。
在语法等基本概念方面,程序书写格式,函数定义方法,参数传递方式,输出格式描述,与C有明显的不同。追问
全都是吗?
追答对啊,c语言很有强悍的,但是哪一种语言学好了,都可以做出同样的效果
参考技术A 这种东西别人说了没用,自己对程序有所理解才明白。个人感觉c语言简洁优美,编译的程序很高效。支持底层操作,如ms的__asm和linux的__asm__都能嵌入汇编,c语言学习入门比较容易,但是很多东西得和操作系统和编译原理联系起来才能有所理解,比如对程序段,编译选项的控制之类的比较麻烦。basic很少用了,fortran是计算用的,都不熟。 参考技术B 入门容易c语言既是底层开发语言,也是高级语言。
还是看看c语言的百科比较好
不过语言毕竟都是用来工作的
有什么需求用什么语言最好
——裴双林回答
什么是java
什么是JAVA?提问者: nan7913 - 见习魔法师 二级
----------------------------
Java是SUN公司开发的一种面向对象的新一代网络编程语言,它可以在各种不同的机器、操作系统的网络环境中进行开发,具有解释型语言(如Basic语言)和编译型语言(如C语言)的特性。Java摒弃了C 中各种弊大于利的功能和许多很少用到的功能,用Java开发的程序可以在网络上传输,并运行于任何客户机上。
特点
1、简单性:
Java语言通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。Java略去了运算符重载、多重继承等模糊的概念,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。另外,Java也适合于在小型机上运行,它的基本解释器及类的支持只有40KB左右,加上标准类库和线程的支持也只有215KB左右。库和线程的支持大概有215KB左右。
2、面向对象:
Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。
3、分布性:
Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其它对象。
4、可靠性:
Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。通过集成的面向对象的例外处理机制,在编译时,Java提示出可能出现但未被处理的例外,帮助程序员正确地进行选择以防止系统的崩溃。另外,Java在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。
5、安全性:
用于网络、分布环境下的Java必须要防止病毒的入侵。Java不支持指针, 一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用“特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。
6、体系结构中立:
Java解释器生成与体系结构无关的字节码指令,只要安装Java运行系统,Java程序就可在任意的处理器上运行。这些字节码指令对应于Java虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。
7、可移植性:
与平台无关的特性使Java程序可以方便地被移植到网络上的不同机器。同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,Java编译器是由Java语言实现的,Java运行时系统由标准C实现,这使得Java 系统本身也具有可移植性。
8、解释执行:
Java解释器直接对Java字节码进行解释执行。字节码本身携带了许多编译时信息,使得连接过程更加简单。
9、高性能:
和其它解释执行的语言如BASIC、TCL不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。
10、多线程:
多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。
11、动态性:
Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。
Java语言的特性使它可以最大限度地利用网络。Ap-plet是Java的小应用程序,它是动态、安全、跨平台的网络应用程序。JavaApplet嵌入HTML语言,通过主页发布到Internet。网络用户访问服务器的Applet时,这些Applet 从网络上进行传输,然后在支持Java的浏览器中运行。由于Java语言的安全机制,用户一旦载入Applet,就可以放心地来生成多媒体的用户界面或完成复杂的计算而不必担心病毒的入侵。虽然Applet可以和图像、声音、动画等一样从网络上下载,但它并不同于这些多媒体的文件格式,它可以接收用户的输入,动态地进行改变,而不仅仅是动画的显示和声音的播放。
Java的开发工具。
1、 UltraEdit
UltraEdit是共享软件,最新版本是V10.20b。其官方网址是:[url]www.ultraedit.com[/url] 。它是一个功能强大的文本、HTML、程序源代码编辑器。作为源代码编辑器,它的默认配置可以对C/C , VB, HTML, Java和 Perl进行语法着色。用它设计Java程序时,可以对Java的关键词进行识别并着色,方便了Java程序设计。它具有完备的复制、粘贴、剪切、查找、替换、格式控制等编辑功能。可以在Advanced菜单的Tool Configuration 菜单项配置好Java的编译器Javac和解释器Java,直接编译运行Java程序。
配置Javac:在Command Line里输入:D:jspj2sdkinJavac %f,这里Javac的路径要根据JDK的实际安装路径来指定,%f是指当前活动文档的全文件名。在Menu Item Name 里输入Javac ,让其显示在Advanced菜单里,这样就可以直接执行它进行编译了。选中Output To List Box和Capture Output ,这样就可以在源代码下面的输出窗口里看到编译时的错误信息了。
配置不带参数运行的解释器Java:在Command Line里输入:D:jspj2sdkinJava %n,在Menu Item Name 里输入: Java filename,选中Output To List Box和Capture Output ,运行结果显示在输出窗口里。
配置带参数运行的解释器Java:在Command Line里输入:d:jspj2sdkinJava %n%modify%,在Menu Item Name 里输入:Java filename parameter,这样当执行这个菜单项的时候,会显示一个要求输入参数的对话框。
2、 Editplus
EditPlus也是共享软件,最新版本是EditPlus 2.12。其官方网址是:[url]www.editplus.com[/url]。EditPlus也是功能很全面的文本、HTML、程序源代码编辑器。默认的支持HTML、CSS、PHP、ASP、Perl、C/C 、Java、JavaScript和VBScript的语法着色。通过定制语法文件还可以扩展到其他程序语言。可以在Tools菜单的Configure User Tools菜单项配置用户工具,类似于UltraEdit的配置,配置好Java的编译器Javac和解释器Java后,通过EditPlus的菜单可以直接编译执行Java程序。
3、Jcreator
Jcreator是一个用于Java程序设计的集成开发环境,具有编辑、调试、运行Java程序的功能。官方网址是:[url]www.jcreator.com[/url] 。当前最新版本是Jcreator 3.10,它又分为LE和Pro版本。LE版本功能上受到一些限制,是免费版本。Pro版本功能最全,但这个版本是一个共享软件。这个软件比较小巧,对硬件要求不是很高,完全用C 写的,速度快、效率高。具有语法着色、代码自动完成、代码参数提示、工程向导、类向导等功能。第一次启动时提示设置Java JDK主目录及JDK JavaDoc目录,软件自动设置好类路径、编译器及解释器路径,还可以在帮助菜单中使用JDK Help。但目前这个版本对中文支持性不好。
4、Eclipse
Eclipse是一个开放可扩展的集成开发环境(IDE)。它不仅可以用于Java的开发,通过开发插件,还可以构建其他的开发工具。Eclipse是开放源代码的项目,并可以免费下载。它的官方网址是:[url]www.eclipse.org[/url],提供Releases、Stable Builds、Integration Builds和Nightly Builds下载。建议使用Releases或Stable Builds版本。
Releases版本是Eclipse开发团队发布的主要发行版本,是经过测试的稳定的版本,适合要求稳定而不需要最新改进功能的使用者选择。目前最新的Release版本是Eclipse 3.0。Stable Builds版本对大多数使用者而言已足够稳定,由开发团队用比较稳定的Integration Build版本提升到Stable Build而来,适合想使用Eclipse新功能的使用者选择。对于Releases版本2.1.x,在Eclipse的官方网站上有一个语言包可以下载,这样Eclipse及其帮助都有简体中文版。Eclipse用于Java开发,与UltraEdit、Editplus两种编辑器和Jcreator IDE比较,Eclipse更专业,功能更强大。
总之,Java语言提供一种强有力的工具支援程序设计员。Java让程序设计变得更容易,因为它属于面向对象语言,而且提供了自动的内存垃圾收集功能。再者,由于Java码具备结构中立性,因此其应用程序成为非同质性运算环境 (例如Internet)的理想方案。
参考资料:http://www.94cc.com/thread-31261-1-45.html
参考技术A 1.1 JAVA发展历程现在随便打开一本计算机杂志,都可以看到Java的身影,甚至连《纽约时报》、《商业周刊》等这些非计算机类报刊杂志都时而会刊登关于Java的消息。一向“目中无人”的微软公司也不得不对Java这一竞争对手Sun公司的力作提供支持。下面我们就一起来探究一下Java的发展历史。
Java的诞生需追溯到1991年。当时,在Sun公司内,有一个称为Green的项目,这个项目的工程师受命设计一种小型的计算机语言,用于机顶盒、家电控制芯片等消费类设备。由于这些设备功能有限、内存较小,所以这种语言必须尽可能地小,而且应能生成非常紧凑的代码。而且最重要的一点是,这些设备所采用的处理芯片多种多样,要使这个语言有强大的生命力,就绝不能够受限于任何一种体系结构。
为了实现这一目标,项目组准备尝试一种古老的模型:设计出一种“可移植”的语言。在执行前,生成一个“中间码”,在任何一种机器上安装了特定的解释器,就可以运行这个“中间码”。这样“中间码”一定会非常小,而解释器也不大,就可以达到这个目标。
这个由James Gosling和Patrick Naughton领导的项目组中,大部分员工都是UNIX背景,熟悉C++语言,使得这个新语言走向了“面向对象”的道路。这个语言原来的名字是“Oak”(James Gosling办公室窗外的橡树名),但后来由于“Oak”这一名字已被占用,所以在Sun公司高层的建议下,选用了“Java”一种咖啡的名字做为新语言的名字,所以现在说到Java语言,大家都会想到那杯热气腾腾的咖啡!
也许,Sun公司希望Java语言能够象咖啡一样被人们接受、喜爱吧!
好事多磨!这句中国的老话,也应验在了这个远在重洋的项目组。1992年,Green项目组发布了第一款应用Java语言的产品—一个很智能的远程控件。但它并未被Sun公司和消费类家电公司所接受。接着Green项目组又开始了许多其它方面的尝试,均惨遭失败,不得不在1994年解散。
正在这个时候,Internet 上的WWW服务越来越普遍,人们需要一个好用的浏览器,以便更好地阅读WEB页面。这时Green项目组的旧部意识到可以使用Java语言来写一个浏览器。这个最终发展成目前的HotJava浏览器,最初是由Patrick Naughton和Jonathan Payne编写的,它是使用Java语言写成的。他们在编写HotJava时,还考虑到提供小应用程序(Applet)的能力,所以在浏览器中加入了解释Java语言“中间码”的功能。这个设计促进了Java语言的发展。
HotJava这个试验品在1995年5月召开的SunWorld大会上首次亮相,从至引发了遍及全球、至今未衰的Java热。
1995年秋,Netscape决定支持让其浏览器支持Java,并在1996年初发布了支持Java的版本。这意味着Java语言开始大流行。后来,IBM、Symantec、Inprise等许多著名IT公司都注册了Java使用许可证。而且视Sun公司为敌的微软公司也在IE中提供了对Java能力,并在Windows中提供了Java虚拟机。(不过,据Sun公司称,微软公司支持的Java语言不是纯正的Java语言)。
Java语言的初露锋芒,让Sun公司意识到它的价值,于是在1996年初发布了Java的第一个版本。几个月后,又发布了Java 1.02版。但这个版本的Java语言并不是十分完备,不适合用于正规的应用程序的开发。
1996年5月,在旧金山召开了JavaOne大会,在这次大会上,Sun公司为人们绘制了一个美好的蓝图。这个美好的蓝图,让大多数人怀疑要达到个目标需要好几年的时间。但仅过了一小段时间,Sun公司就发布了令人满意的Java 1.0版,它实现了绝大部分的目标。
在1998年召开的JavaOne大会上,Sun公司发布了Java 1.2版,这就是Java 2,它以功能全面的、具有高度扩展能力的新版本换掉了原来的GUI界面和图形工具包。朝着“一次编写,到处运行”的宏伟目标又前进了一大步。
1.2 JAVA的特点
1.2.1 Java语言的优点
Java语言是一种优秀的编程语言。它最大的优点就是与平台无关,在Windows 9x、Windows NT、Solaris、Linux、MacOS以及其它平台上,都可以使用相同的代码。“一次编写,到处运行”的特点,使其在互联网上广泛采用。
由于Java语言的设计者们十分熟悉C++语言,所以在设计时很好地借鉴了C++语言。可以说,Java语言是一种比C++语言“还面向对象”的一种编程语言。Java语言的语法结构与C++语言的语法结构十分相似,这使得C++程序员学习Java语言更加容易。
当然,如果仅仅是对C++改头换面,那么就不会有今天的Java热了。Java语言提供的一些有用的新特性,使得使用Java语言比C++语言更容易写出“无错代码”。
这些新特性包括:
1) 提供了对内存的自动管理,程序员无需在程序中进行分配、释放内存,那些可怕的内存分配错误不会再打扰你了;
2) 去除了C++语言中的令人费解、容易出错的“指针”,用其它方法来进行弥补;
3) 避免了赋值语句(如a = 3)与逻辑运算语句(如a = = 3)的混淆;
4) 取消了多重继承这一复杂的设施。
一些说明:
“多重继承”是“面向对象”的术语,我们将会在第2章中详细叙述。
这些优点正是Java热的背景,Java凭借其强大的移植能力、多线程处理和连网能力,风靡全球,现在已经逐渐成为手持设备、互联网、车内计算机的一项标准。
一些提示:
Java语言的规范是公开的,你可以在http://java.sun.com上找到它,阅读Java语言的规范是提高水平的好方法。
1.2.2 Java语言的关键特性
Java语言有许许多多有效的特性,吸引着程序员们,最主要的有以下几个:
1.简洁有效
Java语言是一种相当简洁的“面向对象”程序设计语言。Java语言省略了C++语言中所有的难以理解、容易混淆的特性,例如头文件、指针、结构、单元、运算符重载、虚拟基础类等。它更加严谨、简洁。
注意:
有些熟悉Visual Basic语言的读者会觉得Java语言相对VB而言更复杂,的确使用Java编程是比使用VB更费力一些。但大家一定要知道VB是一种集成化开发工具,其凭借可视化工具成为开发GUI程序的神器,但其并不能算是一种语言。它的基础是Basic语言,这是一种最简单的语言,但其功能不如C、C++、Java这样完整。
Java语言采用了特殊的软件构造方法,可以在很小的机器上独立运行。只要40K就可以容下一个最基本的解释器,即使加上基本标准库和线程支持,也仅需再加上175K就够的。这也是Java语言的一个成功秘诀。
2.高可移植性
对于一个程序员而言,写出来的程序如果不需修改就能够同时在Windows、MacOS、UNIX等平台上运行,简直就是美梦成真的好事!而Java语言就让这个原本遥不可及的事离我们越来越近。使用Java语言编写的程序,只要做较少的修改,甚至有时根本不需修改就可以在不同平台上运行了。
举个例子,不同平台上对数据类型的大小有不同的规定。在有的平台上,整型(int)是用一个16位二进制数表示,而有的平台上则是使用一个32位二进制数表示的。C/C++语言并没有屏蔽掉这个由不同平台造成的不同。这样如果在一个使用16位二进制数表示整型的平台上开发的C语言源程序,要在一个使用32位二进制数表示整型的平台上运行,简直就是噩耗。
而在Java语言中,就屏蔽掉了这种由平台造成的不同。Java中的整型数是一定是由32位二进制表示的,Java虚拟机将这个差别消化了。当我们想将一个使用16位二进制数表示整型的平台上开发的Java语言源程序,移植到一个使用32位二进制数表示整型的平台上运行,就不用修改了。
Java语言具备这种高移植性是一种必然,因为它的设计理念就是“一次编写,到处运行”嘛。
3.“面向对象”
可以这么说,“面向对象”是软件工程学的一次革命,大大提升了人类的软件开发能力,是一个伟大的进步,是软件发展的一个重大的理程碑。
在过去的30年间,“面向对象”有了长足的发展,充分体现了其价值,到现在已经形成了“面向对象的系统分析”、“面向对象的系统设计”、“面向对象的程序设计”一个体系。所以做为一个现代编程语言,是不能够偏离这一方向的,Java语言也不例外。
注意:
Java语言被喻为比C++还“面向对象”的程序设计语言,不理解“面向对象”的思想就难以很好地运用Java语言,不熟悉这方面内容的读者,可以好好阅读本书的第二章。
4.解释型
大家还记得Basic语言吗?当我们使用Basic语言进行编程时,得先进入Basic语言环境,然后输入源程序,再运行它,Basic语言环境一句句地解释、运行,直接得出结果。这种语言就是解释型语言。
而象C/C++这样的语言就不是这样的了,我们先使用编辑软件或集成开发环境(IDE)编写源程序,然后对其进行编译,生成可执行文件。然后我们再通过操作系统执行这个可执行文件得到结果。这种语言就是编译型语言。
解释型语言效率低,速度慢;编译型语言效率高,速度快。
Java语言是一种解释型语言。对,没看错,它是一种解释型语言,也就是说,相对于C/C++语言来说,Java语言写出来的程序效率低,执行速度慢。但它正是通过在不同平台上运行Java解释器,对Java代码进行解释,来实现“一次编写,到处运行”的宏伟目标的。为了达到目标,牺牲效率还是值得的,再说,现在的计算机技术日新月异,运算速度也越来越快,用户不会感到太慢的。
一些提示:
其实Java语言并不是象Basic语言那样完全的解释性,它是一种解释型与编译 型的折中。使用Java语言编写程序,首先用编辑软件或集成开发环境(IDE)编写源程序,然后使用Java编译器进行一次伪编译,将其编译成为中间码(也称字节码)。然后再使用Java解释器进行解释。
5.适合分布式计算
Java语言具有强大的、易于使用的连网能力,非常适合开发分布式计算的程序。Java应用程序可以象访问本地文件系统那样通过URL访问远程对象。
使用Java语言编写Socket通信程序十分简单,使用它比使用任何其它语言都简单。而且它还十分适合于开发公共网关接口(CGI)脚本的开发,另外还可以使用Java小应用程序(Applet)、Java服务器页面(Java Server Page,简称JSP)、Servlet等等手段来构建更丰富的网页。
6.拥有较好的性能
正如前面说到,由于Java是一种解释型语言,所以它的执行效率相对就会慢一些,但由于Java语言采用了两种手段,使得其性能还是不错的。
1) Java语言源程序编写完成后,先使用Java伪编译器进行伪编译,将其转换为中间码(也称为字节码),再解释;
2) 提供了一种“准实时”(Just-in-Time,JIT)编译器,在需要更快的速度时,可以使用JIT编译器将字节码转换成机器码,然后将其缓冲下来,这样速度就会更快。
一些提示:
这种JIT编译器,顾名思义,Just-In-Time,仅在运行时才进行,将其编译成为平台相关的机器码(由于现在已经运行了,无需再考虑可移植性)。这样处理后,可以带来10倍甚至20倍的速度提升。而且这个技术正在不断地得到改正,今后JIT编译器将更加智能,能够监测出哪些代码经常执行,从而对其进行适当的优化,进一步加快执行速度。
7.健壮、防患于未然
Java语言在伪编译时,做了许多早期潜在问题的检查,并且在运行时来做了许多相应的检查,可以说是最严格的一种“编译器”。
它的这种“防患于未然”的手段将许多程序中的错误扼杀在摇蓝之中。经常有许多在其它语言中必须通过运行才会暴露出来的错误,在编译阶段就被发现了。
另外,在Java语言中还提供了许多保证程序稳定、健壮的特性,有效地减少了错误,这样使得Java应用程序更加健壮。
8.具有多线程处理能力
线程,是一种轻量级进程,是现代程序设计中必不可少的一种特性。多线程处理能力使得程序能够具有更好的交互性、实时性。
Java在多线程处理方面性能超群,具有让你惊喜的强大功能,而且在Java语言中进行多线程处理很简单。
注意:
要注意的是,各主流平台在线程的实现上千差万别,所以Java语言也暂时无法在
这方面做到“与平台无关”,所以Java为不同的操作系统各实现了一套多线程机制。
并且对于程序员来说,不同的机器上,调用多线程机制的代码还是相同的。
9.具有较高的安全性
由于Java语言在设计时,在安全性方面考虑很仔细,做了许多探究,使得Java语言成为目前最安全的一种程序设计语言。
尽管Sun公司曾经许诺过:“通过Java可以轻松构建出防病毒、防黑客的系统”,但“世界上没有绝对的安全”这一真理是不会因为某人的许诺而失灵验的。
就在JDK (Java Development Kit)1.0发布不久后,美国Princeton(普林斯顿)大学的一组安全专家发现了Java 1.0安全特性中的第一例错误。从此,Java安全方面的问题开始被关注。不过至今所发现的安全隐患都很微不足道,而且Java开发组还宣称,他们对系统安全方面的Bugs非常重视,会对这些被发现的进行立即修复。
而且由于Sun公司开放了Java解释器的细节,所以有助于通过各界力量,共同发现、防范、制止这些安全隐患。
一些提示:
如果您的英文阅读能力不错,而且又十分关心这些关于Java的安全性问题,可以访问一下以下两个新闻组:
1) http://www.cs.princeton.edu/sip :普林斯顿大学新闻组
2) comp.risks新闻组
10.是一种动态语言
Java是一种动态的语言,这表示在以下两个方面:
1) 在Java语言中,可以简单、直观地查询运行时信息;
2) 可以将新代码加入到一个正在运行的程序中去。
11.是一种中性结构
“Java编译器生成的是一种中性的对象文件格式。”也就是说,Java编译器通过伪编译后,将生成一个与任何计算机体系统无关的“中性”的字节码。
这种中性结构其实并不是Java首创的,在Java出现之前UCSD Pascal系统就已在一种商业产品中做到这一点,另外在UCSD Pascal之前还有这种方式的先例,那就是Niklaus Wirth实现的Pascal语言中就采用了这种降低一些性能,换取更好的可移植性和通用性的方法。
Java的这种字节码经过了许多精心的设计,使得其能够很好地兼容于当今大多数流行的计算机体系统,可以在任何机器上易于解释,易于动态翻译成为机器代码。
一些提示:
更详细的内容,可以参考Java语言作者编写的Java语言白皮书,你通过浏览http://java.sun.com/doc/language_environment发现它。
1.3 关于JAVA的常见问题
1.Java与HTML有什么关系?
由于Java语言热是因为Internet、浏览器、WWW网而起的,所以在许多人心目中存在着一种误解,认为Java是HTML的一种扩展。
其实这种认识是错误的,HTML是一种对WWW页面进行描述的语言,而Java是一种编程语言,它们并不属于一个范畴。
的确使用Java语言能够使得WWW更具有动态的效果。
2.JavaScript与Java有什么关系?
JavaScript是一种可以嵌入到WWW页面中的一种脚本语言。它是由Netscape创造的,最初名叫LiveScript,由于语法与Java类似,后来改名为JavaScript,实际上是没有任何直接联系的。
3.Java程序都是在WEB页面上运行的吗?
诚然,Java程序是可以在WEB页面上运行,这种Java程序叫做Java小应用程序(Java Applet),它是一种小型的Java程序,专门在浏览上运行的。
还有一种Java程序,叫做Java应用程序(Java Application),它象用C/C++语言写出来的应用程序一样,是独立于浏览器运行的。
大家还记得吧,让Java名声大噪的HotJava就是一个浏览器嘛!
4.Java程序是解释型的,速度不快,适合用于开方什么方面的程序呢?
的确,Java语言是一种解释型语言,它的速度是要比纯编译型的C/C++语言要慢得多。所以用Java语言来开发那些需要使劲让CPU工作的程序(比如科学计算)当然是不理智的了,但是用Java语言开发那些与用户交互比较多的程序是十分适合的。这是因为,人的操作速度有限,Java还是能够跟上这个速度的。
值得一提的是,当使用了JIT编译器后,Java也就摇身一变成为了一个“纯编译型”的了,这时即使开发那些使劲让CPU工作的程序也不怕了。
5.Java语言容易学习吗?
Java语言学习起来比C++语言容易,但比Basic语言要复杂得多。如果你有C++语言的编程经验,那对学习Java语言就是轻车熟路了。如果没有也没有关系,只要记住以下两个忠告,我想学好Java语言指日可待:
1) 花些时间,真正理解“面向对象”;
2) 别怕困难,多多实践。
6.在网页Java小应用程序会带来安全性问题吗
的确有一些报告指出网页上的Java小应用程序有一些安全漏洞,但这些安全漏洞远比插入在网页上的ActiveX控件缓和得多。
在业界有这样的一个比喻:“受恶意的Java小应用程序攻击的概率与飞机失事相当;而受ActiveX控件的恶意攻击的概率则与徒步穿越繁忙的高速公路出事故的概率相当。”
虽然这个比喻也有说过头了些,但的确Java小应用程序的安全性漏洞并不是很大。 参考技术B Java包含了一种计算机编程语言和一个平台。
Java编程语言是一种高级语言。由Sun微系统公司(Sun Macrosystem)发布,并作为一种开放的标准进行提供。
Java平台包括了Java虚拟机和Java应用程序接口(API)。
Java将原程序编译成字节码(bytecode),并通过Java虚拟机(JVM)解释字节码的方式来执行。因为这种运行方式,只要针对不同的计算机平台准备相应的Java虚拟机,就可以很方便的实现Java语言的跨平台性。因此,Java非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。 Java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。 参考技术C
Java语言:
Java 是由Sun Microsystems 公司于1995年5月推出的高级程序设计语言。
Java可运行于多个平台,如Windows, Mac OS,及其他多种UNIX版本的系统。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
Sun公司于1995年5月发布了Java的第一个版本JDK1.0,经过三年多的更新与升级,与1998年推出了JDK1.2,Java语言的开发规范也从1.0升级到2.0.在1999年,Java语言根据应用的领域被分为三个版本:
J2SE: Java 2 Platform Standard Edition,java平台标准版,包含构成Java语言核心的类库。
J2EE: Java 2 Platform Enterprise Edition,java平台企业版,包含j2se中所有的类,并还包含用于开发企业级应用的类,如EJB,Servlet,JSP,XML和事务控制,也是闲Platform Standard Edition着java应用的主要方向。
J2ME: Java 2 Platform Micro Edition,java平台移动版,是Java运行环境的一个子集,它包含了Java的核心部,主要用于消费类电子产品的软件开发,如移动通话,可视电话,数字机顶盒,汽车导向系统和卫星定位系统等。
于2005年Java十周年大会之后分别将J2SE、J2EE、J2ME 更名为 JAVA SE、JAVA EE、JAVA ME。
当然Java目前市场占有量,还是数一数二的;
目前java的应用市场十分广泛,它的应用领域几乎涵盖了目前市面上所有的软硬件。
目前JAVA市场行情主要有以下几个方向:
1.web开发:
能做大型的互联网网站如,京东,淘宝,人人网、去哪儿网、美团等。
java在开发高访问、高并发、集群化的大型网站方面有很大的优势。
3.移动端开发:
目前手机上所有的APP后台代码及部分移动端页面java是都能够做到的。
4.客户端开发:
主要面向政府、事业单位和大型企业,如医疗、学校、OA、邮箱、投票、金融、考试、物流、矿山等信息方面的系统。这些应用在我们生活中其实随处可见,比如医院的挂号系统、公司的打卡系统、物流系统等。
学习难度:
学习难度中度偏高,Java开始学习的时候是比较复杂的。对于没有计算机基础的人来说,开始入手就学习Java有点困难的。
但是Java语言比较特殊,它是开始难到后面却是比较的简单,因为各种框架封装的已经棒的不要不要的;其他的语言时开始比较的简单,也往后越觉得难度越大;当然Java 学到精通也不是简单的!!
Java是目前比较容易就业的,招聘的最多;但是竞争压力也比较的大,想所以说学习Java要多提升自己;
Java是一门编程语言,是连接人与计算机的语言,在生活中,人与人之间需要交流,通常我们可以使用汉语、英语、法语等语言来进行交流,让别人理解我们所要表达的意思,而计算机能理解的就是编程语言,我们通过编程语言对计算机下达指令,让计算机完成我们想要做的事,同样,编程语言也有很多种,java、C、go、PHP等等,而java是其中最受欢迎、应用最广泛的一种编程语言。
以上是关于C语言有啥特点和其他语言如BASIC、FORTRAN等相比有何不同的主要内容,如果未能解决你的问题,请参考以下文章