From: cnsLinux科技网 http://www.cnscn.org
C C语言是功能极其强大的结构化语言
它是许多语言的核心语言,如Java运行时系统由标准C实现, Perl的内核是由C完成的, Python语言、php语言、C++语言等许多语言基本上都是用C来实现或部分实现的
Unix/Linux/MacOS也是基本上用C来实现
C是中级语言 它把高级语言的基本结构和语句与低级语言的实用性结合起来。
C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。
C是结构式语言 结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必要的信息交流外彼此独立。
这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。
C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循环、条件语句控制程序流向, 从而使程序完全结构化。
C语言功能齐全 C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更高
C 语言也具有强大的图形功能, 支持多种显示器和驱动器。
而且计算功能、逻辑判断功能也比较强大, 可以实现决策目的
C语言适用范围大 C 语言还有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型
C++ C++是从C语言发展而来的 贝乐实验室的Bjarne Stroustrup博士及其同事开始对C语言进行改进和扩充,将"类"的概念引入了C语言,构成了最早的C++语言(1983)。
后来, Stroustrup和他的同事们又为C++引进了运算符重载、引用、虚函数等许多特性,并使之更加精炼,于1989后推出了AT&T C++ 2.0版
随后美国国家标准化协会ANSI(American National Standard Instiute)和国际标准化组织ISO(International Standards Organization)一起进行了标准化工作,并于1998年正式发布了C++语言的国际标准ISO/IEC:98-14882。
各软件商推出的C+ +编译器都支持该标准,并有不同程序的拓展。
C++支持面向对象的程序设计方法,特别适合于中型和大型的软件开发项目,从开发时间、费用到软件的重用性、可扩充性、可维护性和可靠性等方面,C++均具有很大的优越性
同时,C++又是C语言的一个超集,这就使得许多C代码不经修改就可被C++编译通过
Java 简单性 提供最基本的方法来完成指定的任 务
只需理解一些基本的概念 ,就可以用它编写出适合于各种情况的应用程序
Java略去了运算符重载、多重继承等模糊的概念 ,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作
Java也适合于在小型机上运行 ,它的基本解释器及类 的支持只有40KB左右 ,加上标准类库和线 程的支持也只有 215KB左右。库和线程的支持也只有215KB左右
面向对象 设计集中于对象及其接口
提供了简单的类机制以及动态的接口模型
对象中封装了它 的状态变量以及相应的方法 ,实现了模块化和信息隐藏
则提供了一类对象的原型 ,并且通过继承机制 ,子类可以使用父类所提供的方 法 , 实现了代码的复用
分布式 它是面向网络的语言
通过提供的类库可以处理TCP/IP协议 ,用户可以通过URL地址在网络上很方便地访问其它对象
解释型 Java解释器直接对Java字节码进行解释执行
字节码本身携带了许多编译时信息 ,使得连接过程更加简单
鲁棒性 Java在编译和运行程序时 ,都要对可能出现的问题进行检查 ,以消除错误的产 生
它提供自动垃圾收集来进行内存管理 ,防止程序员在管理内存时容易产生的错误
通过集成的面向对象的异常处理机制 ,在编译时,Java提示出可能出现但未被处理的异常 ,帮助程序员正确地进行选择以防 止系统的崩溃
Java在编译时还可捕获类型声明 中的许多常见错误 ,防 止动态运行时不匹配问题的出现
可靠、 安全 用于网络、分布环境下的Java必须要防止病毒的入侵
Java不支持指针 ,一切对内存的访问都必须通过对象的实例变量来实现 ,这样就防止程序员使用"特洛伊"木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误
平台无关、可移植 与平台无关的特性使Java程序可以方便地被移植到网络上的不同机器
Java的类库中也实现了与不同平台的接口 ,使这些类库可以移 植
Java编译器是由Java语言实现的,Java运行时系统由标准C实现 ,这使得Java系统本身也具有可移植性
高性能 和其它解释执行的语言如BASIC、TCL不 同 ,Java字节码的设计使之能很容易地直接转换成对应于特 定CPU的机器码,从而得到较高的性能
多线程 多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。
通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制 ,这样就很容易地实现网络上的实时交互行为
动态性 Java的设计使它适合于一个不断发展的环境
在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行
Java通过接口来支持多重继承 ,使之比严格的类继承具有更灵活的方式和扩展性
体系结构中立 Java解释器生成与体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意的处理器上运行。这些字节码指令对应于Java虚拟机中的表示 ,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行
C#(C sharp) C#是一种最新的、面向对象的微软平台编程语言。可快速地编写Microsoft .NET平台的应用程序
它成为构建各类组件的理想之选--无论是高级的商业对象还是系统级的应用程序。
使用简单的C#语言结构,这些组件可以方便的转化为XML 网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。
C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。
C#使开发者用更少的代码做更多的事,同时也不易出错。
支持现有的网络编程新标准如HTML,XML,SOAP等。
C#程序员可以在Microsoft .NET平台上事半功倍的构建应用程序的扩展框架。
C#包含了内置的特性,使任何组件可以轻松转化为XML网络服务,通过Internet被任何操作系统上运行的任何程序调用。
C#允许把XML数据直接映射到struct数据类型,而不是class。这样对处理少量的数据非常有效。
C#的现代化设计能够消除很多常见的C++编程错误。 例如:
1. 资源回收减轻了程序员内存管理的负担。
2. C#中变量由环境自动初始化。
3. 变量是类型安全的。
对版本的更新提供内在的支持降低了开发成本
方法重载必须显式声明。
C#语言允许类型定义的,扩展的元数据。
内置对组建对象模型(COM)和基于Windows?的API的支持;
允许有限制地使用纯指针(Native Pointer)。
每个对象都自动生成为一个COM对象。开发者不再需要显式的实现IUnknown和其他COM接口.这些功能都是内置的.类似的,C#可以调用现有的COM对象,无论它是由什么语言编写的。
C#包含了一个特殊的功能,使程序可以调用任何纯API。在一段特别标记的代码中,开发者可以使用指针和传统C/C++特性,如手工的内存管理和指针运算。这是其相对于其它环境的极大优势。这意味着C#程序员可以在原有的C/C++代码的基础上编写程序,而不是彻底放弃那些代码。
C#是一种现代的面向对象语言。它使程序员快速便捷地创建基于Microsoft .NET平台的解决方案。这种框架使C#组件可以方便地转化为XML网络服务,从而使任何平台的应用程序都可以通过Internet调用它。
C#增强了开发者的效率,同时也致力于消除编程中可能导致严重结果的错误。C#使C/C++程序员可以快速进行网络开发,同时也保持了开发者所需要的强大性和灵活性。
.Perl: Practical Extraction And Reporting Language
Perl是由Larry Wall编写的一门高级语言
Perl的语言风格类似于C语言, 并且继承了sed、awk和Unix Shell的精华
Perl在进程、文件、文本处理方面表现极为出色,从面可以在系统应用程序、软件工具、系统管理程序、数据库访问、图形处理、网络及Web编程方面大显身手。
Perl是免费软件
Perl于1988年1月perl1向世界推出
UnixShell 对Unix实用程序的直接调用大大加快了系统管理程序的发展
对变量操作、数据操作上功能不强
Tcl(Tool Command Language) 作为一种脚本嵌入语言被开发的
最初目的是用类似于宏的语言来处理基本shell的应用程序
Tcl的初衷是用来协助处理基于shell的字符串,所以字符串像C一样用null结束
不能按值或通过引用来传递数组参数,只能按名字来传递
Tcl是纯解释执行的,运行时每一行都要单独解释和优化,从而降低了优化的灵活性
如果想在一程序语言中嵌入脚本语言,Tcl是一种好的选择
Python Python面向对像语言
有良好的解释和编译能力
可扩展并基本上是程序化的语言
Python在文字处理方面能力极强,并能完成许多不同的任务
作为快有效的程序开发工具已被认可
结构清晰,便于用结构化的思想来编程
执行速度上和perl不相上下
但在正则表达式的处理和对UNIX环境的利用上是与法达到perl的程度
和perl一样都提供了对外部环境的控制和支持,但perl好像更好一些,因它本身支持许多标准系统工具而不用调用外部模块
和perl一样都是稳定的开发平台
python的查错功能要强于perl
awk/gawk awk相对简单,更结构化和规范化
和Unix结合紧密
矮小精悍,在小程序的运行上速度很快
提供了强大的正则表达式
但功能较少,如没有提供网络接口