游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5772|回复: 12

伤心啊,讨论计算机理论的没了

[复制链接]

87

主题

790

帖子

806

积分

高级会员

Rank: 4

积分
806
QQ
发表于 2010-7-19 01:12:00 | 显示全部楼层 |阅读模式
在这两年时间里我遇到了小山,小山是位懂计算机原理的程序员,此外平时还看些哲学,近一年还研究数学,这与我的研究方向很类似,但由于我们之前经历的差异,时常也会有些分歧,就在前几天因为一次分歧,我和他关于计算机原理聊天结束了,具体过程见(http://www.downfans.com/sanguo/showthread.php?p=1451#post1451)
本来学术争议结束也非常正常,也不必要如此伤心.问题的关键是像小山这样的愿意并且有时间和兴趣的人太少了!可以说,我一直都在寻找意并且有时间和兴趣的聊计算机原理的人,可是找了几年就唯独小山一个,小山把我拉黑,就意味着我以后没有可以系统地聊计算机原理的机会了.
而且相比很多人小山相对要讲理,很多人聊天老把自己的固有观念当一回事,用固有观念来看待我的话,会觉得比较怪,起初小山也是如此,经过了三四个月的聊天他开始理解我一部分的想法,因此理解想法需要时间而很多人不愿花这时间也是个重要原因.但关键还是他有时能看得开,能够突破一部分固有观念的束缚去反思自己的想法,我想这与他平时思考以及阅读大量的计算机原理方面的书是分不开的,毕竟有些东西的确需要意会,光靠说没用.
如果说讨论问题比较讲理,就算计算机原理懂的不多也没关系,讨论可以不断提高,关键问题就是很多人讨论问题不怎么讲理,他们一般自以为懂我要说的话题,而不去理解我所说的,这样就讨论不下去了,或者是转移掉我的话题,或者是几乎都讨论不出结果.
更关键的是很多人并不理解讨论的意义,也没有兴趣,很多人觉得讨论计算机原理与开发游戏或者编程都没关系,这批人也往往是经常在开发中糟遇障碍的人,讨论的目的就是把计算机到底怎么运行的原理说清,这样写的程序语义才会清楚,出了问题才容易找到根源,很多人深陷架构设计,算法设计等等的泥潭,却又不明白研究计算机原理才是解决这类问题最好的办法,对此我又能说什么呢?我不可能改变一个人,我只能去寻找志同道合的人.
回到那个贴子,我承认我那天说话不给小山台阶下,因为他平时很少上QQ,我的确是急于说清道理(而且他也比较了解我情况),可没想到因此结束了.还有就是我说话的确存在说到后面逻辑会乱的缺点,这也是个重要原因,但从他的角度,他也并非没有问题,我说物理资源概念的时侯,他自以为理解了,其实他并没有理解,对此我已经给了充分的注意,可他还是没有明白(这就是我说的很多人不讲理的表现之一,没有去理解别人的想法而大说自己想法,然后反驳别人).其实他所说的解藕没有错,但他只是讲了一方面,而我说的是更大的方面,这个就是视角问题站不够高的问题(我以前因此受过不少苦),我想站的视角不同,也许也是结束的一个重要原因
最后再归纳下,我们平时所聊的主要大类,作为纪念,我也只能继续伤心下去了:
1.离散数学,组成原理,操作系统,编译原理(都属计算机原理范畴)中的一些重要理论
2.计算机原理与哲学关系
3.计算机原理与数学关系
4.部分纯哲学,纯数学,思维方法
5.程序设计方法,游戏开发方法
6.各门计算机相关理论在游戏开发中的作用

87

主题

790

帖子

806

积分

高级会员

Rank: 4

积分
806
QQ
 楼主| 发表于 2010-7-19 17:49:00 | 显示全部楼层

Re: Re:伤心啊,讨论计算机理论的没了

奸腚玩逼: Re:伤心啊,讨论计算机理论的没了

层次都不一样。还聊个毛啊。你门都还没入!

别在这叫骂,我已经很火了,别火上添油

3

主题

263

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
发表于 2010-7-22 13:29:00 | 显示全部楼层

Re:伤心啊,讨论计算机理论的没了

个人愚见,如果搞应用,原理的东西明白就好了,除非是要深入研究,国内现在确实缺少这样的人才.

3

主题

263

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
发表于 2010-7-22 14:29:00 | 显示全部楼层

Re:伤心啊,讨论计算机理论的没了

我看了楼主发的东西,呵呵,怎么说呢,两个人的角度不一样.
楼主要搞的物理管理,其实就是底层抽象,这个当然是为了管理和封装底层.
但是,"底层"这个概念改如何划分?

软件开发有两种思路,选择应用平台/库/语言 ,这个往往是根据需求来定的,

1.如果软件的需求本来就是不跨平台和API,那么就选用一种合适的即可,比如我现在就想做一个win32下dx9的游戏,那么我大可以放心的直接用dx,如果做完了,要求我换成OGL,我想那个是需求的巨大变更,之前的设计对于之前的需求,完全没有问题,是正确的.这个就像小山说的,因为需要的东西是特定的,就是dx的资源,所以我就直接交给dx委托了.好比我这个中学就只收会数学的小学生一样,特定的.


2.如果软件需求是:可以换OS和特定API(比如DX9,DX10,GDI,OGL等等,甚至PS3等等),需要的物理资源不是特定的,那么就需要你所谓的物理管理,其实就是对API的中间封装.这个像你说的,需要上层应用对具体的API解藕,所以需要你的物理管理,也就是平台抽象.这才好比你的中学,什么样的小学生都要,所以需要你不同的教学设施..

这个跟小山说的一样,某类学生,学校可以要也可以不要对吧,这个就是学校的需求了.所以个人感觉软件设计和分析,是不能跟需求脱节的.否则,开发总会来来会会折腾.

回到上一个问题,底层这个概念是不好划分的.你的物理管理,必然是在某硬件限制和语言限制下做的,抽象是相对的.如果我要换一个语言,而跟你用的语言不同,那么你的物理管理已经不适用了.
当然你设计一个通用的变成语言,呵呵,但是语言没有所谓绝对通用,万一我就是不想用你写的语言呢?这个就是上层的需求了.除非你写的语言真的是十分之完美,所以可以满足世间所有需求,显然这个是不可能的.软件都有其针对的应用领域,编程语言也一样,没有好坏,只是看需求.再比如java,跨平台的,但是java的某写特性我要是不需要,如果用了反而影响效率,比如它的gc.我的实时性要求很高,java不适用,那么我就选别的语言了.这个是我的需求决定的.

底层支持会对上层开发提供便利,但必然对上层有限制,有了限制,就必然不能通用.
比如OS,他给你了很多便利,有设备驱动,管理设备资源,但是特权指令,*应用*程序不能使用.而且你得用这个OS特定的API标准而不是其他的.好了,如果你想摆脱这个限制,那么就脱离OS用纯汇编吧,特权指令随便用,但是呢,设备管理要自己做了,OS提供的便利也没有了.如果你确定你不需要OS也可以,那你大可以用纯汇编来做.这个还是要看需求.有些实时性强的,特定用途的相对简单的设备,确实可以直接用汇编来做的.除非OS像编程语言一样有规范,比如POSIX,能保证上层的通用性,但是这样的规范同样带有限制.

同样你说的物理抽象,也只是针对上层的某类特定的应用来做的对吧,同样也有限制.举个例子,Ogre目前可以管理DX9,OGL;Gamebryo可以管理DX,PS2的渲染,他们都有自己的物理抽象,但是针对的上层应用是特定的,也就是说,他们在开发的时候,需求是特定的,有区别的.

假如我想管理所有的东西,即:把引擎作为物理资源,Ogre和Gambryo等同于刚才的DX和GDI,
我写了一个游戏框架可以支持各种引擎,任何一个游戏,如果想换引擎,都不用改游戏的任何代码,而是通过我的这一层封装来完成,那么引擎对于渲染API的物理抽象那一级,我已经不太关心了,我现在关心的是游戏跟引擎这一层的所谓"物理".所以说,你说的层次,是纵向的,纵向本来就有N多层,所以你的3层是相对的.而且是跟具体需求有关系的.小山说的应该偏重于横向的,也是跟具体需求有关系的.

虽然Ogre有物理这一层,但是我想用他来开发平台游戏,比如做PSP,那么...呵呵..当然Ogre很灵活,我相信写出PSP的渲染插件绝对可行,上层代码都不用动.凭我个人经验,给Gamebryo加上OGL的支持,相对于Ogre添加PSP,是更难的,但是Ogre的这个灵活性,应该也包含了小山说的那种横向设计了.同样的层次,同样有物理抽象,如果忽略了横向扩展,也不太好.当然不是说gamebryo不好,而是他们设计时的目标不同,也就是需求不一样.

呵呵.如果一个软件有类似的问题,当然你可以说是因为他的层次概念不够清晰才导致的,但是,不可否认的是,纵向跟横向的分析和设计是需要结合的.也许就是因为他对横向的分析不够,才导致纵向的层次不清晰.


呵呵.但是我感觉,纵向和横向有应该要考虑.同时,最重要的是不能脱离实际需求,否则真的很难说清楚.

87

主题

790

帖子

806

积分

高级会员

Rank: 4

积分
806
QQ
 楼主| 发表于 2010-7-22 23:43:00 | 显示全部楼层

Re: Re:伤心啊,讨论计算机理论的没了

crazii: Re:伤心啊,讨论计算机理论的没了

我看了楼主发的东西,呵呵,怎么说呢,两个人的角度不一样.
楼主要搞的物理管理,其实就是底层抽象,这个当然是...

回复好详细,看得出已经看懂我的意思
的确,小山那种在很多情况下能用,但他的模型毕竟不完整啊
看需求选择方法没错,但得先知道有哪些方法吧,否则如果就知道一种方法,方法不对路,怎么办?

87

主题

790

帖子

806

积分

高级会员

Rank: 4

积分
806
QQ
 楼主| 发表于 2010-7-22 23:55:00 | 显示全部楼层

Re: Re:伤心啊,讨论计算机理论的没了

crazii: Re:伤心啊,讨论计算机理论的没了

个人愚见,如果搞应用,原理的东西明白就好了,除非是要深入研究,国内现在确实缺少这样的人才.

我的确不是主要搞应用,感觉搞应用比较像士兵,无法真正把握命运
我觉得凡是有个思路比能做出更重要,有运筹帷幄感觉,不用为鸡毛蒜皮的事烦恼,这是种心灵上的愉悦

0

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2010-7-23 13:49:00 | 显示全部楼层

Re:伤心啊,讨论计算机理论的没了

LZ确实没入门...
不是名词会得多就开口闭口皆原理就nb..这种东西google出来一大片...

8

主题

186

帖子

186

积分

注册会员

Rank: 2

积分
186
发表于 2010-7-23 16:27:00 | 显示全部楼层

Re:伤心啊,讨论计算机理论的没了

说句心里话,业余开发者不必去钻这些,把这些劲使到本职工作上,会更好。业余的,搞搞C语言,API弄懂就算最高水平啦!

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2010-7-24 03:25:00 | 显示全部楼层

Re:伤心啊,讨论计算机理论的没了

话说从楼主历来的对话中,
我总结的就是:
1. 楼主你很认真,认真到很蒜皮的事情,都可以上纲上线。好事也是坏事。
2. 楼主你很较真,较真的很蒜皮的事情,都可以上纲上线。好事也是坏事。
3. 最后,楼主你水平还真没到家,不是说你不够认真,或者仔细。该好好思考一下你走的路,你学东西,以及学习的方法。你水平没到,跟人家认真较真,人家不拉黑你才怪(希望我没理解错)


希望楼主前途无量。

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2010-7-24 20:03:00 | 显示全部楼层

Re:伤心啊,讨论计算机理论的没了

计算机原理而已。我初一就看了。一本厚书。内容和现在的计算机三级教材差不多。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-11-22 16:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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