免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 无双
打印 上一主题 下一主题

[C++] c与c++区别讨论 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2003-06-23 11:29 |只看该作者

c与c++区别讨论

c#是不错,它的编译器是编译器的泰斗编的,(特牛,Bill从baland挖的,pasic的创始人,两个月(好象)编出了Dephi的模型),是不错的语言,可能有抄袭Java的嫌疑,但是我觉得,别人做的好,自己来学习,有什么不对了。
  现在的windows, java虚拟机的API都慢满的转为类形式的了,用C来做API,我觉得没有.net 和Java的API好用。

论坛徽章:
0
32 [报告]
发表于 2003-06-23 11:42 |只看该作者

c与c++区别讨论

java和c/c++的比较在软件技术版的那篇文章也谈过了
这里再写一次

我觉得性能方面他们都没有考虑
c#和java的性能方面都比不上c++
在一些对性能要求严格的地方
如服务端
以后还是会使用c/c++,要处理几十个连接并通过虚拟机处理那么硬件上的投入更高
并且服务端没有必要使用跨平台属性

另外java与系统的集成方面不好

通过虚拟机形式
所以想直接调用系统函数不可能
只有虚拟机上有的函数才可以用
这也是跨平台带来的代价


c#的话只是在ms平台上开发
会遇到unix世界公司与多数开发人员的抵制(因为是ms的产品)
性能也不用说了据说比java还要慢很多还是等待MS的下一个版本吧

XML只是定义一种数据保存格式.用来统一各程序使用数据的一致性,
与程序设计语言无关,所以原作者放在这里觉得很奇怪
保存的文件会比二进制的大,并且需要先用xml分析器分析,  性能方面也比不上二进制文件保存,
但是比较直观,并且统一,以后的用途是代替以前的.ini等配置文件和使用文本形式保存数据的、有可能要在多个程序间使用的文件
使用xml,可以让金山不再出现wps2002打不开wps2000的现象
对一些对性能要求很高的数据不会以XML形式保存,如TCP/IP包等协议包


最后觉得这个作者是对c/c++不是很熟练的人
真正熟练的人不会说哪种语言好哪种不好
每个语言都有自己适用的场合,  就是在现在, 汇编还是有人在用,用于开发嵌入式方面,还有cobol等
所以关键不是看哪个语言好
而是要看找它的定位
VB虽然可以做很多事,但用它开发系统内核那么就不合适
它只是家位在一个快速开发工具而不是开发系统级应用

如果是定位于应用的话
java应该是首选
不再让各位受到操作系统大战的连累

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
33 [报告]
发表于 2003-06-23 12:08 |只看该作者

c与c++区别讨论


  1. 每个语言都有自己适用的场合, 就是在现在, 汇编还是有人在用,用于开发嵌入式方面,还有cobol等
  2. 所以关键不是看哪个语言好
  3. 而是要看找它的定位
  4. VB虽然可以做很多事,但用它开发系统内核那么就不合适
  5. 它只是家位在一个快速开发工具而不是开发系统级应用
复制代码



恩。无双写的太好了,有道理。

一种语言,一旦被大家认识了,一旦有不少人去做点什么东西,就意味着它有一定的生命力和用途。现在很多人不用汇编了,这能说明汇编没有用吗?不是,只能说,你做的应用是和汇编不直接相关的而已。
c没有c++/java/c#优越吗?也不是,如果做系统软件,用c可能算是最省事的选择了。

我始终认为c++便是对c的扩充而已。只不过在c的基础上努力的去实现OO的思想。一方便,是为了兼容c,一方面是为了OO,也许就是这种二者兼顾的思想导致了c++的不彻底。

如果说正真的面向对象。我觉得还是java。c#我不懂。也不敢评价什么。

至于性能,我觉得有个比喻说得挺好:越是好用,也越耗油。
例如java,要实现跨平台、继承、引用以及垃圾回收容器等这些机制,必然要加入大量的额外代码和函数封装。

没有谁是做好的说法。如果能在最短的时间和最底的成本下能够开发出符合需求的软件,那么这个工具就是优秀的。

在做一个系统之前,我总是在考虑用那个工具最快,最省事这些因素。

还是商业的那句话,只要有需求,就有产品。
否则,我们可能没听说过的东西太多了,完全有可能就是JAVA这个名词。

论坛徽章:
0
34 [报告]
发表于 2003-06-23 12:10 |只看该作者

c与c++区别讨论

好热闹啊。可是热闹了半天好象也没什么意义(没有贬义)。

如果单纯是讨论楼主的问题:C与C++区别讨论,我想限制在语言上就可以了。简而言之一句话:C++是C的扩展,提供了...特性。

可是高手们都说了,C++是一门全新的语言?!。不错,很多高手都这么说了,而且经常作为对低手的谆谆教诲来说的。可是那主要是指程序设计开发的思想,这已经不属于语言的范畴了。软件工程有那么多阶段,coding只是其中的一小个阶段,所用的语言也只是一个工具而已。当然工具能够提供什么强有力的能力,可以使开发更顺利是很重要的,可先人们没有打火机也一样吃烧烤,当然钻木取火还是比较费力气的。

争论哪种语言好没有意义。每种语言都有它适用的范围,有它比别的语言强的地方。比如我想让你处理一个文本文件,提取一些内容,你非要用C++或C#或者Java给我做,免了,我用awk或perl这样的语言会做的又快又好。可是如果让你写一个窗口系统,你非要用C,那Xt就是一个例子了,用了复杂的方法去实现封装和继承,还有不得不满天飞的全局变量(当然用一些技术可以避免,但额外的维护工作量不可小觑)。这时,选用支持面向对象方法的语言就是必然的了。

所以,有什么样的需求就应该有什么样的产品,所有中间过程使用的方法、工具都是为这个目标服务的。面向对象还是面向过程还是面向XX,都只是为了能够简单、明了、高效的实现需求。撇开需求谈这些,和哲学家咬文嚼字就没什么区别了。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
35 [报告]
发表于 2003-06-23 12:14 |只看该作者

c与c++区别讨论


  1. 所以,有什么样的需求就应该有什么样的产品,所有中间过程使用的方法、工具都是为这个目标服务的。面向对象还是面向过程还是面向XX,都只是为了能够简单、明了、高效的实现需求。
复制代码


严重同意。

我们还是不要谈论那个好坏的问题,还是谈谈具体语言的区别吧。

论坛徽章:
0
36 [报告]
发表于 2003-06-23 12:17 |只看该作者

c与c++区别讨论


楼上各位发言都很精彩

做一个系统
考虑的是怎样能更快更好的实现用户需求
并且设计实现更简单,就是从用户角度来考虑而不是从程序员角度考虑
做项目并不是为了表现程序员的某个编程技巧而是看整体结果

就是数据库和运行平台, 根据性能也有选型的说

语言只是一种工具
coding只是入门, 更重要的是编程思想与软件设计方法

论坛徽章:
0
37 [报告]
发表于 2003-06-23 12:54 |只看该作者

c与c++区别讨论

关于java超过c的测试,其实很简单,就是一个上千万次的累加。当时是一个c的拥护者说这个测试c比java快二三十倍。我当时不信,测了一下,在x86平台下java的速度是c的80%左右,在hpux和aix下结果令人吃惊,java比c还要快。我也不能很好解释,大概是这些平台的jit技术比较优秀,java真正在运行时都是直接运行本地码了。

大家有兴趣可以验证一下。

论坛徽章:
0
38 [报告]
发表于 2003-06-23 13:05 |只看该作者

c与c++区别讨论


也有可能是内核进行了优化

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
39 [报告]
发表于 2003-06-23 13:16 |只看该作者

c与c++区别讨论

有可能,我用hp比较多的,我觉得是比较不错的unix OS。

论坛徽章:
0
40 [报告]
发表于 2003-07-04 23:19 |只看该作者

c与c++区别讨论

精彩,我要用digital c++ 做点应用,第一次用c 或c ++做实际的开发,digital的cpu说是最好的,我也来试验一下,我说的是废话,算作顶
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP