作者Aurim (Who cares?)
看板Soft_Job
标题Re: [请益] 请问学哪个比较实用
时间Sun Feb 21 10:30:37 2010
※ 引述《yauhh (哟)》之铭言:
: 所谓linked就是一个结构包含另一个结构.
: Linked list则是结构的包含方式比较有规律.
: 在这方面,我觉得要说语言不重要,在linked list上面不是如此.
: Linked list用C或C++写才会特别把link带出来. 用Python,谈什麽link呢?
: 而真要说不被语言绑住的,是stack,queue,tree,graph这些language-free的东西.
我说个有些人可能不爱听的话,所有高阶语言处理的资料都要放在计算机结构内。
这代表什麽呢?有的语言可能没明确的指标,像Java,可是实际上物件型态的变数
都是动态物件,每个物件型态的变数都有个object reference,不像C++的物件有
分动态静态。高阶语言没指标就不能实作linked list?那不是要哈哈哈了吗?
有些人说linked list就是解决array有固定长度的问题,可是在我来看,
每个电脑的记忆体量都是有限的,位址空间也是有限的。
说到底,大家都是在一个由CPU提供的byte/word/dword array中玩来玩去而已。
如果机械语言/组语能实作linked list,所有有array的语言就都可以实作它。
没有人规定linked list的link一定要是指标或者以某个形态出现的啊。
你高兴的话,只要能够在现在的计算机结构下实作,
你也可以把link隐含在自己发明的语言所提供的某种语意样式里。
其他资料结构没有一个不可以这样玩,第一次想到那样的想法、发明那样语言的时候,
肯定很爽,我高中时很想自己来搞一个。
不过那又如何,现在的我来看,都是eye candy,拘泥於有形与无形的差别而已。
程式生产力真的有比较好吗?有时候吃eye candy是要多付出代价的。
Eye candy吃得愈多,离真正最底层的实作愈遥远,
对各种事务到底是怎麽运作的,就愈容易缺乏了解。
也许有的工作把愈底层的细节从真正要做的事情中抽离得愈远愈好,
但是也有的工作本来就是要从最底层的细节了解起,才能做得好的。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.10.18
※ 编辑: Aurim 来自: 114.32.10.18 (02/21 10:33)
1F:→ yauhh:这我还是颇有微词,打个比方,怎样有效将一堆石块沙砾分开? 02/21 10:44
2F:→ yauhh:最快而且最高阶的方法,把一篓沙砾摇晃摇晃,大小层次会分开 02/21 10:45
3F:→ TonyQ:简单来讲多知道一定是比较有帮助的. 但是现实不见得能够 02/21 15:10
4F:→ TonyQ:全部知道 , 也不见得全部知道. 但可以确定的是做越久知道的 02/21 15:11
5F:→ TonyQ:经验一定要更多就是了. 02/21 15:11
6F:→ TonyQ:(我指自己有认真在思考工作流程的人...) 02/21 15:11