知道美河 | 上传资料 | VIP申请 | 精品课程 | 资料搜索 | 问题反馈 | 会员手册 | 积分消费 | 积分充值 | 帐号保护
美河学习学习在线赞助VIP

美河学习在线(主站) eimhe.com

 找回密码
 建立账号
查看: 368359|回复: 166

[原创] 第一期【主题,辩论】Java与C++的对比(已结束)

[复制链接]
发表于 2008-11-29 14:16:30 | 显示全部楼层 |阅读模式

评判时间: 2009-12-31 21:44

裁判观点: 辩论没有胜负,此贴相信会给新手很大的帮助,最后结果是根据投票,
同时经管理员,版主商议, piaoling获得第一期的最佳辩手

最佳辩手: piaoling

如今企业选择使用哪个做项目,我们需要更为深入的学习哪门技术,Java ? C++ ?  ...?
& K* V0 d, ]1 @3 T/ t7 O( O; ^Java作为新生代的宠儿,得到迅速,姑且不论是否能在今后取代c++,
0 l4 n" i) p+ O# t0 J2 V著名的电骡就是c++编写的,它对c也有很好的兼容,运行速度快,每门语言都有自己的精髓,否则不会各领风骚
+ h4 W5 S% k: c2 f
0 e1 t% p" h" ?2 S& ]! W6 O二者的基本结构非常相似,两者都是面向对象语言。希望大家能够展开探讨,
" G* I; V' ^/ ~) _: Q2 X究竟现在更需要什么样的人才,初学者应该从和做起,避免让更多的人走弯路  N; k; r$ i% P

* q' Y$ ?8 n( G; N8 r! k1 g5 V( i& ], y: h
具体参加细则及奖励措施,请参考 【主题,辩论帖】参赛细则及图文介绍, y" W5 i0 g+ {7 H( y( m7 `" I

4 h! E: K( J5 J  i
6 @5 Y2 C& V7 @注:希望大家多从当前形式,和企业的需要分析毕竟需求决定供给,,功能上,两者的差异可以少些,不要一句什么好什么坏,希望你们的经验可以给刚进入学习的朋友一些启示
1 z- G5 [- {: K7 F2 Y: o9 v- {) D+ E) E1 O7 y

+ J% {! b2 t+ z- s5 Y# m/ {% q支持原创,严打转载冒充者
+ J- L" r1 w& H' D" y5 Y. p1 G3 Q7 R8 [: {0 O; m" O! e

" M, ]* Z# E* Q2 N4 ~% H. v
5 l/ u- Y) ]" k) h) H& E. @下期待定话题:7 a" @: W. w& {
一:如果时间倒退至大学,这四年学习的机会,你会怎么利用课余时间,学习哪几门课程  `6 ?6 X: ^. z/ l$ Q3 T9 j% ]) l
参考:  L4 c; t  T6 B* |
综合性路线:j2se--数据库--网络--操作系统技术--系统分析师资格证(这是我正在走的路线)
5 F6 J6 q, k& P3 q. `9 v8 ~1 }或者你选择j2ee路线:j2se--j2ee(jsp servlet+struts hibernate+spring+ejb3.0+UML
$ L# R5 _% L, s- c. n或者你选择网络工程师路线:网络技术(CISCO/华为/…)+系统技术(Windows/Linux/Unix/…)+数据库技术(Oracle/DB2/…)+网络服务应用的架设及管理(Mail/OA/DNS/WEB/FTP/VPN/…)+……
( i+ v* U+ Z3 o: Q8 I* H其他路线 ...
8 f7 l6 Z0 T, \$ c' `$ R( w4 p7 l2 g+ O/ M) S
二比较话题:jsp,asp,php的比较

结束时间: 2009-12-31 21:44 裁判: 深情少年

正方观点 (270)

Java更适于时代的发展

反方观点 (126)

c++独领风骚,经久不衰

发表于 2008-11-29 14:34:38 | 显示全部楼层

java 好

十年来,Java编程语言及平台成功地应用在网络计算及移动等各应用领域,比如移动电话、个人电脑、跨国金融系统和卫星通讯等。据统计,目前全球运行Java的设备已达到25亿,Java开发人员超过450万,基于Java技术的智能卡达10亿,基于Java技术的手机达7.08亿,采用Java技术的PC机达7亿,JCP(Java Community Process,Java社区进程)成员达912个,运营商们部署Java平台140多个。

评分

1

查看全部评分

发表于 2008-11-29 14:39:04 | 显示全部楼层
java与C++的基本结构极为相似,学过c++的人再学java非常容易上手,java是在c++基础上去掉C++里面烦人的指针。 java的流行,兼容性强,功能不弱,用java 编写程序要比用C++来的容易。 # Y; H4 G% e- }% C7 v+ H7 e
c++功能虽然强,但里面的指针很难掌握,而c++最主要也就是指针,所以掌握起来很困难。

评分

1

查看全部评分

发表于 2008-11-29 14:40:07 | 显示全部楼层
(本文转帖,不参与奖励,只发表观点)二者的基本结构极为相似,学过c++的人基本上能看得懂java程序代码,java是在c++基础上去掉C++里面烦人的指针等等, 3 Z, L8 \& _/ h
java:流行,兼容性强,功能不弱,有人说java是网络语言,这更本就谈不上,只是java 的兼容性强, 7 J8 p. q. l3 n% X. Y
用java 编写程序很容易找到自信,非常的清爽! & `6 M7 G1 ^7 L+ y; |  W+ M# X
c++:功能实在是太强大,著名的电骡就是c++编写的!是一门金典语言,编写程序的平台方便等等! & o/ K9 s0 T( G
但是:c++里面有最烦人的指针,指针是c++的灵魂也是c++ 的精髓,困难且不易精通, . C: S# T" B6 y5 J: ?: Y) a% D& e+ I
本人用C++编写了近8年的程序后来转用java3年了感觉C++能完成的功能java有些是不能完成的!9 T8 }& Y7 T) u: m

- o# ~, x- b# ]( w; R[ 本帖最后由 xumingboy 于 2008-11-29 14:46 编辑 ]

评分

1

查看全部评分

发表于 2008-11-29 14:41:27 | 显示全部楼层
刚开始是C语言,然后就是C++,Java是完全意义上的面向对象的语言,而C语言不是,C++也只能算部分面向对象的语言。

评分

1

查看全部评分

发表于 2008-11-29 14:45:25 | 显示全部楼层
先有C语言,然后是C++,而java是在后才出现的,从历史上看新的事物是必将代替旧事物的。这是必然。

评分

1

查看全部评分

发表于 2008-11-29 14:48:04 | 显示全部楼层
用C++编一个程序就要从头就开始做,而JAVA本身就集成了很多的东西,所以用起来非常爽,就好比要盖房子,前者要从制作砖头开始,然后再去盖房子,而后者已经有了现成的砖头,你想想哪个效率会更高呢。结果是显然的。

评分

1

查看全部评分

发表于 2008-11-29 14:51:48 | 显示全部楼层
中国现在国内虽然是C++的天下,但是我们的眼光要放远一点,你看看人家国外,java已经非常成熟。国内的很多东西不少是从国外引进来了,你们想想啊,国外现在人人都在用java而国内的明天就可想而知了。

评分

1

查看全部评分

发表于 2008-11-29 14:56:58 | 显示全部楼层
Java几乎可以任何平台上良好的运行,比如洗衣机里的控制程序,空调里的控制程序等。有人说C++也可以啊,但是如果在上述两者间建立能信并由远程系统来控制呢。用C++可能很难做吧。

评分

1

查看全部评分

发表于 2008-11-29 15:03:10 | 显示全部楼层
发表于 2008-11-29 15:03:41 | 显示全部楼层
JAVA是更好的面向对象的语言及JAVA是跨平台性非常好。
7 ]% ~3 G/ Q- D! L& z3 j- ~. K如果让我只用一句话来说明Java胜过C++理由,我会说Java简单。其实就是这么简单。

评分

1

查看全部评分

发表于 2008-11-29 15:05:54 | 显示全部楼层
我们是计算机系的,上学的时候学C++就学得非常郁闷,而后来学了JAVA后,感觉就不一样了。也许是我笨一点,不过这的确是自己的感受。

评分

1

查看全部评分

发表于 2008-11-29 15:24:03 | 显示全部楼层
我有一个朋友一直用C++在公司里做项目几年了,而现在他说要转向JAVA了。为什么呢?像他这样有基础的人当然不会是因为JAVA简单才学的, C++做的项目在后期维护上要付出很大的代价,既费时间又费金钱,而JAVA的测试维护体系及工具就做得比较好了,可能节省相当的资源。
: l( R" P3 R" q7 ?" n9 I1 B你去找工作的时候行业里的人经常会问“用过JAVA吗?而你如果说没有,结果是可以想到的。5 D( q5 x# Y( x- k$ G0 x+ w: k
而且现在大学生在校的时候,计算机专业的一般都会开JAVA。
; o: l0 d8 N: W* S4 Z; B如今现在电子信息高速发达,正是用JAVA的好时候,大到通信小到家用电器,用途非常广泛。在做一些三维物特效方面JAVA的优势更是不容置疑。7 X: C! P5 V9 D0 B
引用SUN公司的话:它是一种简单、面向对象、分布式、解释型、稳定、安全、结构中立、易移植、高性能、多线程的动态语言。# e; J( ^9 ~2 k) c& v' U! b8 [
如果让您选择你会选择什么呢?

评分

1

查看全部评分

发表于 2008-11-29 15:33:05 | 显示全部楼层
传统上认为,C++相对于目前一些新潮的语言,如Java、C#,优势在于程序的运行性能。这种观念并不完全。如果一个人深信这一点,那么说明他并没有充分了解和理解C++和那个某某语言。同时,持有这种观念的人,通常也是受到了某种误导(罪魁祸首当然就是那些财大气粗的公司)。对于这些公司而言,他们隐藏了C++同某某语言间的核心差别,而把现在多数程序员不太关心的差别,也就是性能,加以强化。因为随着CPU性能的快速提升,性能问题已不为人们所关心。这叫“李代桃僵”。很多涉世不深的程序员,也就相信了他们。于是,大公司们的阴谋也就得逞了。
; Z/ b0 _6 k* L0 W" ?一般认为,使用Java或C#的开发成本比C++低。但是,如果你能够充分分析C++和这些语言的差别,会发现这句话的成立是有条件的。这个条件就是:软件规模和复杂度都比较小。如果不超过3万行有效代码(不包括生成器产生的代码),这句话基本上还能成立。否则,随着代码量和复杂度的增加,C++的优势将会越来越明显。造成这种差别的就是C++的软件工程性。

评分

1

查看全部评分

发表于 2008-11-29 16:08:08 | 显示全部楼层

对这些不感兴趣!只对钱感兴趣!学什么都是转换成钱!能赚钱的东西就是好东西!

对这些不感兴趣!只对钱感兴趣!学什么都是转换成钱!能赚钱的东西就是好东西!

评分

1

查看全部评分

发表于 2008-11-29 16:10:27 | 显示全部楼层
Java比C/C++易学、易用,且有强大的内建功能。当Java在编程领域得到广泛应用后,C++将可能退出历史舞台,因为Java能做C++的所有事情,同时,Java的代码可以重用。

评分

1

查看全部评分

发表于 2008-11-29 16:15:14 | 显示全部楼层

C++会独领风骚,经久不衰

收集的资料,来表达我的观点(非原创,不参与评奖)
% h. r5 t: v2 p' V7 [从来没有哪一种语言能适合所有的工作,恐怕以后也不会有。实际系统通常是用多种语言和工具构造起来的。C++只是想成为若干语言和工具中的一个,当某些专用语言在其领域里特别突出时,它们可以与C++互为补充。也就是说,我觉得如果大多数现在的专用语言能借助特定领域的C++库共同工作的话,它们会表现得更出色,而脚本语言通常导致难以维护的代码,这或许跟语言选择关系不大,可能更是因为急着想将产品尽快推向市场。
( n3 m5 l4 r( n2 r# ]# `所以说C++C++有着极美好的未来。用它你能写出伟大的代码。不管被多少敌意的宣传所攻击,C++仍将是开发高性能、高复杂度系统的最佳语言。当然,在未来的十年里我们会看到一些变化,跟每一种语言一样,C++也会不断演化。这样才能更好的适应时代需求,更好的发挥作用!

评分

1

查看全部评分

发表于 2008-11-29 16:32:59 | 显示全部楼层
如果要是说JAVA比C++好用,好学是因为JAVA没有指针等。那么我只能说你可能没有学通C++,指针就是C++的精髓,如果你真的学会了C++,那么你会发现C++十分好用,并且十分灵活。

评分

1

查看全部评分

发表于 2008-11-29 17:30:50 | 显示全部楼层

java后来居上,C++大势将去

曾经不知有多少人讨论过C++与java孰强孰弱的问题。这不美河也讨论起来了。
: b8 Z1 g( X& d/ C    80年代出现了C语言。它一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设
; u  t( E7 T+ n7 K. ~9 U- ^7 m& ?6 h2 ~: Q$ ^, b$ B
计语言,编写不依赖计算机硬件的应用程序。因此,被广泛应用。$ H# k) z0 z! K; \& _- n
    而后90年代末在C语言的基础上又出现C++语言。与C语言相比C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对5 L) |1 L7 Y7 ]3 \8 D8 H

* [5 b3 X' M' _  d! ^. B象程序设计。这些都是C语言无法比拟的。它是一门独立的语言,也不依赖于C语言,又有些上述的优势,因此在相当长的一段时间里,C++几乎囊括了编程的全部。至今仍雄风不减当7 I" J$ |- T4 D1 P0 |% N3 T1 L
1 v% V+ H" m" z
年。
: q, g/ {! ~$ x/ t7 ~. ?* D) B    1995年Sun Microsystems公司推出的Java程序设计语言。它是一种简单、面向对象、分布式、解释型、稳定、安全、结构中立、易移植、高性能、多线程的动态语言。从Sun推出
0 m# Y$ l" ?9 ~8 w$ ?( {! c( _- e
4 V; ?2 H6 W% B+ n# R, [0 pjava的那一刻全世界的目光都被这个神奇的语言所吸引。Java语言的优良特性使得其应用具有无比的健壮性和可靠性,又有JAVA的测试维护体系及工具,这也在很大程序上减少了应用
/ ?* s& A4 ?) ~7 J9 _( H/ H9 Y
* }+ Q, s* P1 g( _4 Y% L: b! M' R  S系统的维护费用。0 @9 H) h, N8 M6 D' F
    下面说说java相对于C++哪些优势:8 ?2 h, X: x( ^7 p
    1.从上面的定义可以看出JAVA是更好的完全意义上的面向对象的语言,而C++仅仅是支持面向对象程序设计。这就使得java的维护更为简单,可扩充性更强。其实很多做软件的人1 }: Q. T9 S8 n. I& P+ t- k

* `& P% t4 T3 m为什么在用C++几年的基础上,毅然选择java,就是因为C++编出程序在后期维护上要付出很大的代价,而java的测试维护体系及工具非常完善,大大节省了人力物力资源。5 Q6 b( v2 Y7 p0 T0 i/ L
    2.JAVA是跨平台性非常好。例如你可以在windows下开发测试,然后部署到linux下。正因为此如今java已经应用到信息社会的各个领域,比如移动通信、个人电脑、家用电器及卫
" f: c7 S* E# y& i9 G" E+ v% C8 ]8 ]1 y2 G4 E
星导航等诸多方面。当然C++也可以实现跨平台,但要困难得多。, _) C/ C. g, ?- D% e/ i6 u
    3.java的开源与规范。因为是开源,许多工具是免费的,所以每个人都可以自行开发;而java中又到处都是规范,不论是J2EE、Web还是Job等,更连java虚拟机也都是规范。好处; {/ h, F7 Q! X7 ~# V

) x0 v" F( K8 B4 v! `在于已经规定了大的方向,百家齐鸣,各显神通,但有一点是肯定的,不论是谁实现的,都是在推荐着java的进步。SUN公司正是把住了这一点才使得java有了今天的辉煌,一切都是3 W/ |( h$ }3 r( ~5 L
1 L+ I$ r) `( E6 b( r
抽象的,一切都是接口。真的是一流公司定规范,这是SUN公司的高明之处。
! o! U" f- ^4 w: ?4 a    4.java是建立在简单的基础上。java与C++的基本结构非常相似,但又去掉了C++里面烦人的指针。这就使得人们很容易上手。c++功能虽然强,但里面的指针很难掌握,而C++的精
9 B) C3 \  p# Q* o, V  Q$ p, Z& }0 L' {  s
髓又表现在指针的运用上,这使得一般人难以驾驭。
( _; ^: T! W7 l7 i% t" s: Y    有的人说C++的执行效率比java要高。不错,java在执行效率上的确是不如C++来得快,但随着计算机运行速度的提升,很多应用对运行效率要求已经没有以前那么高了,而对开发
6 T, @! O& e! K  S% T: d5 }4 N1 |) M) B5 ]7 }# [7 h; e& q; O, R
周期的要求提高了。这也是选择java平台的优势所在。这可能是SUN公司的另一个高明之处吧。   
! P9 }3 y0 E$ q* S2 B. p2 M    还举这个例子,同时开发一个项目,如果你选择C++做平台,那么你将从0开始作;若你用java为工具,则你的起点可能是30。就好比盖楼一样,前者是先炼制砖瓦,然后再建楼;
& l% D5 m9 W* M" e1 Q) f
. p. @! ]3 O+ Z, m而后者则相当于已经有现成的砖头甚至接过别人建的半个楼,然后继续建设。结果不言而喻。
0 [' o# Q" m! u, ]8 f7 [    首选从历史的角度来看:新事物必将代替旧事物,其间也许可能出现一定的反复,但被代替已是必然。就好比如今国内的C++如日中天,而java可能还处于青少年,但C++会一点点老去,而此时java已然成年。) Y) X6 e. N7 M0 C# q7 K' R
    再从个人角度看,面对功能强大但难以驾驭的C++与功能同样出色且容易上手的java,你会选择哪一个呢?我一定会奔向java,只有一个理由:那就是因为java简单。更何况java相对C++有如此多的优点。! E6 D; L* _" l4 ]3 g' t+ u7 S$ V$ t
    可以用一句话来概括就是:java后来居上,C++大势将去。1 l4 Q0 k" y' f7 ^2 b7 L; D1 d2 J
, v! x) `2 L5 _3 J6 y% `
[ 本帖最后由 sjah113 于 2008-11-29 17:41 编辑 ]

评分

1

查看全部评分

发表于 2008-11-29 17:57:00 | 显示全部楼层
发表于 2008-11-29 18:13:46 | 显示全部楼层
发表于 2008-11-29 19:15:54 | 显示全部楼层
java,c++开发的东西是不一样的,java用于开发基于b/s架构的系统语言,c++ 主要开发用于c/s架构的系统语言,随着基于java的ajax,flex等浏览器富客户端的技术越来越成熟,java一统天下只是早晚的事情。到时候c++还会存在,但是只是为java服务的一个小工具语言了,有些仁兄说c++的指针灵活,可其他的特性和java能比吗?一次编译,到处运行;软件复用性;大量的开源框架;全球20%的使用占有率;上手快;这些c++是没的比的。java会想汽车淘汰马车一样淘汰c++ ,当然,马车在农村还是存在的。

评分

1

查看全部评分

发表于 2008-11-29 19:20:16 | 显示全部楼层
原帖由 zhaozhiqiang6 于 2008-11-29 19:15 发表 & K2 l8 l: F! ]5 X1 n" k" N: p3 u
java,c++开发的东西是不一样的,java用于开发基于b/s架构的系统语言,c++ 主要开发用于c/s架构的系统语言,随着基于java的ajax,flex等浏览器富客户端的技术越来越成熟,java一统天下只是早晚的事情。到时候c++还会存 ...

( M1 O! f/ Q. f* f' b呵呵。同意楼上的说法,大家想得是一样的。java淘汰C++只是时间的问题。

评分

1

查看全部评分

发表于 2008-11-29 19:31:21 | 显示全部楼层

没有C#或其他语言,我只好参与JAVA了。

如题。C++其实是基于底层平台的。和JAVA的对比性不太好说。要看在用在什么项目中了。0 c; V4 `0 B! j
IT界、软件界的发展,C和C++的功劳是不可磨灭的。JAVA正是在社会不断发展中,摸索出的一种更便捷,更强大的语言。从特点和支持性来说,应该更胜一筹。
2 j! N5 U1 M* p4 d2 r% K1 Y. \6 W6 l4 V/ U* o1 k
最后还是一句:拿具体东西来说话,没有具体项目中的实践,该辩论只能说是闲侃。^_^。

评分

1

查看全部评分

发表于 2008-11-29 19:32:04 | 显示全部楼层
新的时代开始就注定旧事物会慢慢的被人淡忘,
+ `( n) r$ u/ e4 f2 r- E现在也许java很火,但也不能把C++说的一文不值,
+ h  Y1 u  I0 k6 a9 p2 j两种语言都学过一下,但没有继续下去,因为一种语言要精通,真的很难,

评分

1

查看全部评分

发表于 2008-11-29 20:12:50 | 显示全部楼层
java通俗易学,而且在各个领域都有建树,无论是底层的嵌入式开放到网页编程设计,java都是编程人员的首选. d4 @! Q2 h) H1 Y$ W) K0 z" H* s8 `
而且现在大学里面也有从大一就开始开设java,一直到大四毕业,专门培养java编程思想!: L+ {5 X* I. y' c" o8 t; f% _
我认为java将会是未来的主流!!!谢谢

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 建立账号

本版积分规则

 
QQ在线咨询

QQ|小黑屋|手机版|Archiver|美河学习在线 ( 浙网备33020302000026号 )

GMT+8, 2026-1-24 10:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表