12中IT语言的特点

软件开发这个行业的武器就是编程语言。IT发展到今天,产生了种类繁多的编程语言,有的古老却任然使用,有的新生而激情四射,有的只是昙花一现就黯然消逝,有的则从诞生之日就不断 发展壮大。选择何种编程语言平台,便是摆在很多希望步入IT行业人面前的首道难题。

1.Java

Java语言自1995年发布以来,由于其面向对象、跨平台和分布式的特性迅速风靡整个IT界。加之Sun、Oracle、IBM等行业巨头的大力支持,以及众多开发者为其设计的各种框架技术使得Java技术涵盖了当今软件开发的几乎所有方面。其中,JavaEE和JavaME分别在企业级和移动开发上牢牢占据着霸主的地位。

另外,由于Java主要面向上层应用,运行在Java虚拟机上,所以无法对系统底层进行很强的操作。因此底层系统的开发,如操作系统、51单片机等,一般是不会采用Java技术的。

2.C

C语言历史悠久,功能强大,很多编程语言都或多或少地收到C语言的影响,发展至今仍然可以傲视大部分后来者。C语言是一种面向过程的结构化语言,由于其面向底层,编程灵活,效率高,广泛应用在嵌入式、操作系统等系统级别的开发中。

早期C语言也用来做上层语言的开发,近些年来由于其它专门针对上册开发的语言平台的长足发展,C语言逐渐淡出了上册软件的开发。

3.C++

C++衍生自C语言,但是发展到现在,C++和C语言已经独立开来,并且C++编译器也可以容纳C的源代码。C++被很少应用于WEB级和企业级开发,更多地被应用在系统开发的项目中,在大型游戏、设备驱动等方面有较大的优势。但是C++语法并没有彻底甩掉C语言的累赘,面向对象搞地不够彻底,使得C++语言过于复杂,可靠性要略低于其他语言。

很多人认为Java和C++是不共戴天的死敌,其实Java和C++之间并不存在,或者不存在太多的竞争关系。

目前编程语言繁多,引起很多初学者的困惑,有些初学者甚至连VC++和C++都不分,认为VC++就是C++。VC++只是C++的一个Windows版本,除此之外C++还有嵌入式、Linux和Solaris等多个平台的版本。

严格意义上讲,Java和C++之间并不存在,或者不存在太多的竞争关系,这主要是由二者的语言特性和开发效率决定的。

1)语言特性

与C++相比Java语言比较简便,比较适合开发上层应用.而C++有许多复杂的特性,尤其是指针和内存管理令人头疼。

显然C++的这种语言特性决定了其无法应用与种类繁多的上册应用,而Java依靠其灵活性可以更好地胜任这一点。

C++的语言特性决定了其使用较为困难,开发过程相对速度慢、成本高。而Java凭借其良好地开发效率,降低开发成本。

2)跨平台性

C++开发的应用一般是绑定平台的,即适用于Windows平台下的应用程序无法在Linux或其他平台下直接运行,而开发上层应用都希望能够运行在多个平台上。显然C++在开发上层应用时无法与可跨平台的Java想媲美。

但是C++具有Java做不到的底层开发的能力,因此C++在平台级的底层开发(如驱动程序等)中具有不可比拟的优势,而这一点是Java办不到的。

实际上,在2000年之前,Java和C++的竞争合作关系还有些混淆不清,但是之后二者的分工越来越明显。无论是在安卓平台上,还是在Linux或其他平台,Java和C++都是同一个战壕里的亲密战友,很多版本的Java虚拟机本身就是用C或C++编写的。另外,提到Java和C++,有必要再比较一下JavaEE与C#。C#和JavaEE之间还是有一定的竞争关系的,不过虽然二者都是面向企业级的平台开发,但也有了比较明确的分工。

C#语言开发的应用程序只能在微软平台下运行,这样就给用户带来的选择空间比较小,因此C#更适合于中小型规模的企业应用。

Java得天独厚的跨平台性使得JavaEE平台下的应用程序可以运行在多种平台,从Tomcat到Weblogic,从Windows到Solaris,因此大型的企业级应用仍是Java的天下。

4.C#

C#是微软开发的面向对象的编程语言,C#有许多优于C++的特性,比起C++,C#在面向对象方面做得更好。C#用于Web开发比C++好,而底层开发却远不如C++,C#需要运行在.net framework之下,有一定的跨平台性。

5.PHP

PHP是一种内嵌在HTML中的服务器端脚本语言,它是开放源代码的。经过历代开发者的辛勤劳动,PHP1.0从只有一个简单的网站计数器和留言本,发展到PHP5强大的面向对象功能。在开源项目的如茶如火的发展趋势下,PHP还会吸引大批的开发者加入。

不过PHP由于一些线程安全问题、缺少标准框架和其他商业原因等(不要认为开源的就是彻底免费的),PHP在开发一些大型复杂的项目是就有些捉襟见肘,因此PHP比较适合于中小型的项目开发。

6.(Visual)Basic

Basic最初是初学者设计的一门语言,很多人认为不应该将其作为初学者的入门语言,不利于初学者学到基础的编程模式和结构及养成良好的编程习惯。而且用VisualBasic开发的程序只能运行在微软的Windows平台之下,也在一定程度上约束了其用武之地。

7.Perl

Perl是一种具有动态特性的脚本语言,同时支持泛型变量等灵活的特性。由于Perl借鉴了其他编程语言的很多语法,因此使得Perl比较容易学习。Perl主要应用在UNIX平台下的程序开发和PHP的开发中,具有一定的跨平台性能。

8.Python

Python是一门比较年轻的语言,在2004-2005年间非常流行,之后发展平稳。其最大的特点就是可以和Java、C++等语言很好滴结合在一起,而且只要添加某种模块,就可以实现相应的功能。Python主要应用与多媒体处理、网络编程等方面。

9.JavaScript

JavaScript不同于Perl等脚本语言,JavaScript是运行在客户端的脚本语言。其简单易学,但是要想用好必须下很大的功夫学习。尽管安全性差,JavaScript还是靠着其跨平台性、灵活性高等特点称为最受欢迎的脚本语言,尤其是在如火如茶的AJAX技术渐渐成为大众新宠之后。

10.Ruby

Ruby和Python以及Perl比较类似,最大的不同之处在于Ruby里所有都是对象,而且它比后两者都年轻.Ruby有一个基于MVC模式的框架ROR(Ruby On Rails),在解决中小型应用时快速简洁。

11.Delphi

Delphi是由Borland公司开发的,它并不是一门语言,而是个开发环境。主要使用ObjectPascal语言。很多人熟悉的"熊猫烧香"就是用Delphi开发的。除了开发Windows下的应用程序,Delphi还可以应用在Linux平台下。

12.Pascal

同Basic一样,Pascal一开始也是为教学而设计的,因此Pascal是一门很好的教学语言,用于数值计算也非常适合,也是很多计算机类大赛的参赛语言,同时很多名牌大学也是将其作为入门语言。Pascal语言产生了很多版本,Delphi采用的就是其中的ObjectPascal。

12中IT语言的特点,布布扣,bubuko.com

时间: 2024-10-29 04:21:56

12中IT语言的特点的相关文章

ABBYY FineReader 12中怎样禁用自动处理

ABBYY FineReader是一款OCR文字识别软件,在使用ABBYY FineReader时,默认情况下会自动识别任何添加至ABBYY FineReader文档的页面,但是,如果文档结构复杂,建议禁用对图像执行自动分析和OCR,执行手动操作,今天就和大家详解如何在ABBYY FineReader中禁用自动处理. 若有疑问可直接访问:http://www.abbyychina.com/FRshiyongjiqiao/abbyyfr-jinyongzdcl.html 如果文档包含的文本混合使用

03--(二)编程实践中C语言的一些常见细节

编程实践中C语言的一些常见细节(转载) 对于C语言,不同的编译器采用了不同的实现,并且在不同平台上表现也不同.脱离具体环境探讨C的细节行为是没有意义的,以下是我所使用的环境,大部分内容都经过测试,且所有测试结果基于这个环境获得,为简化起见,省略了异常处理.我不希望读者死记硬背这些细节,而是能在自己的平台上进行实验从而获得对应的结果.另外,本文仅仅关注于C,可能会考虑C++的表现,但在C++和C#环境下的编译器所获得的看似C代码而实不同的结果不作为参考.基础的东西比如“函数参数传值”.“转义字符”

OJ提交题目中的语言选项里G++与C++的区别(转载)

原文链接:http://blog.polossk.com/201405/c-plus-plus-g-plus-plus G++? 首先更正一个概念,C++是一门计算机编程语言,G++不是语言,是一款编译器中编译C++程序的命令而已. 那么他们之间的区别是什么? 在提交题目中的语言选项里,G++和C++都代表编译的方式.准确地说,选择C++的话,意味着你将使用的是最标准的编译方式,也就是ANSI C++编译.如果你使用的是G++的话,意味着你将使用GNU项目中最平凡适用人群最多的编译器(其实也就是

Windows Store App 全球化:应用中设置语言选项

当开发者将开发的应用上传到Windows应用商店以后,使用Windows 8系统的用户可能会看到并下载这些应用,而这些用户所在的区域或者所使用的语言可能都不相同,如果他们在使用应用程序时希望改变应用显示信息的语言为自己所熟悉的语言,这就需要应用能够提供一个语言设置选项,并在选项中包括用户所在地区的语言,这样就能够在应用中更加准确的为用户提供所需要的界面语言而不受区域的影响.下面将通过示例讲解如何在应用中添加"语言设置"选项,通过设置应用的语言来显示不同的信息. 新建一个Windows应

OJ提交题目中的语言选项里G++与C++的区别(转)

G++? 首先更正一个概念,C++是一门计算机编程语言,G++不是语言,是一款编译器中编译C++程序的命令而已. 那么他们之间的区别是什么? 在提交题目中的语言选项里,G++和C++都代表编译的方式.准确地说,选择C++的话,意味着你将使用的是最标准的编译方式,也就是ANSI C++编译.如果你使用的是G++的话,意味着你将使用GNU项目中最平凡适用人群最多的编译器(其实也就是我们熟悉的Code::Blocks的自带的编译器,Windows环境里一般是MinGW下的gcc,Linux中的gcc和

OAF中多语言的实现(转)

正好前两天研究过这个问题,分享一下啊. 标题:        OAF中多语言的实现概述:        OAF的多语言的实现有两种方式,其一是直接通过页面上面的“个性化”连接,连接到指定的页面后,进行设置:        其二是通过上传指定的xlf文件,来实现多语言的,下面讨论的是第二种实现方式.实现:         1.找到需要实现多语言的xml页面,(页面若是本地开发的,则直接从本地取得,            若是服务器之上的标准页面,则要先使用export工具类从MDS中下载下来.) 

linux 中 C 语言的使用 -- 结构体多态

在 Linux 内核代码,特别是驱动代码中经常见到的用法是使用一个标准结构,后面的代码基于这个结构来实现,类似面向对象的多态特性. 在 C 语言里面借助结构体和函数指针实现的这个功能,这里我们写了个例子,提取了关键代码: #include <stdio.h> struct s_new{ char name[10]; char* (* my_method)(char *name); }; char* powerful(char *name){ printf("%s is powerfu

linux中c语言errno的使用

在linux中使用c语言编程时,errno是个很有用的动动.他可以把最后一次调用c的方法的错误代码保留.但是如果最后一次成功的调用c的方法,errno不会改变.因此,只有在c语言函数返回值异常时,再检测errno. errno会返回一个数字,每个数字代表一个错误类型.详细的可以查看头文件./usr/include/asm/errno.h 如何把errno的数字转换成相应的文字说明?方式一:可以使用strerrno函数 char*strerror(interrno) 使用方式如下: fprintf

单片机中C语言的程序与数据存储

单片机中C语言的程序与数据存储 一.五大内存分区: 内存分成5个区,它们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区. 1.栈区(stack):FIFO就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区.里面的变量通常是局部变量.函数参数等. 2.堆区(heap):就是那些由new分配的内存块,它们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete.如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收. 3.自由存储区:就是那些