|
发表于 2008-11-29 17:30:50
|
显示全部楼层
java后来居上,C++大势将去
曾经不知有多少人讨论过C++与java孰强孰弱的问题。这不美河也讨论起来了。
) a. N" r ]' r# r5 F 80年代出现了C语言。它一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设
& z) r* u( Z$ J2 b4 s+ V, z5 t2 t5 X( b. n5 ]2 y7 B; i
计语言,编写不依赖计算机硬件的应用程序。因此,被广泛应用。' i$ |# b5 d$ Y5 _5 O4 ?. k2 B) b9 y
而后90年代末在C语言的基础上又出现C++语言。与C语言相比C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对3 O; n( ? W6 O+ _7 N% |
1 H, ~4 i3 B4 y象程序设计。这些都是C语言无法比拟的。它是一门独立的语言,也不依赖于C语言,又有些上述的优势,因此在相当长的一段时间里,C++几乎囊括了编程的全部。至今仍雄风不减当9 Q' a) t9 ?3 K- Q; Z) S
% o- g2 T3 R, `- \# \! n O @
年。
9 z9 B0 \& o. s/ I% ~ 1995年Sun Microsystems公司推出的Java程序设计语言。它是一种简单、面向对象、分布式、解释型、稳定、安全、结构中立、易移植、高性能、多线程的动态语言。从Sun推出
; [. |) F! N; q; x& ^$ M
. d* W1 ]/ {2 U3 F# W9 k9 Tjava的那一刻全世界的目光都被这个神奇的语言所吸引。Java语言的优良特性使得其应用具有无比的健壮性和可靠性,又有JAVA的测试维护体系及工具,这也在很大程序上减少了应用; A0 t, F" a8 m) _8 J6 u
( T. I+ C2 B1 U/ H4 k+ R1 k) v
系统的维护费用。" p, t" r8 P: b
下面说说java相对于C++哪些优势:
+ J6 e+ g: a9 V 1.从上面的定义可以看出JAVA是更好的完全意义上的面向对象的语言,而C++仅仅是支持面向对象程序设计。这就使得java的维护更为简单,可扩充性更强。其实很多做软件的人& y$ d( X0 g1 D8 \& \0 ~5 S
3 \( \ j9 K j0 l2 }
为什么在用C++几年的基础上,毅然选择java,就是因为C++编出程序在后期维护上要付出很大的代价,而java的测试维护体系及工具非常完善,大大节省了人力物力资源。! C: t6 m5 p2 }5 S. e* K
2.JAVA是跨平台性非常好。例如你可以在windows下开发测试,然后部署到linux下。正因为此如今java已经应用到信息社会的各个领域,比如移动通信、个人电脑、家用电器及卫$ g. F2 H0 _4 W9 i9 f' ?
; ~2 G: G3 d: [星导航等诸多方面。当然C++也可以实现跨平台,但要困难得多。
: f- \! g2 V2 s9 N 3.java的开源与规范。因为是开源,许多工具是免费的,所以每个人都可以自行开发;而java中又到处都是规范,不论是J2EE、Web还是Job等,更连java虚拟机也都是规范。好处
1 A* @5 w3 G6 G9 i1 A8 t" Z
* ` Y; {3 ~! Y% x( Q在于已经规定了大的方向,百家齐鸣,各显神通,但有一点是肯定的,不论是谁实现的,都是在推荐着java的进步。SUN公司正是把住了这一点才使得java有了今天的辉煌,一切都是3 N4 |3 k$ W0 E' w6 W5 g
) V o& O2 Y" d2 _0 F- H4 u: S
抽象的,一切都是接口。真的是一流公司定规范,这是SUN公司的高明之处。' \8 i, ^9 w% O) s6 W7 \
4.java是建立在简单的基础上。java与C++的基本结构非常相似,但又去掉了C++里面烦人的指针。这就使得人们很容易上手。c++功能虽然强,但里面的指针很难掌握,而C++的精
! o( v$ J( K0 |- W7 w
9 e7 V! l% Z- c! c$ C: ]4 q$ y髓又表现在指针的运用上,这使得一般人难以驾驭。
5 P: @6 \" p) S1 c6 A$ i& g6 B) S 有的人说C++的执行效率比java要高。不错,java在执行效率上的确是不如C++来得快,但随着计算机运行速度的提升,很多应用对运行效率要求已经没有以前那么高了,而对开发
- t2 W+ X# t( c6 |( J e( s( s/ G) Q" m D% ] D
周期的要求提高了。这也是选择java平台的优势所在。这可能是SUN公司的另一个高明之处吧。 0 E# D" y; h' p3 z$ j1 y& ~
还举这个例子,同时开发一个项目,如果你选择C++做平台,那么你将从0开始作;若你用java为工具,则你的起点可能是30。就好比盖楼一样,前者是先炼制砖瓦,然后再建楼;/ }/ [* ~3 e+ P6 D! ^4 Z/ ~3 j
; T5 g, h% z# E9 z, K7 V4 Q3 N而后者则相当于已经有现成的砖头甚至接过别人建的半个楼,然后继续建设。结果不言而喻。* ~8 d; s& O8 ^( W" g) t
首选从历史的角度来看:新事物必将代替旧事物,其间也许可能出现一定的反复,但被代替已是必然。就好比如今国内的C++如日中天,而java可能还处于青少年,但C++会一点点老去,而此时java已然成年。
$ J5 [$ d% W$ W9 N8 B$ @9 I5 | B 再从个人角度看,面对功能强大但难以驾驭的C++与功能同样出色且容易上手的java,你会选择哪一个呢?我一定会奔向java,只有一个理由:那就是因为java简单。更何况java相对C++有如此多的优点。
" m2 N/ O' b3 p2 H8 [) E1 w* e 可以用一句话来概括就是:java后来居上,C++大势将去。
, ~% X7 j3 b/ T( i5 W5 d( g% v& ~: S9 r) l2 \( |1 X u
[ 本帖最后由 sjah113 于 2008-11-29 17:41 编辑 ] |
评分
-
1
查看全部评分
-
|