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

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

 找回密码
 建立账号
楼主: 深情少年

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

[复制链接]
发表于 2008-11-29 20:33:42 | 显示全部楼层

java将更成熟

java本身通俗易学,它的api和框架使得编程更轻松,对算法掌握要求不再苛刻* ^- h  a9 t6 I% V+ `' m) l

: o" ]0 m& p( C, G2 }虽然java目前可能不能像C++强大,只是说明java有待完善而已3 g+ Z/ C6 e4 }# j
8 \0 Q: f3 B1 m# ?
一个初学编程者的看法

评分

1

查看全部评分

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

敏捷开发Java正当时

任何一种语言很难说谁好谁坏,只是看使用的人群,C++可以说在编写硬件驱动这块很强,但要用在商业开发则有些为难,真正可以与Java对抗的只有C#了,其实真正在企业级应用程序的解决方案中,应该是J2EE和.Net平台。只是现在在讨论Java和C++的对比,那么应该说在敏捷开发上Java正当时,简言之敏捷就是软件开发应该轻装上阵,卸下文档的包袱,使团队保持高度的灵活性,我原来参与的一个项目就是用到了一个Java轻量级Web应用程序开发的框架StrutsMVC框架,用得工具和开发包全部是免费的,这也是Java的一大优势所在,特别适合中小企业开发。不论是在可维护性,可升级性,灵活度及移植性等方面,Java所具有的优势是C++无法匹敌的。

评分

1

查看全部评分

发表于 2008-11-29 20:39:55 | 显示全部楼层

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

1、JAVA是解释型语言,C++是编译型语言,故C++的效率高些。Java生成字节码,C++一般为exe。6 j) x; I% i8 z# Q* g
2、JAVA是强类型语言,其类型限制比C++要严格的多,其数据类型长度固定,而C++中数据类型的长度随环境改变而不同。 - W/ q9 f+ E6 ^
3、JAVA只允许单继承,C++允许多继承。
7 p5 ?+ I0 m# X- a% N, T2 q4、JAVA不支持操作符重载。
. X3 U5 u8 ]; s6 Z( r5、JAVA不支持默认参数。

评分

1

查看全部评分

发表于 2008-11-29 20:40:18 | 显示全部楼层

它们两有什么可比的?

Java为什么流行,什么时候流行的?# ]% k& r# G" f2 |) Y, X# R
Java的流行是伴随着互联网发展高潮而来的,应此Java的身上带有很深的互联网烙印,它更适合开发网络上的B/S架构的应用程序,同时因为Java有良好的跨平台性,有统一并且强大的类库,有纯种的OO血统,这些都为Java的流行创造了条件  O% v$ Q# E) I/ E
C++为什么流行,什么时候流行的?+ c( y/ w7 B; S  b& A, E0 G$ S
自从OO在软件编程界大行其道以后,应用广泛的C后继乏力,同时大量的C程序需要升级和更新,这个时候对C有很好兼容性,并且对OO有不错支持的C++适时而生,它即保持了对原有的C完美兼容同时能够提供oo扩展。但是过于复杂的语法细节,没有统一的类库等问题都是人们一直所诟病的。所以现在C++的开发领域主要集中在对性能要求极高,与硬件联系紧密的领域,在B/S架构上应用范围较为底层,一般程序员接触不到,给人以为C++老矣的感觉,但是请到各大招聘网站上去搜索,依然有大量的企业需要C++程序员远远超过纯粹的Java程序员
% ]0 z- x  w  gC++,Java的擅长领域不同,应用对象不同,各有优缺点,没什么好争论的,之所以写这么多完全是为了金币而来,所以到底C++和Java谁能活得更好,也是完全要看谁能更好的为人类创造价值

评分

1

查看全部评分

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

java是时代的发展和潮流,C++必将被取代!

我是南航的研究生,最初接触的是C++,感觉他的功能确实强大,代码也的确比java简洁。在数字图像处理方面和一些嵌入式中有不可代替的地位。但在现在很多应用都是跨平台的和网络应用,这正是java的强项,否则也就不会有现在的普及了,而且C++中的指针虽然功能强大但是也对软件特别是大型project的确有很大的隐患。
) [& n( s# t& [( W( v. C1 K  java的简单和跨平台是C++不可替代的,而且是纯粹的面向对象的新生代。以后在一些专业的追求代码效率和复杂算法的方面以外,java必将把C++取而代之。

评分

1

查看全部评分

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

C++有较多的入门书籍

学习C++最好的入门书籍便是谭浩强的那本<C++程序设计>5 _' g3 y, q8 N; ^; Z# z* f5 o
现在很多人建议在学习JAVA之前先学习C++,很明显C++更容易学会
' w  W4 f) K- L5 W, U% m至于JAVA的可移植性的确比C++好得多,但我认为这不能表明JAVA所有方面都比C++好,这个要看什么领域才能决定用什么语言.
! J/ A& _* ^$ y5 a8 LC-->C++-->C#-->...    C++不会衰退的,相反会不断的改进发展
& j7 e( j, p' \' S4 ~) iJAVA的优势也不少,但它是在C++出来之后才出现的,对C++的部分改进是理所当然的

评分

1

查看全部评分

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

c++适合培养编程思维

首先,我要反对的是什么c++大势已去的观点。什么叫大势已去,如果说在csdn的排行榜上c++开发的项目一天比一天少的话,我举双手赞同。但是,每个月的排行榜上c++都榜上有名,而且都是和java一样,排行都在前五。; s2 j8 `& v& C+ L  z3 D( \+ V
  其次,c++作为一种比较不纯的面向对象的语言,他获得了大多数面向对象的特性,也就是说任何一个java能开发的项目,c++都能胜任,不管是在微机上,还是在各种的嵌入式系统中。并且他的执行速度绝对优于java。, C4 Z' b' ]8 j# C
  第三,c++不仅是面向对象的语言,他对底层操作任有很好的支持,也就是说他向下很好的兼容c语言,大家在回头看一下csdn的排行榜,你会发现前三名基本上都是c,c++,java。c++向下兼容c.也就是说单从开发上来说,用c语言写的程序都能用c++语言来实现,这样c++的应用场合是不是大于,而且绝对的大于java。+ _6 T9 v; r# `, e. S5 w- w5 C- P
  第四,有人说java简单,那么我问一下,如果认为c++难的人,他能编写出大型的程序吗,计算机受人的指挥,正是落实在硬件上,计算机上的许多课程都比c++难掌握,但是却是开发大型,综合项目必不可少的。操作系统,汇编语言,微机原理和接口,编译原理,哪一门比c++学起来轻松。如果说有人学会了用java写一个小项目,一个小游戏,就自认为学会了java,而且胡乱吹嘘java优于c++的时候,那么至少我认为这人是虚伪的,没有挑战能力的,局限于有限的知识点。还有我还肯定,若要这人开发一个大型项目的话,那么可以说是让他自找麻烦,因为他还会说,开发项目用的时间比学c++还多,而且比c++难学。
7 G* j& o9 [% f) ~1 D  第五,c++作为不纯的面向对象语言,提供了许多方便之处,比如数据结构中的模式匹配算法,要想达到很高的效率,kmp算法相当优越,而且只用一次扫描就行。但是java呢,他的string类就有这样一个方法,一个可以体会算法思想的题目,在java中就简单的跳过去了。这里有人肯定会反问,为什么我要知道那些已经研究过,且有原型的函数,面向对象的优越之处,不正是在于反复使用已经完成的代码吗?很不幸,作为这样一个小型的程序,他存在的目的并不是为了方便使用,因为有他的研究意义。可以去大学看一下,一个上了二流的大学会不学c/c++的吗!
% |' [& V/ z8 ^" _/ Q4 K/ {0 b  第六,c++作为一门优秀的程序设计语言,并不是因为有面向对象的方法和面向过程的结合,他任有许多局外的技术,java的优越处是在于一次写完处处使用,但是c++的模板技术,绝对适合泛型编程,同样是一次掌握,多处使用。
0 h. F. F7 @- o( ~; W  最后,还想说一点,要想运行java程序,你的机子上必须要有jre。虽然java的优越处就是一次写完,到处使用,但是付出的代价也是有的,至少你的机子上要有jre。较之c++,虽然不同的硬件系统生成的代码不一样,但是,源程序绝对是一样的,可以说一次写完,就能处处编译后使用。而且没有什么c++ run environment。这里不是说c++的优越,而是要让那些java爱好者承认,java的优越是要付出代价的。
% c8 W4 |  [) U* k0 B/ [! R2 f* \3 V* Z  总结性发言:认为c++难学的人,并不是看到了java的优越,而是胆怯于c++庞大繁杂的语法。认为java好用的人,并不是他学会了开发技术。只能说明他征服了一些小小的难题。真正的高手,是不会害怕繁杂的语法,庞大的体系结构的。我不希望人人都能成为高手,但是,人人都必须正视这个问题。c++独领风骚,经久不衰。

评分

1

查看全部评分

发表于 2008-11-29 21:35:46 | 显示全部楼层
C++难学,但明显更加强大,我认识许多大牛,基本都是搞C++的,虽然java也会。。
' j/ l4 V  t2 d5 P9 }/ N如果没有很强的逻辑思维的仅仅是想找个工作的话还是搞JAVA的好

评分

1

查看全部评分

发表于 2008-11-29 21:55:23 | 显示全部楼层
发表于 2008-11-29 22:01:18 | 显示全部楼层
Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。0 `% A% g% q, y# \
Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

评分

1

查看全部评分

发表于 2008-11-29 22:29:32 | 显示全部楼层
java是大势所趋了,因为我是学网络的,个人对程序语言不是很难了解,指发表我的观点:* Q( _+ g3 {' \# D5 _, i2 w
投java就是看他的应用范围。。。。。。。

评分

1

查看全部评分

发表于 2008-11-29 23:59:15 | 显示全部楼层
说两句!中立的!2 q% Q& m0 M3 m( ]
在win下用JAVA写输入法方便还是用c++写方便?) ?: _: x2 b' q* `) U5 Q
系统内核调试JAVA的可以吗?* I( \1 Y8 ^1 b! r7 ]
学一年的java孩子我就可以让他做一个简单的OA 让你学一年c++就给我做怎么样?
$ r  B" ]# O; K* [+ ]) I/ {/ S0 |) X6 f
一句话应用环境不同、面向任务不同、就要用合适的东西!其实合适的东西就是最好的!
: N0 K- _- G2 R0 w* p2 G8 R- c" G) N9 D, v' {7 X* c
[ 本帖最后由 ebook 于 2008-11-30 00:00 编辑 ]

评分

1

查看全部评分

发表于 2008-11-30 00:14:24 | 显示全部楼层
没种编程语言都有自己的好处和弊端' C3 j& h! ^- y2 l
当一个更强大更实用更简单的语言出现
- q9 I8 z9 W6 m: E 他会更实用更大众

评分

1

查看全部评分

发表于 2008-11-30 00:25:24 | 显示全部楼层
从某个观点来说,微软总比SUN强大许多吧,微软肯定是不会让JAVA独大的

评分

1

查看全部评分

发表于 2008-11-30 08:47:03 | 显示全部楼层
发表于 2008-11-30 09:32:30 | 显示全部楼层

只能说JAVA更适用于商业应用

之所以这么说,来自于java和C++应用的可维护性和开发周期,java运行于自己虚拟机之上,在计算效率上,同样的情形下是比不上C++的,但是在注重结果和研发周期方面,java规避了许多C++的先天不足,使得我们这些程序员可以不用有那么多的顾虑,而且java提供的面向对象机制相对于C++来说是比较易于理解的,便于设计和理解,控制结果。
  l5 S5 G  ]6 h: s所以说,如果开发商业应用的话,java是首选,如果苛求效率而追求完美的话C++是个不错的选择...
8 E- p% a7 E; \1 W  [3 h5 a0 X1 ]4 F" X3 T' C
补充一下,我就是从C++转java的,对于C++来说,公司的培训和学习的周期绝对是比java长的,而且对于大型的商业软件公司不可能找到的人都是高手,心思缜密,对于不能很好理解,控制和学习的技术,编写出来的产品对于后期的运维来说也是极具风险的,这是不值得的,除非一个公司对于一项技术有了很雄厚的知识储备,否则选择一个开发相对敏捷,最终产品维护方便的技术才是明智的。
! f1 c. [% O! m: y$ M0 f; \7 f# H- \, U
  O+ h: M! J/ ], T& i$ ^. z[ 本帖最后由 danirkl 于 2008-11-30 09:37 编辑 ]

评分

1

查看全部评分

发表于 2008-11-30 10:43:06 | 显示全部楼层
讨论Java更适于时代的发展还是c++独领风骚,经久不衰的问题,可以从某些技术不相关的角度去看。
" a$ L( x/ n$ H- o. o# hc++从创建到现在二十多年里,未找到能够替代或超越它的语言。  _! p7 A2 ]% O, I5 e4 F
Java却不断的有新的语言尝试挑战它的地位,并且这些语言在一些领域已经超越了Java,比如C#, Python, erLang等。
: J  y8 j# {8 ]; i2 p4 `. K由此可见。

评分

1

查看全部评分

发表于 2008-11-30 12:39:25 | 显示全部楼层

当然Java更适于时代的发展

JAVA比C++容易掌握熟练.+ K0 y( x; L# q9 S3 ^. X0 _
C++维护起来比JAVA要复杂,废时间.
0 [; t( W6 B1 s.JAVA有一套比较好的测试维护体系和工具

评分

1

查看全部评分

发表于 2008-11-30 14:20:39 | 显示全部楼层
java 比较容易学习,而且在网络的上层使用较简单,程序结构较灵活.

评分

1

查看全部评分

发表于 2008-11-30 16:13:14 | 显示全部楼层
发表于 2008-11-30 17:10:40 | 显示全部楼层
支持java
6 R4 i5 e' F) Y" A2 c  A& e) g, A8 o& z# i& Z" c3 Q; b% a
java作为一个跨平台的语言 它的优势是c++无可比你的。' o# w) j( e* K7 k  C0 w
/ V; a# c6 m8 I, v) ]
在国外也是这几天java的程序员要比叫多

评分

1

查看全部评分

发表于 2008-11-30 20:46:34 | 显示全部楼层
发表于 2008-11-30 21:12:19 | 显示全部楼层

Java是一种趋势

Java无处不在。拥有几百万个用户,其发展速度要快于在它以前的其他任何一种计算机产品。它可位于任何地方,而且能到处运行。Java正在迅速被用做传播信息的事实上标准,这是因为它既可给企业,也可给最终用户带来似乎数不清的好处。 4 Z: X& o% k# ]# T( L; `
Java技术的企业应用旨在提升企业竞争力,所以Java技术受到了企业的欣赏,市场份额是同类技术中最大的。同时,Java开放标准,所以供应商众多。市面上有许多的应用服务器、工具与构件可以选择,如Tomcat、JBoss等开源的免费工具。作为Java技术的初学者,不需要任何花费就能够进行Java企业应用的自我培训,以后若参与Java的商业项目开发,便可以无缝地把软件移植到高端的商业平台上去。反而.Net,想免费自学,不盗版是不可能的啦。% e6 A% X& g9 B3 Z
       不管是学习JavA还是企业使用Java开发,代价都是很小的,这是我们不得不承认的事实。再都它的安全性很高

评分

1

查看全部评分

发表于 2008-11-30 22:28:05 | 显示全部楼层

这个问题是一个伪问题啊

如果是说java与vc++.net或与其他的C++集成库相比的话,说不定JAVA会胜,但是要与iso c++相比,可以说JAVA输到裤子掉。

评分

1

查看全部评分

发表于 2008-11-30 22:44:29 | 显示全部楼层
具体问题用具体的语言,在这里泛泛而谈地对比两种语言的好坏无疑是一种幼稚的表现

评分

1

查看全部评分

发表于 2008-11-30 22:46:36 | 显示全部楼层
java将是未来internet的领导者,不管是作为普通的WEB应用,还是作为高端的企业应用,都将是JAVA的领导地位。JAVA的JDK1.6,以及即将发行JDK1.7的,JAVA在执行速度上已经大大超越了以前,另外加IT产业大公司的支持(IBM,ORACLE,HP等),JAVA的领导地位是不可替代。C++发展到今天,也没能在高端企业应用占领导大块的市场,原因是C++面向的领域和层次与JAVA不一样。0 N( Z6 S$ B2 x. ?' X2 j4 Z
但是从目前的企业和市场的需,以及学习的难易成度来看,JAVA都优于C++,其实从现实的发展需要,选JAVA也是势在必行,深入学习JAVA也很有必要,虽然目前市场上JAVA人才很多,但是真正JAVA高手却并不多,所以深入学习JAVA,不仅对个人前途很有益处,而且,对个人在语言领域的地位,也会有一席之地,说不定下一个JCP的参与者就就有你~~

评分

1

查看全部评分

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

本版积分规则

 
QQ在线咨询

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

GMT+8, 2025-5-3 06:56

Powered by Discuz!

© 2001-2025 eimhe.com.

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