免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
231 [报告]
发表于 2009-03-26 16:04 |只看该作者
原帖由 nbaloverme 于 2009-3-26 15:29 发表


static local var?


他说的是函数语言,没有静态局部变量的概念。

对于函数语言来说,由于函数内部没有状态,因此只要参数一样,返回值一定相同。


C++里面,不使用全局资源的函数同样满足这样的要求,这不能成为函数语言更能高效优化的理由。

论坛徽章:
0
232 [报告]
发表于 2009-03-26 16:05 |只看该作者
原帖由 shan_ghost 于 2009-3-26 15:43 发表


有JGPU,有没有JMMX?有没有JSSE?有没有JPPU?有没有JOPENGL、JDX 3D?

JGPU又是哪个版本的JVM才有的?是否我必须要求用户下载最新的JVM1.6甚至(在GPU标准化之后)下载JVM2.0呢?

JGPU本身有没有标 ...


妈妈呀,请告诉我java有想作这些么??又为什么要作这些??
java向来作的就是各OS的最大子集啊。它的初衷是wora啊
.net其实也一样,只能在windows下逞威风,如果搞到*nix上来d3d是不是也得舍弃掉?
为什么老拿通用型语言的要求来要求托管语言呢?

论坛徽章:
0
233 [报告]
发表于 2009-03-26 16:09 |只看该作者
原帖由 sorrento 于 2009-3-26 16:04 发表


他说的是函数语言,没有静态局部变量的概念。



C++里面,不使用全局资源的函数同样满足这样的要求,这不能成为函数语言更能高效优化的理由。

成员函数呢!!!

论坛徽章:
0
234 [报告]
发表于 2009-03-26 16:10 |只看该作者
原帖由 sorrento 于 2009-3-26 13:14 发表


AOP思想目前比较流行的JAVA实现就是所谓的spring。AOP是“OO最终会从设计类回归到C风格的语义分析上来”的一个表象,个人觉得不谈不上。

“类由代码生成器生成,而不是由人去直接设计”,OO用来将业务世 ...


语义最符合人的思维习惯吧,OO才是抽象

论坛徽章:
0
235 [报告]
发表于 2009-03-26 16:29 |只看该作者
原帖由 shan_ghost 于 2009-3-26 15:43 发表


有JGPU,有没有JMMX?有没有JSSE?有没有JPPU?有没有JOPENGL、JDX 3D?

JGPU又是哪个版本的JVM才有的?是否我必须要求用户下载最新的JVM1.6甚至(在GPU标准化之后)下载JVM2.0呢?

JGPU本身有没有标 ...

如果你的项目确实需要在Java里使用GPU,那你费力气去用JNI整合CUDA又有何不可?

你说的移动设备就更不会少了Java的市场了,这方面你可以看看Google的android,Google本就有野心想用Andriod做成一个移动设备的操作系统,是很难,但要看谁去做了。

论坛徽章:
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
236 [报告]
发表于 2009-03-26 16:30 |只看该作者
原帖由 艾斯尼勒 于 2009-3-26 16:05 发表


妈妈呀,请告诉我java有想作这些么??又为什么要作这些??
java向来作的就是各OS的最大子集啊。它的初衷是wora啊
.net其实也一样,只能在windows下逞威风,如果搞到*nix上来d3d是不是也得舍弃掉?
为什 ...


1、没有人要求Java 必须 支持所有硬件,它也不可能做到。我这是回复另一个人的。不知道你是没有看我引用的那个帖子呢,还是要刻意断章取义,歪曲我的观点。

2、.net能在Windows下逞威风还不够吗?.net 3.5已经可以在托管代码中使用DX 3D了,Java呢?

3、Linux也有opengl,不比dx 3d差。同时支持两者的大型3D应用多了。
全面移植.net很难吗?谁说d3d就一定要舍弃掉?
——被人超越要承认,不然肯定越来越落后。

4、你从哪里看到我“老拿通用型语言的要求来要求托管语言”了?

在下说的不过是:
a、C#已经原生支持dx 3D了;
b、微软的虚拟机可以支持C/C++编译托管代码;
c、在Windows平台上,所有编程语言是一家。大家可以无缝集成,进而相互促进、相互帮助,各自发挥自己的最强之处,共同把一件事做好——哪怕是托管和非托管代码之间都是这样。

相比之下,您觉得是不开源的微软更开放呢,还是开源的Java更开放?

Javar现在连跟C#叫板的勇气都没有了吗?C/C++就那么软弱可欺吗?

论坛徽章:
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
237 [报告]
发表于 2009-03-26 16:59 |只看该作者
原帖由 yovn 于 2009-3-26 16:29 发表

如果你的项目确实需要在Java里使用GPU,那你费力气去用JNI整合CUDA又有何不可?

你说的移动设备就更不会少了Java的市场了,这方面你可以看看Google的android,Google本就有野心想用Andriod做成一个移动设备的 ...


别避重就轻。请正面回答: 如何保证在全面硬件支持条件下,JVM的不同版本保持前后兼容?




当开发大型游戏时,我可以用C+汇编写基础算法库,用C++写游戏引擎(精灵、时钟、动画、垃圾收集等等),用C#写网络通讯模块,用LUA描述角色属性、撰写剧情脚本——这种各取所长的互补与协作,Java能做到吗?

一个好汉三个帮。
只要开放,便是LUA这种小众语言,也有资格成为wow不可分割的一部分——因为C/C++的强大,就等于LUA的强大;LUA的方便,就是C/C++的方便——能告诉我,该怎么配合Java吗?

论坛徽章:
0
238 [报告]
发表于 2009-03-26 17:00 |只看该作者
原帖由 shan_ghost 于 2009-3-26 16:30 发表


1、没有人要求Java 必须 支持所有硬件,它也不可能做到。我这是回复另一个人的。不知道你是没有看我引用的那个帖子呢,还是要刻意断章取义,歪曲我的观点。

2、.net能在Windows下逞威风还不够吗?.net 3 ...


嗯。是我的错。您那帖子太长我看到后面觉得说的不对就说了几句。多嘴了多嘴了。确实曲解了你的意思,很抱歉

2,也是我错了。我忘了d3d本来就是ms的,.net要想搞到*nix上确实不用舍弃d3d

3,opengl这个我真不清楚,有没有计算机平台不支持opengl的?如果没有,我想应该快了吧。不过貌似java对作游戏也没啥力量

4,那是因为我曲解你意思才造成的误会。我错了,真的错了

java和.net定位不太一样吧,java想的是一种语言统一的平台,.net要的是一个平台多种语言协作。这样看来java是在语言上太过强势了些,换句话说相对.net自有平台的优势,这确实是java的弱势,因为java自身无法使用各自平台独有的玩意儿。不过以ms的作风,我们很难想象它会开放自己的各种版权(当然.net自己是开放标准)放到其他各个平台上去。mono的图形好像是gtk的还是qt的?

最后,由于是误会,上面那个帖子的我很抱歉,希望能得到原谅

论坛徽章:
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
239 [报告]
发表于 2009-03-26 17:16 |只看该作者

回复 #241 艾斯尼勒 的帖子

呵呵,没关系。争论嘛,擦枪走火很正常。那么多字,看错在所难免

opengl是一个开放标准,任何平台都可以实现——当然不一定有。

只要有opengl,理论上DX 3D可以提供的,open gl都可以提供,只是接口风格不同而已。
所以说,在Linux平台上实现完全兼容.net的接口也许并不困难。

wpf也是分几个不同部分的。现在可以用到浏览器里的部分并不包括DX 3D,但有对应的软件算法——这大概也是为降低进入门槛吧。

这也正是微软的强势之处。你说Linux上的浏览器该不该支持wpf呢?还有得选择吗?


当然,Java社区现在似乎也有所开放,比如ruby和python好像已经被移植到JVM上了;但还是比不上微软直接支持C/C++的大手笔。


可以想象一下。不久的将来,当.net借助浏览器铺开之后,就连用C/C++写的、符合托管代码标准的Windows程序都可以直接在Linux平台上运行,甚至也可以享受到JIT——Java的优势还存在吗?

Java的封闭,其实是一种束缚。

论坛徽章:
0
240 [报告]
发表于 2009-03-26 17:22 |只看该作者
原帖由 shan_ghost 于 2009-3-26 16:59 发表


别避重就轻。请正面回答: 如何保证在全面硬件支持条件下,JVM的不同版本保持前后兼容?




当开发大型游戏时,我可以用C+汇编写基础算法库,用C++写游戏引擎(精灵、时钟、动画、垃圾收集等等),用 ...

向前兼容应该很多语言都有问题吧,不能指望一开始就能预见未来?后向兼容我倒不觉得Java有什么问题,JDK7的支持JDK1.1编写的class类不会有问题。


在你定的场景里面,我能想到的也就可以用Java来处理网络通讯,JDK7里对异步IO支持应该会有很大改进。在别的B/S,C/S架构里面,混用Java/C++是很常见的事情了。

我跟这贴从来没有说Java比C++好,只是不愿意看见别人一味否定Java,语言没有好坏,你功力深了,怎么取舍,怎么融合都信手拈来。。

[ 本帖最后由 yovn 于 2009-3-26 17:24 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP