LinuxSir.Org  
| 网站首页 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
 
主题工具
旧 08-05-22, 13:27 第 16 帖
saharabear 帅哥
 
saharabear 的头像
 
 
注册会员  
  注册日期: Apr 2008
  我的住址: 济南
  帖子: 338
  精华: 1
 

同意上面的老兄.不过说实话天天用Java也会感觉不爽,想回到C的世界.不过,只是想想,真要回到C去做企业管理软件,郁闷死.







__________________
------------------------------------
amd 2500+, 1G, ati9550, 120G Slackware Current.
ibm R61 7755BJ1 2G nvidia Slackware Current
Core 2 1G 500G Slackware 13

博客:http://www.haulynjason.net/haulyn

关注Slackware的Linuxer.
  saharabear 当前离线   回复时引用此帖
旧 08-06-24, 22:22 第 17 帖
gentookit
 
 
 
注册会员  
  注册日期: Jan 2008
  帖子: 143
  精华: 0
 

输入输出用c吧,printf, scanf比cout, cin多的时候快的数量级没试过是不能深刻了解的。
相信玩过ACM的人都知道。
  gentookit 当前离线   回复时引用此帖
旧 09-08-08, 11:03 第 18 帖
fangshun
 
fangshun 的头像
 
 
★版主☆  
  注册日期: Nov 2002
  我的住址: 陕西
  帖子: 661
  精华: 11
 

facebook的图片存储文件系统是用c++重写的,为什么不用java呢,因为更直接的访问磁盘,更极致的提高性能,所以只能选c++,而不是java。当然c也可以,但是我是觉得支持面向对象的设计更高级!
  fangshun 当前离线   回复时引用此帖
旧 09-09-22, 18:58 第 19 帖
lanxingke
 
lanxingke 的头像
 
 
注册会员  
  注册日期: Apr 2009
  帖子: 36
  精华: 0
 

引用:
作者: yuzheng
我已经试了一下,java和c++的运行时间之比是 266:230,当然java的是不包括加载的时间。看来可以安心的用java继续写下去了。但是有一个很奇怪的问题,既然java的速度已经接近c++,网上还有那么多人用c++作数值计算能?我选java是因为它的安全性,数组在运行时越界了就会报错,想当初调试c++程序那个痛苦,改为等价的java代码之后运行就保存,数组越界了。
是否安全得看写程序的人,只要认真些,再进行一定的测试,C++也并不是不安全的,用哪个主要还是看谁实现起来简单高效。因为Java的发展,应用Java相对简单,开发支持多,所以很多方面显得效率不错。可是Java的底层也是以C/C++为基础的。因此C/C++基础应用多一些。这也是可以把Java看作高级语言,而C/C++看作高级也看作中级语言的缘故。







__________________
硬盘1 winxp sp3 + VBOX + Debian 5 Lenny amd64 GNOME Opera OpenOffice.org

U盘2 Debian 5 Lenny amd64 GNOME Opera OpenOffice.org VBOX winxp sp3

http://pindao.huoban.taobao.com/channel/digital.htm?pid=mm_10824850_0_0
  lanxingke 当前离线   回复时引用此帖
旧 09-09-23, 14:39 第 20 帖
fangshun
 
fangshun 的头像
 
 
★版主☆  
  注册日期: Nov 2002
  我的住址: 陕西
  帖子: 661
  精华: 11
 

c/c++的指针地址越界,的确不安全!
  fangshun 当前离线   回复时引用此帖
旧 09-09-25, 01:03 第 21 帖
mycatboys
 
 
 
注册会员  
  注册日期: Nov 2008
  帖子: 18
  精华: 0
 

好贴啊 不错啊 谢谢楼主分享 拉 (*^__^*) 嘻嘻……








------------------------------------------------------------
新亭脑佳佳官方网站,堕泪波动挺官方网站
  mycatboys 当前离线   回复时引用此帖
旧 10-02-20, 21:33 第 22 帖
y2k_connect
 
 
 
注册会员  
  注册日期: Jul 2008
  帖子: 14
  精华: 0
 

GLib库的数组越界,同样会报错。

例如,10个元素的数组arr,当指针p指向第11个元素(arr的第10号元素)时,系统会报错。
int* p;
GArray* arr;
arr = g_array_sized_new(FALSE, FALSE, sizeof(int), 10);
p = &g_array_index(arr, 10); // 系统报错,内存越界。
  y2k_connect 当前离线   回复时引用此帖
旧 10-02-20, 21:34 第 23 帖
y2k_connect
 
 
 
注册会员  
  注册日期: Jul 2008
  帖子: 14
  精华: 0
 

标题: c语言的GLib库,在数组越界时,同样会报错。


大家选择c/c++来做程序,可能更多的原因,是习惯的原因。
  y2k_connect 当前离线   回复时引用此帖
旧 10-02-20, 23:55 第 24 帖
hubert_star
 
hubert_star 的头像
 
 
注册会员  
  注册日期: Apr 2008
  帖子: 756
  精华: 0
 

java在处理调用的时候,效率与c++/c差远了

如果你在一个方法里面写再复杂的算法,跟c++也差不到哪去

但是如果涉及到一些频繁的方法调用的比如回溯等算法,你统计一下时间

就算是快速排序,你用c++写和用java来写比较一下

前提是,c++程序不要写成java那样,多用指针来做事

还有一个就是不用指针的话,很多东西要换思路







__________________
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆的文字和含义,特此声明!
  hubert_star 当前离线   回复时引用此帖
旧 10-02-27, 08:42 第 25 帖
mallon
 
 
 
注册会员  
  注册日期: Jun 2005
  帖子: 16
  精华: 0
 

Java就两个缺点:启动速度慢(JIT需要一定时间),内存占用大(虚拟机),其他基本就没有了。

要说执行速度,从最底层看,Java和C++是一样的,因为有了JIT,执行的同样是编译好的机器码;稍微往上点就不太一样了:一来编译器优化不一样,更重要的是很多算法的实现良莠不齐,比如Array(C++ STL中叫做Vector),Map等等,我实际测试过,有的快有的慢,C++中更复杂,VC7之后带的STL明显比GCC(MinGW)的快得多。

最后从实际使用来看,C++其实处于十分尴尬的地位,我以前非常喜欢C++,现在转向了Java,因为开发企业级软件,你用C++简直就是自寻烦恼,而底层用C++有时候也是自寻烦恼(比如很多嵌入式系统对C++支持是很不完整的),C更加通用,再加上一个简单的Lua脚本,C实现机制,Lua实现策略,很方便!
  mallon 当前离线   回复时引用此帖
旧 10-08-19, 16:20 第 26 帖
zxd123314
 
zxd123314 的头像
 
 
注册会员  
  注册日期: Mar 2010
  帖子: 108
  精华: 0
 

PS15L:别提.Net了,跟Java一样。

不信:在Mono for Linux下用echo 'class A{static void Main(){}}' > A.cs && mcs A.cs
编译的A.exe可以直接在.Net Framework中使用。

其实Java是很好地!我平时都用Java,真要写设备文件时才用C。







__________________
Eastern Heart Linux is Making...
Based on Linux From Scratch.
Now Building EHLR2(Making basic system with X)

Project homepage:http://ehlinux.tk
  zxd123314 当前离线   回复时引用此帖
旧 11-04-14, 19:13 第 27 帖
ly50247
 
ly50247 的头像
 
 
注册会员  
  注册日期: Apr 2009
  帖子: 112
  精华: 0
 

做过ACM/ICPC的都知道C++比Java快多少,如果只是用C++将Java程序重写一遍当然不会有太多起色,而是要按C++的方式。







__________________
my blog: http://ly50247.appspot.com
  ly50247 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 00:22


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2012, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2011, LinuxSir.Org