- 浏览: 1145667 次
- 性别:
- 来自: 上海
最新评论
-
LD_21:
...
无锡旅游归来 -
cat:
赞,这招有点创意。一般他们提交的demo都是些什么样的?
招人不难 -
daly1987:
不错啊,找到这个帖子学习。
ANTLR学习心得——表达式(1) -
hbsycw:
文笔不错,平铺直叙,坦诚~
我的野蛮成长 -
RonQi:
potian后来没有回复吗
与potian兄闲聊
hurricane1026问到:我问的难么?
这个帖子,我就不跟了,说说自己的看法:
1、无论是做软件,还是任何其他行业,甚至包括做人,很多时候,都是在解决问题。遇到麻烦,想办法解决。
2、最简单的问题,就是能够在书上找到现成答案的问题。比如:哪种排序的效率更高。
3、如果一个问题,书上没有现成的答案,能够通过Google、查找相关论文等等手段,找到答案的,也是简单问题。
4、如果,搜索不到现成答案,但是能够找到询问的人,问出答案来。比如Google不到,只能到论坛来求人,哀告,冒着被隐藏的危险提出问题。无论当事人觉得如何困难,其实都是小Case。
5、如果无论如何都找不到答案,怎么办?自己找呀!比如,这是一个开放源代码的项目,那就看代码。如果源代码都不开放,那就Hacking。反编译、debug、单步跟踪、设断点、打log,用尽一切办法,找到答案。
6、有很多问题,根本就是左右为难,你也知道了整个困难的全貌。然后怎么去解决他呢?左思右想,反复权衡,尽可能找到最好的方案。甚至如果有创意的话,能够想到一个两全其美的解决方案。
7、更加困难的问题是:它根本就没有正确答案,没有最优解。连如何评价各种解决方案的好坏,都说不清楚。怎么办?你还是得做出决策,然后执行。
8、再进一步,它本来就没有问题。但是,一个原本已经解决了的问题,你现在来考虑,有没有可能存在更好方案。比如:新的切入点;新的框架;新的语言;新的开发模型。这就更加困难了。
不再把人的问题牵涉进去了,那是没底的。
那么,算法算老几?
你说的这个也对。不过窃以为大多数问题都不是现成的答案,你去查书也找不到,世界上没有万能博士的存在的。需要你去利用现有方案去改进,去类比。你什么细节都不知道,你怎么类比?难道你去先看一遍,哦,原来这个样子,不能用,再去看下一个?不是说你要5分钟写出一个多么麻烦的算法。至少你脑子中要知道每个的思想是什么,这样你在用的时候才得心应手。
以前你的帖子里说,一部分人学的慢,但是扎实,一部分学的快忘得快。
要我说,我如果要人,要学的快记得牢的。如果找不到,也要扎实的。学的快忘得快的人没有用心学。
我同意你的部分说法,因为你和我说的不是一个领域的问题。
但是同样的,凡事有个度,我想大家都知道API这个东西,一般只要知道API是做什么的就可以了,用的时候再去查,我想没有人能够把API都背下来。
但是如果你打算在某方面做个东西的时候,至少你要在这段时间内,要把相关的API熟记在心,甚至于一点点微小的区别都要搞清楚,但是过了这段时间呢?你还能记得住么?
可能你喜欢的是那种学的慢记得牢的那种,确实那种人适合做窄领域的研究。
但是不代表学得很快忘得快的人,没有用武之地。(否则我不是要喝西北风了)
api不可能记住,也不回有人记。
我的意思是我问的东西相当于计算机领域中的1+1,难道一个人跟你说我1+1记不住,不过不要紧我可以很快查到,你会用他?
还有你说做过一段时间的东西,这么说吧。我现在做的东西,从2006年5月开始查外文资料。找领域课题,到现在为止,共翻阅参照的外文资料至少20-30篇了。我每个亲自看过的都可以给你随时讲解任何一个细节。
凡是我专心读过的书,你可以随时问我。比如我去年给GF辅导初等数学。发现自己还没有做不出来的高中题目。高中毕业7年了。解析几何拿来我还是能做,就是慢点。我的看法是认真学过的东西,是在脑海里有很深印记的。我相信大家应该有共识,你觉得老大们在javaeye上开坛论道的东西都是昨天才学的?越是学的久的东西越是经过消化的越多,越能够讲出其中的精髓。。。。
学了就忘要找找自己的原因,学习一下别人记忆的方法。不是什么值得夸耀的事情。。。。。
如果你像你说的那样的话,我真的很佩服你。
高中的东西,现在拿来让我做,我必须得翻书,否则我不敢保证我会做出来。
换句话说,你让我复习一段时间,我还是能够考上现在的大学的,但是就让我这样直接去考,我想我还是不要给学校丢脸了。
当时学得怎么样,这样说吧,我经常会被叫到办公室和老师讨论问题,当然如果是你说我老师笨的话,我无话可说了。
在高中时,我只要做过的数理化题,我到毕业都知道这题我做过。
至于说,我学了就忘(我只是忘记某种程度的细节),不是什么值得夸耀的事情,我承认。
但是我也不认为是什么值得惭愧的事情。
在前一个公司,我是做demo的。用到很多我从来没有接触过的东西,但是时间很短,必须要在第一时间做出demo向客户演示,否则就被别的公司抢先了。
仔细研究,当然可以,但是没有人有精力仔细研究那么多东西,这就要考验你的领悟能力。
当然,有超强的领悟能力,又有非凡的记忆能力自然更好。
可惜我只是个平凡的人。
其实夜班和温饱都与数学不冲突。核心竞争力高了,进正规公司的几率也大。这样待遇上去了。加班变少了。。。
就mm这个看天分。。。
实则上我的意思是,数学是你第二个MM,需要花很多时间陪.
其实夜班和温饱都与数学不冲突。核心竞争力高了,进正规公司的几率也大。这样待遇上去了。加班变少了。。。
就mm这个看天分。。。学到那个程度,可以提供一个算法来算出在什么地方,什么公司,什么情景下碰到一个心仪MM的几率,以及成功的几率了.
哈哈!~
你说的这个也对。不过窃以为大多数问题都不是现成的答案,你去查书也找不到,世界上没有万能博士的存在的。需要你去利用现有方案去改进,去类比。你什么细节都不知道,你怎么类比?难道你去先看一遍,哦,原来这个样子,不能用,再去看下一个?不是说你要5分钟写出一个多么麻烦的算法。至少你脑子中要知道每个的思想是什么,这样你在用的时候才得心应手。
以前你的帖子里说,一部分人学的慢,但是扎实,一部分学的快忘得快。
要我说,我如果要人,要学的快记得牢的。如果找不到,也要扎实的。学的快忘得快的人没有用心学。
我同意你的部分说法,因为你和我说的不是一个领域的问题。
但是同样的,凡事有个度,我想大家都知道API这个东西,一般只要知道API是做什么的就可以了,用的时候再去查,我想没有人能够把API都背下来。
但是如果你打算在某方面做个东西的时候,至少你要在这段时间内,要把相关的API熟记在心,甚至于一点点微小的区别都要搞清楚,但是过了这段时间呢?你还能记得住么?
可能你喜欢的是那种学的慢记得牢的那种,确实那种人适合做窄领域的研究。
但是不代表学得很快忘得快的人,没有用武之地。(否则我不是要喝西北风了)
1、每个人都是从自己的工作经验出发,来总结的。所以,从我的经验来说,我的工作中需要算法的情况,的确是非常少。
没错没错,尤其是做外包,算法涉及的就更少了,但是我们涉及的少是因为我们在做外包,对不同的人,需要的东西是不一样的,就象robbin说他的网站需要算法来做会员同好功能一样,他有他要的理由,我们不能指望一个工具能满足我们所有的需求,钳子有钳子的作用,榔头有榔头的作用,不能说我们不用榔头就否认榔头的价值。
但是从市场份额来看应该还是做外包的多,也就是说大多数的程序员都用不到算法
我会帮他打开eclipse,然后坐在他的旁边,一言不发。看他如何从头熟悉一个过去没有用过的IDE。
更有甚者,如果我正好有空的话,假设他说他用过Eclipse,那么我就给他一个NetBeans,看他怎么样去熟悉一个从来没有用过的IDE。
weiqingfei,握手。
我打开一个Visual Studio, 在里头大写java source code....
我会帮他打开eclipse,然后坐在他的旁边,一言不发。看他如何从头熟悉一个过去没有用过的IDE。
更有甚者,如果我正好有空的话,假设他说他用过Eclipse,那么我就给他一个NetBeans,看他怎么样去熟悉一个从来没有用过的IDE。
weiqingfei,握手。
如果说,现在急需一个人能够立刻用eclipse来开发项目的话,这个人自然不能要。
如果不是,我会给他几分钟让他熟悉以下eclipse,看看他能在最短的时间内,掌握到什么程度。
因为将来的工作不可能只用一种东西,关键还是这个人的接受能力怎么样。
弱弱的问一句...CBA是...Chinese Basketball Association?
NBA下属的一个北美范围内的篮球联赛的名称的简写也是CBA,全名是Continental Basketball Association
根据上下文,这里的CBA应该是Cost Benefit Analysis...
老王,出来换气啊!
CBA还有很多解释哦...
California Bluegrass Assocation
Center for Backyard Astrophysics
Commercail Banks Association
晕翻~~~~~~~~~~~~~~
弱弱的问一句...CBA是...Chinese Basketball Association?
NBA下属的一个北美范围内的篮球联赛的名称的简写也是CBA,全名是Continental Basketball Association
根据上下文,这里的CBA应该是Cost Benefit Analysis...
弱弱的问一句...CBA是...Chinese Basketball Association?
这个帖子,我就不跟了,说说自己的看法:
1、无论是做软件,还是任何其他行业,甚至包括做人,很多时候,都是在解决问题。遇到麻烦,想办法解决。
2、最简单的问题,就是能够在书上找到现成答案的问题。比如:哪种排序的效率更高。
3、如果一个问题,书上没有现成的答案,能够通过Google、查找相关论文等等手段,找到答案的,也是简单问题。
4、如果,搜索不到现成答案,但是能够找到询问的人,问出答案来。比如Google不到,只能到论坛来求人,哀告,冒着被隐藏的危险提出问题。无论当事人觉得如何困难,其实都是小Case。
5、如果无论如何都找不到答案,怎么办?自己找呀!比如,这是一个开放源代码的项目,那就看代码。如果源代码都不开放,那就Hacking。反编译、debug、单步跟踪、设断点、打log,用尽一切办法,找到答案。
6、有很多问题,根本就是左右为难,你也知道了整个困难的全貌。然后怎么去解决他呢?左思右想,反复权衡,尽可能找到最好的方案。甚至如果有创意的话,能够想到一个两全其美的解决方案。
7、更加困难的问题是:它根本就没有正确答案,没有最优解。连如何评价各种解决方案的好坏,都说不清楚。怎么办?你还是得做出决策,然后执行。
8、再进一步,它本来就没有问题。但是,一个原本已经解决了的问题,你现在来考虑,有没有可能存在更好方案。比如:新的切入点;新的框架;新的语言;新的开发模型。这就更加困难了。
不再把人的问题牵涉进去了,那是没底的。
那么,算法算老几?
评论
36 楼
weiqingfei
2007-03-27
hurricane1026 写道
weiqingfei 写道
hurricane1026 写道
weiqingfei 写道
其实我觉得大家观点大方向应该是一样的,只是一“度”的区别。
算法需要不需要学,我觉得在一定程度上还是有必要学的,否则即使你google,都不知道该去google什么。
但是要不要记住,记到什么程度,因人而异,在我看来,只要知道什么算法能解决什么问题,就可以了。
至于算法的实现,不一定非要装在脑子里。
算法需要不需要学,我觉得在一定程度上还是有必要学的,否则即使你google,都不知道该去google什么。
但是要不要记住,记到什么程度,因人而异,在我看来,只要知道什么算法能解决什么问题,就可以了。
至于算法的实现,不一定非要装在脑子里。
你说的这个也对。不过窃以为大多数问题都不是现成的答案,你去查书也找不到,世界上没有万能博士的存在的。需要你去利用现有方案去改进,去类比。你什么细节都不知道,你怎么类比?难道你去先看一遍,哦,原来这个样子,不能用,再去看下一个?不是说你要5分钟写出一个多么麻烦的算法。至少你脑子中要知道每个的思想是什么,这样你在用的时候才得心应手。
以前你的帖子里说,一部分人学的慢,但是扎实,一部分学的快忘得快。
要我说,我如果要人,要学的快记得牢的。如果找不到,也要扎实的。学的快忘得快的人没有用心学。
我同意你的部分说法,因为你和我说的不是一个领域的问题。
但是同样的,凡事有个度,我想大家都知道API这个东西,一般只要知道API是做什么的就可以了,用的时候再去查,我想没有人能够把API都背下来。
但是如果你打算在某方面做个东西的时候,至少你要在这段时间内,要把相关的API熟记在心,甚至于一点点微小的区别都要搞清楚,但是过了这段时间呢?你还能记得住么?
可能你喜欢的是那种学的慢记得牢的那种,确实那种人适合做窄领域的研究。
但是不代表学得很快忘得快的人,没有用武之地。(否则我不是要喝西北风了)
api不可能记住,也不回有人记。
我的意思是我问的东西相当于计算机领域中的1+1,难道一个人跟你说我1+1记不住,不过不要紧我可以很快查到,你会用他?
还有你说做过一段时间的东西,这么说吧。我现在做的东西,从2006年5月开始查外文资料。找领域课题,到现在为止,共翻阅参照的外文资料至少20-30篇了。我每个亲自看过的都可以给你随时讲解任何一个细节。
凡是我专心读过的书,你可以随时问我。比如我去年给GF辅导初等数学。发现自己还没有做不出来的高中题目。高中毕业7年了。解析几何拿来我还是能做,就是慢点。我的看法是认真学过的东西,是在脑海里有很深印记的。我相信大家应该有共识,你觉得老大们在javaeye上开坛论道的东西都是昨天才学的?越是学的久的东西越是经过消化的越多,越能够讲出其中的精髓。。。。
学了就忘要找找自己的原因,学习一下别人记忆的方法。不是什么值得夸耀的事情。。。。。
如果你像你说的那样的话,我真的很佩服你。
高中的东西,现在拿来让我做,我必须得翻书,否则我不敢保证我会做出来。
换句话说,你让我复习一段时间,我还是能够考上现在的大学的,但是就让我这样直接去考,我想我还是不要给学校丢脸了。
当时学得怎么样,这样说吧,我经常会被叫到办公室和老师讨论问题,当然如果是你说我老师笨的话,我无话可说了。
在高中时,我只要做过的数理化题,我到毕业都知道这题我做过。
至于说,我学了就忘(我只是忘记某种程度的细节),不是什么值得夸耀的事情,我承认。
但是我也不认为是什么值得惭愧的事情。
在前一个公司,我是做demo的。用到很多我从来没有接触过的东西,但是时间很短,必须要在第一时间做出demo向客户演示,否则就被别的公司抢先了。
仔细研究,当然可以,但是没有人有精力仔细研究那么多东西,这就要考验你的领悟能力。
当然,有超强的领悟能力,又有非凡的记忆能力自然更好。
可惜我只是个平凡的人。
35 楼
回帖专用
2007-03-27
hurricane1026 写道
回帖专用 写道
个人提倡,对非数学专业人士来说,先解决肚子的温饱问题,先解决不加夜班的问题,先解决身边的MM问题,再来学习数学.
其实夜班和温饱都与数学不冲突。核心竞争力高了,进正规公司的几率也大。这样待遇上去了。加班变少了。。。
就mm这个看天分。。。
实则上我的意思是,数学是你第二个MM,需要花很多时间陪.
34 楼
winterwolf
2007-03-27
非外包也很少用到算法 因为那个层次太低级了 距离应用开发太遥远了.
考算法还不如看看他会不会做测试性能.
考算法还不如看看他会不会做测试性能.
33 楼
dovecat
2007-03-27
hurricane1026 写道
回帖专用 写道
个人提倡,对非数学专业人士来说,先解决肚子的温饱问题,先解决不加夜班的问题,先解决身边的MM问题,再来学习数学.
其实夜班和温饱都与数学不冲突。核心竞争力高了,进正规公司的几率也大。这样待遇上去了。加班变少了。。。
就mm这个看天分。。。
哈哈!~
32 楼
simohayha
2007-03-27
俺现在只是解决了温饱,其他的还没解决呢。
31 楼
robbin
2007-03-27
我自己不是计算机专业出身的。但是从事软件行业以来,把计算机的基础课程也补的七七八八了,什么数字逻辑,抽象代数,系统结构,操作系统等等,唯独算法和编译原理两门基础课没有补,至今觉得遗憾。所以现在一旦碰到需要算法的场合,碰到需要语法分析的场合,就感觉非常窘迫。
不要说web编程里面不需要算法,其实用到算法的地方很多,例如你做web应用,如何保证用户每次访问,都返回随机结果,而且随机结果不会重复出现已经出现的结果,再例如你要防范别人扒你的信息,你如何提供好的混淆机制。JavaEye投票,使用什么算法能够提供最有效的方式,保证最大程度的论坛质量?如何根据帖子的点击总次数,不同人的不同点击权重,不同人的投票权重,计算帖子的质量?如何根据用户行为计算用户偏好程度?难道这些都不需要算法支撑?这些都还不算上全文检索了。如果需要中文的全文检索,那纯粹是算法的用武之地了。再考虑通过中文分词以后,统计关键词的重要性,关键词的关联度和反义度,关键词和文章的关联性算法,文章和文章之间通过关键词匹配程度计算出来的关联性,用户和用户之间通过关键词匹配,文章关联性计算出来的同好比例,处处都是算法。
不要说web编程里面不需要算法,其实用到算法的地方很多,例如你做web应用,如何保证用户每次访问,都返回随机结果,而且随机结果不会重复出现已经出现的结果,再例如你要防范别人扒你的信息,你如何提供好的混淆机制。JavaEye投票,使用什么算法能够提供最有效的方式,保证最大程度的论坛质量?如何根据帖子的点击总次数,不同人的不同点击权重,不同人的投票权重,计算帖子的质量?如何根据用户行为计算用户偏好程度?难道这些都不需要算法支撑?这些都还不算上全文检索了。如果需要中文的全文检索,那纯粹是算法的用武之地了。再考虑通过中文分词以后,统计关键词的重要性,关键词的关联度和反义度,关键词和文章的关联性算法,文章和文章之间通过关键词匹配程度计算出来的关联性,用户和用户之间通过关键词匹配,文章关联性计算出来的同好比例,处处都是算法。
30 楼
回帖专用
2007-03-27
个人提倡,对非数学专业人士来说,先解决肚子的温饱问题,先解决不加夜班的问题,先解决身边的MM问题,再来学习数学.
29 楼
weiqingfei
2007-03-27
hurricane1026 写道
weiqingfei 写道
其实我觉得大家观点大方向应该是一样的,只是一“度”的区别。
算法需要不需要学,我觉得在一定程度上还是有必要学的,否则即使你google,都不知道该去google什么。
但是要不要记住,记到什么程度,因人而异,在我看来,只要知道什么算法能解决什么问题,就可以了。
至于算法的实现,不一定非要装在脑子里。
算法需要不需要学,我觉得在一定程度上还是有必要学的,否则即使你google,都不知道该去google什么。
但是要不要记住,记到什么程度,因人而异,在我看来,只要知道什么算法能解决什么问题,就可以了。
至于算法的实现,不一定非要装在脑子里。
你说的这个也对。不过窃以为大多数问题都不是现成的答案,你去查书也找不到,世界上没有万能博士的存在的。需要你去利用现有方案去改进,去类比。你什么细节都不知道,你怎么类比?难道你去先看一遍,哦,原来这个样子,不能用,再去看下一个?不是说你要5分钟写出一个多么麻烦的算法。至少你脑子中要知道每个的思想是什么,这样你在用的时候才得心应手。
以前你的帖子里说,一部分人学的慢,但是扎实,一部分学的快忘得快。
要我说,我如果要人,要学的快记得牢的。如果找不到,也要扎实的。学的快忘得快的人没有用心学。
我同意你的部分说法,因为你和我说的不是一个领域的问题。
但是同样的,凡事有个度,我想大家都知道API这个东西,一般只要知道API是做什么的就可以了,用的时候再去查,我想没有人能够把API都背下来。
但是如果你打算在某方面做个东西的时候,至少你要在这段时间内,要把相关的API熟记在心,甚至于一点点微小的区别都要搞清楚,但是过了这段时间呢?你还能记得住么?
可能你喜欢的是那种学的慢记得牢的那种,确实那种人适合做窄领域的研究。
但是不代表学得很快忘得快的人,没有用武之地。(否则我不是要喝西北风了)
28 楼
庄表伟
2007-03-27
to:T1
我很同意你的观点。说两句题外话:
dreamhead担心我误导初学者。我就在想,要是个新手看到javaeye的这几篇关于算法的讨论以后,会怎么想,是不是会更晕?
当初我好像是跟你还是跟谁说过一句话:“初学者嘛,就是拿来误导的 ”
余下的话还没想好怎么说...
我很同意你的观点。说两句题外话:
dreamhead担心我误导初学者。我就在想,要是个新手看到javaeye的这几篇关于算法的讨论以后,会怎么想,是不是会更晕?
当初我好像是跟你还是跟谁说过一句话:“初学者嘛,就是拿来误导的 ”
余下的话还没想好怎么说...
27 楼
回帖专用
2007-03-27
从招聘的程序上看,我同意Robbin的这个说法,问这些问题事实上是一个reference check.
从数学对解决日常工作上来说,个人的看法是,一个好的程序员最好是要高标准严要求.一个人选择什么,同时你也必须放弃什么.熟悉API,熟悉Framework,当然能够让你赚个3/4千块钱图个温饱.但是你要说我知道这些就够了,我debug能力强就够了,那么你最好也就放弃去google去MS拿着1/2万的月薪的打算.当然也有人会说,赚钱也不一定要学算法吗,学数学吗.那些炒股的大户学过算法?事实上任何赚钱的行当都是不进则退,我一个朋友是私人老板以炒港股和纳斯达克为生.他告诉我他每天看的中外文报纸期刊都有机箱那么高一摞.上次我和他聊很多关于PushMail方面的问题,他说的都是头头是道几乎是这方面的专家.他说不管哪方面你要想赚钱,首先要成为那方面的专家.
再回到数学上来,你要成为程序方面的专家,那么数学最好学习.数学能干什么?锻炼思维,训练感觉.这些能讲得都已经讲了.我这里只想说的就一句"功夫在诗外".其他的不说,你要想成为程序方面的专家,那么你必须追赶最新的计算机发展方向,而不是等人翻译出<Programming XXX>再来学习,那实则上已经是二把刀了,国内外可能已经有无数的人在你之前已经看准了这个方向.你要学习最先进的发展趋势,最重要的就是能读Paper.国外和国内不一样,但凡一个开天辟地的伟大应用都是从大学里孵化出来的.你能不能读懂各种Paper,就决定了你能不能跟到跟对计算机发展的心跳.但是学术Paper不是news Paper,光英文好还不行,你必须有数学基础,必须能把那些数学牛人的理论与现实联系在一起.新技术成千上万,那个好,那个不好,那个有前途,那个没前途.完全看对于技术上的知觉.这种知觉不是说你熟悉多少API就能得到的,你必须知其然,知其所以然.好怎么个好法,又好在哪里?
比如说我在研究Erlang的时候,读HPE compiler创始人写的Erlang VM的优化报告时,他就提到什么是图色法,Erlang的Private Process模型对GC效率算法的影响.这些我都不懂然后去和Elminster,Potain讨论,然后再回过来看那份Paper的时候豁然开让,终于知道Erlang为何性能高,高又高在哪里?跟踪一个新技术,第一关就是要说服自己.
满足于任何已经学到的知识和经验,成天想着建造这个壁垒那个壁垒的人既不能成为一个专家,也不能成为雇佣专家的人.最好的壁垒是自己,最大的壁垒的也是自己.
从数学对解决日常工作上来说,个人的看法是,一个好的程序员最好是要高标准严要求.一个人选择什么,同时你也必须放弃什么.熟悉API,熟悉Framework,当然能够让你赚个3/4千块钱图个温饱.但是你要说我知道这些就够了,我debug能力强就够了,那么你最好也就放弃去google去MS拿着1/2万的月薪的打算.当然也有人会说,赚钱也不一定要学算法吗,学数学吗.那些炒股的大户学过算法?事实上任何赚钱的行当都是不进则退,我一个朋友是私人老板以炒港股和纳斯达克为生.他告诉我他每天看的中外文报纸期刊都有机箱那么高一摞.上次我和他聊很多关于PushMail方面的问题,他说的都是头头是道几乎是这方面的专家.他说不管哪方面你要想赚钱,首先要成为那方面的专家.
再回到数学上来,你要成为程序方面的专家,那么数学最好学习.数学能干什么?锻炼思维,训练感觉.这些能讲得都已经讲了.我这里只想说的就一句"功夫在诗外".其他的不说,你要想成为程序方面的专家,那么你必须追赶最新的计算机发展方向,而不是等人翻译出<Programming XXX>再来学习,那实则上已经是二把刀了,国内外可能已经有无数的人在你之前已经看准了这个方向.你要学习最先进的发展趋势,最重要的就是能读Paper.国外和国内不一样,但凡一个开天辟地的伟大应用都是从大学里孵化出来的.你能不能读懂各种Paper,就决定了你能不能跟到跟对计算机发展的心跳.但是学术Paper不是news Paper,光英文好还不行,你必须有数学基础,必须能把那些数学牛人的理论与现实联系在一起.新技术成千上万,那个好,那个不好,那个有前途,那个没前途.完全看对于技术上的知觉.这种知觉不是说你熟悉多少API就能得到的,你必须知其然,知其所以然.好怎么个好法,又好在哪里?
比如说我在研究Erlang的时候,读HPE compiler创始人写的Erlang VM的优化报告时,他就提到什么是图色法,Erlang的Private Process模型对GC效率算法的影响.这些我都不懂然后去和Elminster,Potain讨论,然后再回过来看那份Paper的时候豁然开让,终于知道Erlang为何性能高,高又高在哪里?跟踪一个新技术,第一关就是要说服自己.
满足于任何已经学到的知识和经验,成天想着建造这个壁垒那个壁垒的人既不能成为一个专家,也不能成为雇佣专家的人.最好的壁垒是自己,最大的壁垒的也是自己.
26 楼
weiqingfei
2007-03-27
其实我觉得大家观点大方向应该是一样的,只是一“度”的区别。
算法需要不需要学,我觉得在一定程度上还是有必要学的,否则即使你google,都不知道该去google什么。
但是要不要记住,记到什么程度,因人而异,在我看来,只要知道什么算法能解决什么问题,就可以了。
至于算法的实现,不一定非要装在脑子里。
算法需要不需要学,我觉得在一定程度上还是有必要学的,否则即使你google,都不知道该去google什么。
但是要不要记住,记到什么程度,因人而异,在我看来,只要知道什么算法能解决什么问题,就可以了。
至于算法的实现,不一定非要装在脑子里。
25 楼
ahuaxuan
2007-03-27
庄表伟 写道
1、每个人都是从自己的工作经验出发,来总结的。所以,从我的经验来说,我的工作中需要算法的情况,的确是非常少。
没错没错,尤其是做外包,算法涉及的就更少了,但是我们涉及的少是因为我们在做外包,对不同的人,需要的东西是不一样的,就象robbin说他的网站需要算法来做会员同好功能一样,他有他要的理由,我们不能指望一个工具能满足我们所有的需求,钳子有钳子的作用,榔头有榔头的作用,不能说我们不用榔头就否认榔头的价值。
但是从市场份额来看应该还是做外包的多,也就是说大多数的程序员都用不到算法
24 楼
ray_linn
2007-03-27
庄表伟 写道
robbin 写道
比如说,我现在想给JavaEye做全文检索,文章关联性,和会员同好功能,我就发现算法很重要。
以我个人观点来看,作为一个程序员来说,也许在自己的职业生涯当中,未必有用到算法的那一天,但是学习算法可以锻炼抽象的逻辑思维能力,间接的提高程序员解决问题的能力。
抛开这些不谈,如果是计算机系的研究生面试,连最基本的算法概念都答不出来,无论如何说不过去,你本来就是搞计算机理论的,连最基本的理论都不会,有什么资格被录取?就好像老庄要面试一个程序员,给他一个任务,让他用eclipse现场开发,结果他说我不会用eclipse,那你会不会录取他?
以我个人观点来看,作为一个程序员来说,也许在自己的职业生涯当中,未必有用到算法的那一天,但是学习算法可以锻炼抽象的逻辑思维能力,间接的提高程序员解决问题的能力。
抛开这些不谈,如果是计算机系的研究生面试,连最基本的算法概念都答不出来,无论如何说不过去,你本来就是搞计算机理论的,连最基本的理论都不会,有什么资格被录取?就好像老庄要面试一个程序员,给他一个任务,让他用eclipse现场开发,结果他说我不会用eclipse,那你会不会录取他?
我会帮他打开eclipse,然后坐在他的旁边,一言不发。看他如何从头熟悉一个过去没有用过的IDE。
更有甚者,如果我正好有空的话,假设他说他用过Eclipse,那么我就给他一个NetBeans,看他怎么样去熟悉一个从来没有用过的IDE。
weiqingfei,握手。
我打开一个Visual Studio, 在里头大写java source code....
23 楼
simohayha
2007-03-27
忘了是spring嘟嘟,还是老庄说过的,面试的时候,就问他什么东西最不擅长,然后让他做,看能做成什么样子.
22 楼
庄表伟
2007-03-27
robbin 写道
比如说,我现在想给JavaEye做全文检索,文章关联性,和会员同好功能,我就发现算法很重要。
以我个人观点来看,作为一个程序员来说,也许在自己的职业生涯当中,未必有用到算法的那一天,但是学习算法可以锻炼抽象的逻辑思维能力,间接的提高程序员解决问题的能力。
抛开这些不谈,如果是计算机系的研究生面试,连最基本的算法概念都答不出来,无论如何说不过去,你本来就是搞计算机理论的,连最基本的理论都不会,有什么资格被录取?就好像老庄要面试一个程序员,给他一个任务,让他用eclipse现场开发,结果他说我不会用eclipse,那你会不会录取他?
以我个人观点来看,作为一个程序员来说,也许在自己的职业生涯当中,未必有用到算法的那一天,但是学习算法可以锻炼抽象的逻辑思维能力,间接的提高程序员解决问题的能力。
抛开这些不谈,如果是计算机系的研究生面试,连最基本的算法概念都答不出来,无论如何说不过去,你本来就是搞计算机理论的,连最基本的理论都不会,有什么资格被录取?就好像老庄要面试一个程序员,给他一个任务,让他用eclipse现场开发,结果他说我不会用eclipse,那你会不会录取他?
我会帮他打开eclipse,然后坐在他的旁边,一言不发。看他如何从头熟悉一个过去没有用过的IDE。
更有甚者,如果我正好有空的话,假设他说他用过Eclipse,那么我就给他一个NetBeans,看他怎么样去熟悉一个从来没有用过的IDE。
weiqingfei,握手。
21 楼
weiqingfei
2007-03-27
robbin 写道
比如说,我现在想给JavaEye做全文检索,文章关联性,和会员同好功能,我就发现算法很重要。
以我个人观点来看,作为一个程序员来说,也许在自己的职业生涯当中,未必有用到算法的那一天,但是学习算法可以锻炼抽象的逻辑思维能力,间接的提高程序员解决问题的能力。
抛开这些不谈,如果是计算机系的研究生面试,连最基本的算法概念都答不出来,无论如何说不过去,你本来就是搞计算机理论的,连最基本的理论都不会,有什么资格被录取?就好像老庄要面试一个程序员,给他一个任务,让他用eclipse现场开发,结果他说我不会用eclipse,那你会不会录取他?
以我个人观点来看,作为一个程序员来说,也许在自己的职业生涯当中,未必有用到算法的那一天,但是学习算法可以锻炼抽象的逻辑思维能力,间接的提高程序员解决问题的能力。
抛开这些不谈,如果是计算机系的研究生面试,连最基本的算法概念都答不出来,无论如何说不过去,你本来就是搞计算机理论的,连最基本的理论都不会,有什么资格被录取?就好像老庄要面试一个程序员,给他一个任务,让他用eclipse现场开发,结果他说我不会用eclipse,那你会不会录取他?
如果说,现在急需一个人能够立刻用eclipse来开发项目的话,这个人自然不能要。
如果不是,我会给他几分钟让他熟悉以下eclipse,看看他能在最短的时间内,掌握到什么程度。
因为将来的工作不可能只用一种东西,关键还是这个人的接受能力怎么样。
20 楼
robbin
2007-03-27
比如说,我现在想给JavaEye做全文检索,文章关联性,和会员同好功能,我就发现算法很重要。
以我个人观点来看,作为一个程序员来说,也许在自己的职业生涯当中,未必有用到算法的那一天,但是学习算法可以锻炼抽象的逻辑思维能力,间接的提高程序员解决问题的能力。
抛开这些不谈,如果是计算机系的研究生面试,连最基本的算法概念都答不出来,无论如何说不过去,你本来就是搞计算机理论的,连最基本的理论都不会,有什么资格被录取?就好像老庄要面试一个程序员,给他一个任务,让他用eclipse现场开发,结果他说我不会用eclipse,那你会不会录取他?
以我个人观点来看,作为一个程序员来说,也许在自己的职业生涯当中,未必有用到算法的那一天,但是学习算法可以锻炼抽象的逻辑思维能力,间接的提高程序员解决问题的能力。
抛开这些不谈,如果是计算机系的研究生面试,连最基本的算法概念都答不出来,无论如何说不过去,你本来就是搞计算机理论的,连最基本的理论都不会,有什么资格被录取?就好像老庄要面试一个程序员,给他一个任务,让他用eclipse现场开发,结果他说我不会用eclipse,那你会不会录取他?
19 楼
lordhong
2007-03-27
Readonly 写道
lordhong 写道
ray_linn 写道
我不懂算法, 但我懂End 2 End performance和CBA
弱弱的问一句...CBA是...Chinese Basketball Association?
NBA下属的一个北美范围内的篮球联赛的名称的简写也是CBA,全名是Continental Basketball Association
根据上下文,这里的CBA应该是Cost Benefit Analysis...
老王,出来换气啊!
CBA还有很多解释哦...
California Bluegrass Assocation
Center for Backyard Astrophysics
Commercail Banks Association
晕翻~~~~~~~~~~~~~~
18 楼
Readonly
2007-03-27
lordhong 写道
ray_linn 写道
我不懂算法, 但我懂End 2 End performance和CBA
弱弱的问一句...CBA是...Chinese Basketball Association?
NBA下属的一个北美范围内的篮球联赛的名称的简写也是CBA,全名是Continental Basketball Association
根据上下文,这里的CBA应该是Cost Benefit Analysis...
17 楼
lordhong
2007-03-27
ray_linn 写道
我不懂算法, 但我懂End 2 End performance和CBA
弱弱的问一句...CBA是...Chinese Basketball Association?
发表评论
-
咱圈真乱
2009-10-01 23:11 4469这是一篇杂感,想到哪说到哪,各位看客见谅。 之所以会有这么一 ... -
也谈“平等”
2009-02-09 11:08 2040事情的起因是这样的,yeka与云风都是武汉人,今年过年 ... -
关于网络书签的一些联想
2008-10-16 22:46 1812最近我在关注服务器架构、性能等方面的技术,因此在Google上 ... -
JavaEye社区再分析
2008-03-29 00:15 6468接着昨天的思考往下深入。分析一下JavaEye作为一个社区的特 ... -
SNS、IM、BBS与JavaEye
2008-03-27 22:03 4365今天在跟Robbin聊天,聊 ... -
再寄小读者之一:关于读书
2007-07-14 17:34 7421在写了《不敢招应届生 ... -
近日杂记
2007-05-14 00:34 35061、最近一直在玩Travian,帐号就不说出来了。突然有个想法 ... -
学会对道理保持警惕
2007-05-10 23:57 3302我一直以来都喜欢“理论思考”,无论是人家讲的很有道理的话,还是 ... -
Gmail Paper?是一个愚人节的玩笑吗?
2007-04-01 20:29 2501... -
知易行难的软件开发风险管理——发表于2007-02《程序员》
2007-03-05 10:19 4271前段时间我写了一 ... -
小游戏,大道理
2007-01-19 00:05 7103我一直喜欢上面这个只有60k的小游戏,好多年了。始终成绩不 ... -
世界是平的、写诗机、模版式个性化和印客通
2006-11-17 23:10 3109最近在看一本很火爆的新书《世界是平的(第二版)》 在这本书中 ... -
必然与偶然,记一次老同事的聊天,兼答hurricane1026
2006-10-23 20:34 6834那天和以前一个公司的老同事一起聚会,大家差不多有3~4年没见了 ... -
Martin Fowler最近的两篇Blog,推荐阅读
2006-10-19 10:06 4727《人本接口》与《最小接口》 http://blog.csdn. ... -
关注软件开发项目中的人[下]
2006-10-10 14:18 21567、狙击手型 狙击手是很难被考量他的工作效率 ... -
关注软件开发项目中的人[全文]
2006-09-14 16:44 9674本文为《程序员》10月份稿件,先贴出部分,以吊胃口:) 全文将 ...
相关推荐
改进A*算法融合DWA算法规避未知障碍物仿真。 改进A*算法做全局路径规划,融合动态窗口算法DWA做局部路径规划既可规避动态障碍物,又可与障碍物保持一定距离。 任意设置起点与终点,未知动态障碍物与未知静态障碍物。...
A算法和A*算法详细的讲解 并且有实例的解释 大家可以借鉴
汇总了计算机研究生复试有关算法分析与设计各章节简答题,使用了易于口头表达的语言进行了总结。包括算法分析与设计基本概念及各章节问题回答。可供研究生复试或相关专业岗位面试使用。 1. 简述算法定义、属性及指标...
国密算法简介
第一章 引论 1.1 组合数学研究的对象 1.2 组合问题典型实例 1.2.1 分派问题 1. 2.2 染色问题 ...11.12 好算法、坏算法和np类问题 11.13 npc类问题 11.14 货郎问题的近似解 习 题... 参考文献
如何通俗的解释机器学习的10大算法?.pdf如何通俗的解释机器学习的10大算法?.pdf如何通俗的解释机器学习的10大算法?.pdf如何通俗的解释机器学习的10大算法?.pdf如何通俗的解释机器学习的10大算法?.pdf如何通俗的...
SIMPLE(Semi-Implicit Method for Pressure-Linked Equations)算法是一种在计算流体动力学(CFD)中广泛使用的数值方法,用于求解连续性方程、动量方程以及能量方程等流体流动问题。这个算法的主要特点是将压力...
LMS算法与RLS算法的异同点、自适应均衡器的最佳准则 LMS算法和RLS算法是两种常用的自适应均衡算法,它们之间存在着一定的异同点。下面将对LMS算法和RLS算法进行详细的比较和分析。 一、LMS算法 LMS算法(Least ...
模型算法大全(20+种常用算法模型+代码实现)模型算法大全(20+种常用算法模型+代码实现)模型算法大全(20+种常用算法模型+代码实现)模型算法大全(20+种常用算法模型+代码实现)模型算法大全(20+种常用算法模型+...
本文将深入探讨标题和描述中提到的MATLAB编写的经典遗传算法算例,以及如何利用这些算例来理解和应用遗传算法。 首先,遗传算法的基本流程包括初始化种群、适应度评价、选择、交叉和变异等步骤。在MATLAB中,我们...
4. **算例库**:platEMO包含了多种多目标优化问题的实例,这些算例涵盖了不同的领域和难度等级,有助于验证算法的性能和比较不同算法的优劣。 5. **结果分析**:平台提供了解的可视化工具,能够清晰地展示帕累托...
常见的磁盘调度算法有先来先服务算法(FCFS)、最短寻道时间优先算法(SSTF)、扫描算法(SCAN)和循环扫描算法(CSCAN)等。 先来先服务算法(FCFS) 先来先服务算法(FCFS)是一种最简单的磁盘调度算法。该算法...
经典算法总结,主要椒数据结构里面的算法,总结出来,你可以一一的实现,
数据挖掘原理与算法.pdf
电梯调度算法是优化高层建筑内电梯运行效率的关键技术,它涉及到多门学科,如计算机科学、控制理论和人工智能。在给定的压缩包文件中,包含了一系列关于电梯调度算法的资料,涵盖了强化学习、LOOK调度、最短寻道、...
23. 哪种算法不是随机化算法? 动态规划算法不是随机化算法,它是一种确定性的算法。 24. 贪心算法和动态规划算法的共同点是什么? 两者的共同点是它们都利用最优子构造性质,即最优解可以通过子问题的最优解来...
详细介绍了神经网络算法、粒子群算法、遗传算法、模糊逻辑控制、免疫算法、蚁群算法、小波分析算法及其MATLAB的实现方式等内容; 第二部分详细介绍了智能算法的工程中的应用问题,包括模糊神经网络在工程中的应用、...
遗传算法则是模拟生物进化过程中的遗传、突变和选择等机制来搜索最优解。GA的操作包括编码、初始化种群、选择、交叉(Crossover)、变异(Mutation)和解码。种群中的个体代表可能的解,通过这些操作,种群在每一代...
A*算法,动态路径规划算法的一种,程序直接放到matlab即可运行。