IT语言平台

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

“蔡佳娃,说说看,你都学过什么编程语言啊?”

“不算少哦,我学过C、C++、选修过VB、下学期还会有Java。”

“那你准备选哪种语言入行呢?”

“这倒没想过,不过只要学得多了都有好处吧?”

“那可不一定,你学得多我不反对,不过必须得有一门精通的语言,就像种了十盆花,总得有一盆是拿得出手的吧?”

“嗯,那倒是,那师兄你给我介绍介绍当今的编程语言行情呗。”

“OK,先给你看看最新的编程语言排行榜。”(见图1-1)

图1-1列出了2009年9月编程语言排行前12名的柱状分布图,可以看出Java虽然优势不是特别大,但还是顽强地占据开发语言老大哥的位子。其他比较强势的语言是C、PHP、C++和VB,这几门语言占据了所有编程语言的半壁江山还要多。

1.Java

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

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

 

2.C

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

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

3.C++

C++衍生自C语言,但是发展到现在,C++和C语言已经独立开来,并且C++编译器也可以容纳C的源代码。C++很少被用于Web级和企业级开发,更多地被应用在系统级开发的项目中,在大型游戏、设备驱动等方面有较大的优势。

但是由于C++语法并没有彻底甩掉C语言的累赘,面向对象搞得不够彻底,使得C++语言过于复杂,可靠性要略低于其他语言。

4.C#

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




提 示


.NET Framework实际上就是个虚拟机,但很遗憾的是.NET Framework只有Windows系列操作系统中才有,这也在很大程度上影响了C#的覆盖面。

5.PHP

PHP是一种内嵌在HTML中的服务器端脚本语言,它是开放源代码的。经过历代开发者的辛勤劳动,PHP从1.0版的只有一个简单的网站计数器和留言本,发展到PHP 5强大的面向对象功能。在开源项目如火如荼的发展形势下,PHP应该还会吸引大批的开发者参与进来。

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

6.(Visual)Basic

Basic最初是为初学者设计的一门语言,后来被计算机厂商(尤其是微软)不断改进。Windows操作系统问世后,Visual Basic逐渐流行,它的最大特点就是易用,可以方便地连接数据库,快速建立Windows应用程序和企业级程序。

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

7.Perl

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

8.Python

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

9.JavaScript

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




提 示


很多初学者容易混淆JavaScript与Java,其实二者之间主要的联系就是名称中有四个英文字母相同,其他的如应用领域、运行平台等都有很大的区别。Java可以开发从单片机嵌入式程序到大型企业级应用,而JavaScript主要是开发嵌入在浏览器中运行的应用程序。

10.Ruby

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

Ruby由日本人发明,所以网络上的资源并不是很多。关于Ruby是否能流行于大型商务应用,笔者持观望态度。

11.Delphi

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




提 示


Linux平台下的Delphi不称之为Delphi,而称为Kylix。不过由于 Windows与Linux操作系统平台所提供的接口不同,并不是所有用Delphi开发的软件都可以无缝迁移到Kylix中。

12.Pascal

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

“怎么样,蔡佳娃?看了这么多编程语言的介绍,心里有没有什么打算啦?”

“师兄,越看越迷糊啦!”

“没关系,可以好好想想,我说的可能不全,你可以在网上再搜一搜资料。”

“OK!”

选择一门编程语言,只是入门的途径。过分依赖编程语言,只会让自己成为代码高手,而不是开发大牛,要知道编程语言只是一种工具,更重要的是编程思想。