免费注册 查看新帖 |

Chinaunix

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

[C++] 确认一下c++中不能使用interface(如java)那样的功能把 [复制链接]

论坛徽章:
0
101 [报告]
发表于 2009-03-25 13:45 |只看该作者
原帖由 sshnuke 于 2009-3-25 11:35 发表
OwnWaterloo发飙了
哈哈
这样的帖才值得看啊
很多平时根本不吝说出来的东西都会在发飙的时候一条条的说出来
而且十分有条理


恩,所以我们一直在关注~~~~~

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
102 [报告]
发表于 2009-03-25 13:48 |只看该作者
原帖由 yovn 于 2009-3-25 13:36 发表
请问你知道或者了解JNI么?用Java的人也可以结合C/C++来扩展Java的功能,并没有限制你的特长,哪怕是骂街特长。

你以为我只的限制就是JNI或者P/invoke那些东西?  你眼光也就这么点层次 ……

我说的是语言层次的限制, 导致无法将程序员的思想映射到代码中。 (我一次又一次的复述上面已经说过的话, 麻烦你看下, ok?)

这种限制, 充满了java整个语言。

多重继承。 goto。 真正的范型。 fall through of switch。 free function。 确定时间析构。

这些跟JNI有什么关系?

论坛徽章:
0
103 [报告]
发表于 2009-03-25 13:52 |只看该作者
原帖由 OwnWaterloo 于 2009-3-25 13:05 发表


我也觉得, 跟那种档次的人纠缠, 被人看笑话了 ……
抱歉抱歉


也许太平绅士说得过于直白了。
虽然在我们是当作娱乐来看。但是我们在“娱乐”的过程中,也从大家的论战中学习到了,或者明确了不少东西。有些是我们已经淡忘的,在此又被巩固和强化;有些是以前未曾了解的,在此有了新的视野;还有些时曾被曲解的,在此被重新校正。所谓“寓教于乐”,我想亦不过如此。
所以,其实不用太在意是否被当作笑话,也不用太在意对手的档次。当有足够多的人关注的时候,你就已经给大家作了一个很好的普及,不是么?

论坛徽章:
8
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58技术图书徽章
日期:2013-12-04 10:48:50酉鸡
日期:2014-01-03 10:32:30辰龙
日期:2014-03-06 15:04:07
104 [报告]
发表于 2009-03-25 13:53 |只看该作者
原帖由 huxk 于 2009-3-25 13:29 发表
事实上,上面这种态度,这种认识,这种见识所导致的狭隘,才是无聊争论之所以泛滥的根本原因。

这是不是臆断?


这是针对下面这个态度说的。
不过我觉得OwnWaterloo没必要那么认真的。我们的文化背景不鼓励认真的,一切实用主义品格。

真正培养独立思考之能力,有待教育之改善与独立人格之个人。

我们活在当下,随波逐流吧,不要太认真了。

如有不妥,还望海涵。


真的像OwnWaterloo那样认真研究过C++和Java的话,至于泛泛的、一再的跳出来宣扬“C语言已死”“C++打不过Java”吗?

别的不说,单单考虑下图像处理,就知道Java万不可行,就不至于有胆量、有脸皮出来宣扬什么“C语言已死”了。
连这么浅显的东西都视而不见,不是狭隘是什么?

这种狭隘,其根本原因是什么?是不是稀里糊涂不求甚解所致?


换言之,正是这种和稀泥、并禁止别人把事情拎清楚的态度导致了自己的浅薄;然后因为浅薄而鄙陋、进而狭隘;再因为狭隘而更加的浅薄。
正是这种浅薄,导致论坛上充斥了大量低水平的、毫无原则的fans以及这些fans之间毫无意义的口水仗。

这个你曲解了我回帖的意思,当然各人有各人的解读,但这个似乎离谱了点。


曲解?哪里曲解了?
真正培养独立思考之能力,有待教育之改善与独立人格之个人。

我们活在当下,随波逐流吧,不要太认真了。


对您这句话,我的理解是“独立思考之能力”,我们这代人就算了,那是90后、2000后的任务。我们这代人从根本上就不如90后或00后,所以就是有独立思考能力,也还是屈从环境(某一小撮人所理解的环境),“随波逐流吧”。

请问,这个理解对不对?如果不对,在下对回字的写法实在没有研究,如果您上面这几句话有字面外的特殊含义,还请解释一下好吗?


真把事情搞明白了,才可能如上面某朋友那样——当笑话看。
否则,就是笑,也不过是一群跟风的傻子在表演傻子打傻子、傻子笑傻子,如此而已。

这个就有点人身攻击的嫌疑了。



呵呵,那您觉得,背了三天“马走日字相走田”的菜鸟,跟着象棋大师笑业务三段棋力、自以为天下无敌的傻子,该怎么形容好?

这,不正是所谓“傻子笑傻子”吗?

同样,当刚开始看到薛定谔的猫的时候,我笑不出来,因为我看不懂——笑也是傻笑,越笑越傻。

那么,对那些不懂装懂、稀里糊涂傻笑的家伙,我以为自己只是说出了事实而已。不知阁下觉得哪里不对了呢?

所以,这句话,不同的人看了定然有不同反应——心有灵犀者,只会更加莞尔;而傻笑者,必然着恼。
这是意料之中的事;刺痛他们,让其中有人能拾回理智,也正是我的目的所在。

[ 本帖最后由 shan_ghost 于 2009-3-25 14:05 编辑 ]

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
105 [报告]
发表于 2009-03-25 14:03 |只看该作者
原帖由 yovn 于 2009-3-25 13:36 发表
争论就争论吧
goto的优劣相信有点常识的人都知道了,checked exception本来就是很有争论的,好还是不好也没有达成共识,所谓众口难调也大抵如此。Java的


我听到的对goto的见解向来都是, ”不主张滥用“。
不知道怎么传到小白耳里就成了, ”禁用

这仍然是java语言设计者的偏执。 他认为不好的东西, 就从语言层次砍掉。
和c++的理念有重大不同 : ”该特性是否应该被使用, 是由程序员, 而非语言设计者决定。“
大量使用语言的是程序员, 而非语言设计者。


关于,checked exception, 本来是好事
语言多给于你一种选择
可惜checked exception的作用又被java之父夸大, 所以我再三说他是偏执狂。

具体请看 “深入浅出hibernate”  HibernateException, Checked。 p368到p371的注脚上的链接。
还有需要注意 Hibernate3将HibernateException不再是(它曾经是)Checked这个事实。



原帖由 yovn 于 2009-3-25 13:36 发表
争论就争论吧
设计目标就是一个优雅的语言,摒弃一些有争论的语言特性也是应该的。


有争论的特性, 不是无用的特性。

可以通过对开发者的教育, 达到同样的目的。
并且一旦真正需要使用该特性, 就立即可用


在语言层次做限制, 就容易导致培养出只会劳动, 不愿思考的家伙。
喜欢这种简洁的人, 常常也是带着不愿用自己的头脑思考, 人云亦云的家伙。


什么是优雅
普通市民, 自动档算不算优雅?

赛车手, 自动档算不算优雅?

[ 本帖最后由 OwnWaterloo 于 2009-3-25 14:23 编辑 ]

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
106 [报告]
发表于 2009-03-25 14:07 |只看该作者
原帖由 yovn 于 2009-3-25 13:36 发表
泄不泄露恐怕也不是你看到的那么简单,Java里面可能很多能都没有很好的内存占用的概念,对象放在全局空间不释放也是常犯的,就算你看见人家的程序占了1个G,你能确定人家是想要空间换效率还是正真的内存泄露呢


是我更了解那个项目, 还是你更了解那个项目???
我在帖子里也说过, 1小时100M, 只增无减, 你觉得这不算泄露 是不是?
你经常写出这样的程序是不是??
又回帖不看贴了是不是???
又胡乱臆测了不是????


原帖由 yovn 于 2009-3-25 13:36 发表
你这逻辑不觉得很搞笑么?难道有警察就能保证别人不会去犯罪?


我没说有警察就能保证别人不去犯罪。

但是这个警察成天都在叫 “ 我们城市治安100%良好 ” , 可惜事实不是那样。
是我搞笑, 还是那个警察搞笑?

java号称资源管理健全, 可惜完全不是那样, 反而降低了开发者的警惕性

[ 本帖最后由 OwnWaterloo 于 2009-3-25 14:23 编辑 ]

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
107 [报告]
发表于 2009-03-25 14:16 |只看该作者
原帖由 yovn 于 2009-3-25 13:36 发表
其他?网络资源?硬件端口?等等?那些底层是由JNI创建的本地的句柄,GC本就不是解决这些的?难道你应该怪Java太强大能整合C/C++?


GC可以解决这些????  到底是我不懂还是你不懂???
你敢使用完网络后不显式调用close, 使用完端口后不显式调用close, 而把它们统统交给GC吗???

不管你敢不敢, 稍有常识的人都知道, 非内存资源使用完毕后必须立即显式释放
因为 —— java没有确定时间的析构


java的内存模型导致了它不可能有。 这也许不是它的错。
但是它既然号称 “资源管理健全”, 它为什么不像C#一样, 提供一些方便的手段, 让程序员更清晰的表达自己的思想呢?
请再好好看看我在13楼举的例子。

看看java这种号称“资源管理健全”的语言。
看看使用java你就得如何手工管理资源
看看它是否言过其实

[ 本帖最后由 OwnWaterloo 于 2009-3-25 14:24 编辑 ]

论坛徽章:
0
108 [报告]
发表于 2009-03-25 14:19 |只看该作者
真的像OwnWaterloo那样认真研究过C++和Java的话,至于泛泛的、一再的跳出来宣扬“C语言已死”“C++打不过Java”吗?

别的不说,单单考虑下图像处理,就知道Java万不可行,就不至于有胆量、有脸皮出来宣扬什么“C语言已死”了。
连这么浅显的东西都视而不见,不是狭隘是什么?

认真研究C++和Java,这个我真的汗颜,剑看上去很平常,有剑客,有武林高手,有一代武林宗师,不一定就要说谁浅薄,浅薄都是相对而言的。


曲解?哪里曲解了?

这个你看看ownwaterloo的回复。

对您这句话,我的理解是“独立思考之能力”,我们这代人就算了,那是90后、2000后的任务。我们这代人就是有独立思考能力,也还是屈从环境(某一小撮人所理解的环境),“随波逐流吧”。

请问,这个理解对不对?如果不对,在下对回字的写法实在没有研究,如果您上面这几句话有字面外的特殊含义,还请解释一下好吗?


这个我认为你还是认同我的。

呵呵,那您觉得,背了三天“马走日字相走田”的菜鸟,跟着象棋大师笑业务三段棋力、自以为天下无敌的傻子,该怎么形容好?
这,不正是所谓“傻子笑傻子”吗?
同样,当刚开始看到薛定谔的猫的时候,我笑不出来,因为我看不懂——笑也是傻笑,越笑越傻。
那么,对那些不懂装懂、稀里糊涂傻笑的家伙,我以为自己只是说出了事实而已。不知阁下觉得哪里不对了呢?
所以,这句话,不同的人看了定然有不同反应——傻笑者,必然着恼,这是意料之中的事;刺痛他们,让其中有人能拾回理智,也正是我的目的所在。

我看到有人笑,但是我不知道是不是傻笑?为什么非得是傻笑?

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
109 [报告]
发表于 2009-03-25 14:19 |只看该作者
原帖由 yovn 于 2009-3-25 13:36 发表
很简单, 因为java的内存模型, 它注定比C++慢,慢不止一个数量级, 无论sun或者IBM如何吹嘘JVM。

不知道你知不知道JIT,虚拟机可以把一段字节码的运行结果直接翻译成本机代码,甚至直接缓存运行结果。

C++是很好,但是不是通过你对Java这么点认识以后比较得来的。


JIT? 太搞笑了。

这和我说的内存模型有什么关系???

我再说明白一点, 免得你这个对java, 甚至对c++都只有这么点认识的人听不懂:


在C++里, 你需要一个可变长数组, 你会使用 vector< int >, 是吗?
可惜在java里面, 如果它的范型还是这个样子, 绝对不会有 vector< int > , 只有 vector< Integer >;
就如同你在C++中使用 vector< int* >一般, 甚至更慢。


vector< int > vector< int* >当作数组使用的效率如果你再不懂,  我真的不知道该对你说什么了。



再补充一点, C++中, 对象是在栈上还是在堆上, 是由程序员决定。
在java中, 你没得选择。
这就是我说的 “因为java的对象模型,决定了它的效率永远无法赶超C++” 的含义。
这也是java的限制之一, 虽然它不得不这样限制。

栈和堆的效率, 如果你不懂,  我也不知道怎么给你说了。

[ 本帖最后由 OwnWaterloo 于 2009-3-25 14:38 编辑 ]

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
110 [报告]
发表于 2009-03-25 14:28 |只看该作者

请教yovn

我再问问你,  你对java了解多少?

就仅限于书本上那些噱头? 就像你对设计模式一样?
什么GC,JNI,JIT ……
这些翻来覆去, 抬头不见低头见名词, 说多了只会让人觉得你浅薄

同样是我凌晨回复你的话,  不要以为看过几本书, 了解几个名词就可以出来瞎嚷嚷了。

[ 本帖最后由 OwnWaterloo 于 2009-3-25 14:33 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP