坯子

努力未必成功,放弃则一定失败 认真写博客给自己创造机会
数据加载中……

作为开发者,在站队和选择中什么才是我们的根本?


[一篇文章激起这么多人的讨论,有赞成的也有反对的亦有看笑话冷嘲热讽的,不过很多事情其实不重要,做好自己才重要。每个人都有自己的看法,林子大了总要各种鸟的存在,也需要有各种鸟的存在。]

从产生高级语言以后,我们就不断地需要站队选择,从选择高级语言,到选择IDE平台,从选择Java还是.Net,到选择何种中间件平台。现在又出现了RIA和SOA的队列,无穷无尽。。。。。

正因为有了这些才会有语言之争、使用不同语言不同IDE平台程序员的对立,JAVA VS .NET  PHP VS RUBY ON RAILS。在站队和选择中,很多很多程序员迷失了,也许框架、语言确实给我们带来了便利,也许我们有选择或无选择的使用着软件提供商开发的IDE拖拉着控件开发程序也感觉没有什么不好,也许你认为这样是天经地义的也是大势所趋的,但是 BUT 你在站队 选择中失去了自我。

我承认ruby on rails的确很酷,Ajax实现的效果也确实很棒,GOOGLE MAP 开放出来的API让我们实现了很多很多以前无法做到的效果,当你和朋友说我又买了一本诸如《C#3.5 FrameWrok揭秘》的经典书籍时略显满足的表情也许会让朋友暗叹你真上进。

我们总是在何种技术何种平台上去选择着,去努力研究着规则、标准,去祈祷着她的长久,因为她是你的饭碗。

是的!作为开发者,我们总要去选择去排队,即便精通诸多语言诸多开发工具,也要去选择现在用什么。

世界上最可悲的是永远都在梦里而自始至终不知道真相的人,很不幸我们也许就是梦中人。

写了这么多,您可能也不知道我要说什么,那么我通过几个问题来表述我要说什么。

1、您买的书中是否有诸如 图论、概率论、统计学、数据挖掘、TCP/IP协议详解、现代数学手册、等等底层并且基础的书?这些书占您所有书的多少比例?

2、有迭代法、穷举搜索法、递推法、贪婪法、回溯法、分治法、动态规划法中您掌握了哪些?

3、线性表、栈/队列、串、多维数组、广义表、树、图、排序、查找、文件 这些数据结构的基本概念您是否都了解和明白?

在站队、选择时这些才是我们的根本,而往往真正缺失又不在意的却是它们........

假如我们连这些真正该掌握的都缺失了,那么我们自以为拥有的就不叫拥有,我们也只能盲目或自认为的在选择中选择、在站队中站队,直到有一天因为年纪的增长跟不上技术的革新而被淘汰掉。

posted on 2007-11-27 01:41 坯子 阅读(4552) 评论(83)  编辑 收藏 网摘 所属分类: 随笔

评论

#1楼   回复  引用  查看    

支持下LZ,不过我觉得你的3个问题也不是完全没有问题。 那些词里有一样精通就要花很多力气,甚至毕生的精力。所以我倾向于黑盒,稍微知道一下什么方面的解决方案再什么里面找就可以了。

所谓马路县官,各管一段,即便明天来一个需求,需要你概率学的不错,你就去研究概率吗? 问题简单,直接抄个解决方案(不过应该有抄哪些,怎么抄的判断能力), 问题复杂,还是找个该领域的专家合作吧。 人不是万能的。

另外象TCP/IP这种东西,我觉得就更不必着急,除非每天从事的工作就是这个。不就是些发明者的规定么,只不准3年以后一场革命, 相关知识连垃圾都不如了, 还不如Viusal Studio怎么用好有连续性。

不过3里面的却是都必须懂, 太基本了,估计不懂得程序员也不会太多吧..
2007-11-27 02:58 | 怪怪      

#2楼   回复  引用  查看    


"根本"就是“根本”,不能为了“根本”就憋在地底下糗着,而不长出个枝繁叶茂来。

作为开发者,我们不必去做数学家的事情。我们必须知道 1+1==2 为真,而不必知道1+1为何为2。在开发的时候,必须知道现有的哪个算法最快,而不必去发明另一种更快的算法,甚至不必知道这个算法究竟比其他算法快多少,让数学家之类的研究者而不是我们开发者去做这些事情吧。

搞应用的只管去应用;搞科学与理论的尽管去研究。

社会分工越细,发展越快。越俎代庖者,只会顾此失彼。
2007-11-27 03:35 | Soli      

#3楼   回复  引用  查看    

就是,出的东西太快了,本来的东西还没学会,又出新的版本。似乎是“学无止境”。感觉这种“学无止境”其实是虚假的。本质就是别人做了一个东西,然后你花费金钱时间去不停得适应他们(凭什么要我们去不停得适应这些无穷无尽的东西?)。而且这些别人不是圣人,会搞出一个错误的东西出来,大家正学得起劲的东西很可能就是一个糟粕。

我觉得真正需要的是我们自己思考,去创造东西。而不是去拿别人的东西过来学,上他们的当,活在别人的阴影下面。
2007-11-27 04:06 | 米开朗基罗      

#4楼   回复  引用  查看    

思想家和实践者从来都是两类人
2007-11-27 07:45 | Ariel Y.      

#5楼   回复  引用  查看    

应该把基础掌握牢固,可是不应该为学基础而学基础。如果这样的话,我们为什么要有VS,为什么要有Eclipse,为什么不直接去学汇编,为什么不直接去开发一个操作系统?

基础是要掌握的,可是不需要你完全去扎在基础的堆中而出不来。
至于楼主说的那三点,我相信如果是一个优秀大学本科生的话,那么对于它们的理解应该是一点问题都没有的。
2007-11-27 07:50 | 韩现龙      

#6楼   回复  引用    

话有道理,但是我不全部同意,看看现在的招聘广告就知道你要学什么了,到处是AJAX,WPF,WCF,不跟着学人家会考虑我吗?
2007-11-27 08:31 | comeon[未注册用户]

#7楼   回复  引用  查看    

其实可不可以换个角度来想,选择它因为需要用它.
是用而选择,楼主的三个问题自己真的需要吗?对我来说并不需要.
2007-11-27 08:34 | henry      

#8楼   回复  引用  查看    

@comeon
真的考虑了,你也只能进一个作坊,整天被鞭子抽着混两口饭吃而已
2007-11-27 08:36 | jillzhang      

#9楼   回复  引用  查看    

@韩现龙
vs大不了是个工具,在6年前没有这玩意的时候,或者是6.0的时候还是有很优秀的软件诞生,工具不是问题,关键还是理论,也许5年后,vs也过时了,你就是玩的再好,恐怕也没什么用了。
2007-11-27 08:38 | jillzhang      

#10楼   回复  引用  查看    

为什么我们会站错,一方面我们会知难而退,另一方面在短时间内基础不能当饭吃,所以我们很快就学会占到别人的屁股后面,做一些表皮上的文章,活命而已。无可厚非的,但终究受制于人,仰人鼻息
2007-11-27 08:42 | jillzhang      

#11楼   回复  引用  查看    

看上去,站队好象老罗说的“屁股决定脑袋”。
而你说的这些开发工具或平台,我觉得没有对错之分,而应该是适合与不适合而已,是不是自己兴趣所在。

总不能让迷恋c#的无条件去学java吧。

所以我觉得:

选择你爱,爱你选择。
2007-11-27 08:54 | Enzo      

#12楼   回复  引用  查看    

如果让我回到2001年的话,也许我会放弃C#,重回C/C++

#13楼   回复  引用    

楼主,我很认同你的观点,只有从根本上去掌握技术的精髓才能真正的把握技术.
2007-11-27 09:18 | 小鬼00[未注册用户]

#14楼   回复  引用  查看    

这年头谁让咱能吃上饭,咱就替谁卖命,呵呵。毕竟,保持活着的状态,才是其他一切的基础啊。
2007-11-27 09:21 | 巫云      

#15楼   回复  引用  查看    

说白了还是“方法论”高于“具体实现细节”的问题。
2007-11-27 09:22 | Autumoon      

#16楼   回复  引用  查看    

@jillzhang
这年头作坊多,让人又气又无奈。开发人员这条路也因此不好走。

>真的考虑了,你也只能进一个作坊,整天被鞭子抽着混两口饭吃而已
2007-11-27 09:26 | 米开朗基罗      

#17楼[楼主]   回复  引用  查看    

@怪怪
我并没有说要让咱们开发者都成数学家思想家,上面的知识相信上过大学计算机只要好好学的都应该掌握的。

“另外象TCP/IP这种东西,我觉得就更不必着急,除非每天从事的工作就是这个。不就是些发明者的规定么,只不准3年以后一场革命”
你这种心态和做法非常不苟同。

@Soli 我上面说的那些是科学研究吗?搞应用也要有基础阿。

实际上我们周围的很多程序员理论基础都很差,有一些甚至不知道素数。我不是在夸张。
每一次有人再呼吁回归和重视基础,就有人出来喊自己是应用的不是搞科研的。

你天生就是搞应用做蓝领的命吗? 你做个1+1=2 难道就是让你搞科研吗?



2007-11-27 09:31 | 坯子      

#18楼   回复  引用  查看    

其实我只看lz所列内容的书,而且不局限于算法,还有许多有趣的内容,其他的书我认为没有必要平时看,所谓产品介绍类型的书籍,用到前突击一下就会了。

博客园里面就是缺乏学术气氛,讨论计算机“科学”的人较少。
2007-11-27 09:33 | 装配脑袋      

#19楼   回复  引用  查看    

计算机顾名思义就是计算用的,所以计算机科学就等于数学,保持抽象思考的能力,才能让计算机真正做到以前不能做的事情。
2007-11-27 09:36 | 装配脑袋      

#20楼   回复  引用  查看    

评价一本好书的依据可不是“您买的书中是否有诸如 图论、概率论、统计学、数据挖掘、TCP/IP协议详解、现代数学手册、等等底层并且基础的书?这些书占您所有书的多少比例?”。
lz有点矫枉过正了。
2007-11-27 09:40 | Jeffrey Zhao      

#21楼   回复  引用  查看    

@装配脑袋
不过如果要用好,很多东西不是突击的出来的。
2007-11-27 09:41 | Jeffrey Zhao      

#22楼   回复  引用  查看    

有一些甚至不知道素数
看来我要报个到了...
2007-11-27 09:42 | henry      

#23楼[楼主]   回复  引用  查看    

我是在看到我周围的一些朋友一直使用webfrom而不知道如何自己在html做一个post有感而发的。
微软再好,他们说变脸就变脸阿。
他们出mvc 我们就要去学mvc,这样一直跟着不累吗?

博客圆里天天讨论的就可以看出我们在什么层次,我们应该更多的人开始回归,大家一起建立一个好的氛围,而不是讨论新技术、设计模式 等的一家为大。

2007-11-27 09:43 | 坯子      

#24楼   回复  引用  查看    

@Jeffrey Zhao
产品的复杂性也包含着其内在的逻辑,积累的基础知识越多,就会发现掌握他们越得心应手。我不认为计算机这个领域存在熟练工一说
2007-11-27 09:44 | 装配脑袋      

#25楼   回复  引用    

TCP/IP协议详解 对于asp.net编程有什么意义
2007-11-27 09:47 | 万岁[未注册用户]

#26楼[楼主]   回复  引用  查看    

asp.net是运行在什么协议之上的? php ruby on rails 又是运行在什么之上的?
只能是精通asp.net下的web编程就有意义吗?
2007-11-27 10:01 | 坯子      

#27楼   回复  引用  查看    

我确实不喜欢那些比较枯燥的东西,在某些方面我更愿意专注于业务知识.
2007-11-27 10:11 | BlackCat      

#28楼   回复  引用  查看    

楼主貌似推崇基础知识,却不知道学习基础知识的目的是为了获得分析,推理问题的能力,而非掌握这些基础知识。

貌似我就不知道素数是什么,不过这又如何,在长期的数学学习中我学会了逻辑分析的能力,抽象的能力,这些能力不比知道个素数重要?

无疑你列出的那些书籍确实经典,不过它经典的地方在哪里我感觉楼主还没有明白。

2007-11-27 10:12 | xiao_p      

#29楼   回复  引用    

非常赞同楼主的看法,楼主说的很对,英雄所见略同,呵呵。
狂顶。。。。。
2007-11-27 10:16 | kingclever[未注册用户]

#30楼   回复  引用    

@xiao_p
你的说法我也赞同,不过有扎实的基础还是非常重要的,比如说数据结构,
这个东西可不能一支半解,要精通呀
2007-11-27 10:18 | kingclever[未注册用户]

#31楼[楼主]   回复  引用  查看    

@xiao_p
我们实际上学什么都是为了武装自己,学会分析、推理问题,学会举一反三。
知识是死的,人是活的。

所以 如果你认为这里是讲废话,你可以继续玩自己的 go on。

这里列出来的书,没有让大家都非要看非要买。只是想让还不懂这些的同行在关注技术、业务逻辑时,也试着温习温习以往的课程。
2007-11-27 10:23 | 坯子      

#32楼   回复  引用  查看    

其实xiao_p说的蛮有道理的,除了学习,还要思考。学而不思则罔。我们今天的计算机如此强大,无非是这些“基础”不断积累发展的结果。不是说当今技术就非要和基础知识分而治之。
2007-11-27 10:31 | 装配脑袋      

#33楼   回复  引用    

基础是很重要,但并不是每个重要的东西都要去深入涉猎,精力有限。

这个行业进展很快,很多细小的方面都需要穷尽一生去追求。

分工有不同,并不是每个企业软件架构师都需要了解卷积或强弱大数律;
术业有专攻,你我都有老人年弱多病,难道我们每个人都该去学病理和肿瘤概论?
我们不在笛卡尔或莱布尼兹时代,很难一个人掌握所有的学科基础。
所以最关键的是需要对自己的职业和人生有一个长期的规划,根据规划选择需要深入了解、需要掌握、涉猎即可不同层面的东西。

2007-11-27 10:34 | Ray Zhang[未注册用户]

#34楼   回复  引用  查看    

题外话:
素数就是仅能被1和自身整除的数,比如2,3,5,7,11等。素数在当今计算机中重要是因为数论中关于素数的许多结论是今天加密算法的基础。我们可以用费马小定理瞬间判断一个数是否素数,但是却不能对大素数的乘积进行快速的质因数分解。因此这就是RSA非对称加密算法的原理所在。
2007-11-27 10:35 | 装配脑袋      

#35楼   回复  引用    

@坯子
我们公司是个小公司,不知道你是做什么职位的,但是你说的那些书,我觉得都是没用的废物,现在召个程序员难的要死,我们公司在内陆的一个二级城市,熟练的程序员都去沿海了,只能召毕业的学生和偶尔在沿海混不开的。写的这些学校都教过,但是我们不需要,我们需要的是能干活的,就这么直白。可是看看,面试的时候问了一下,你知道PETSHOP吗??不知道。这就是毕业的学生的回答。去年面试10多个,1个都没留下来。我觉得当你做程序员4年以上再来关心这些基础的东西,这些可以让你精通。如果你是个初学的或者说是个学生,你还是老老实实的看那些什么什么《从入门到精通最好》
2007-11-27 11:04 | willsun[未注册用户]

#36楼   回复  引用    

不容置疑的是基础的东西是非常重要的.
但是只有解决了温饱问题才能讲什么发展和长远的战略目光.现在的企业要的是直接能干活的东西,所以什么培训确实能满足他们的需求.
看来楼主是个有一定工作经历的人
2007-11-27 11:06 | 孤帆x[未注册用户]

#37楼   回复  引用  查看    

--引用--------------------------------------------------
坯子: asp.net是运行在什么协议之上的? php ruby on rails 又是运行在什么之上的?
只能是精通asp.net下的web编程就有意义吗?

--------------------------------------------------------
这么说就不好了,计算机工作者,都是工作与别人提供的抽象层次上的啊。我不觉的一个Web开发人员不熟悉TCP/IP协议会有什么问题(当然丝毫不了解应该就是计算机科学水平需要加强了,呵呵)。照您的意思说,难道每个人都要了解到……让我想一下事物的起源是什么,呵呵。
所以我觉得lz矫枉过正了。
2007-11-27 11:22 | Jeffrey Zhao      

#38楼[楼主]   回复  引用  查看    

@Jeffrey Zhao
嘿嘿

实在的说我确实是一个偏激的人,还特矫情那类的。

一味追根溯源当然不是什么好事情,根据个人情况,适度而为即可。

我的本意只是想如果可以能多了解一些就多了解一些。我们是在讨论一个话题,不必要非要争个面红耳赤,都是同行,都希望大家生活的好。就这样。

2007-11-27 11:33 | 坯子      

#39楼   回复  引用  查看    

1、您买的书中是否有诸如 图论、概率论、统计学、数据挖掘、TCP/IP协议详解、现代数学手册、等等底层并且基础的书?这些书占您所有书的多少比例?

概率论、统计学、数据挖掘、现代数学手册 这些我都有,我现在的工作基本上就是和这些打交道。不过我觉得其实这些和你的工作内容有关吧。做web开发的基本上就不需要用到这些东西,能进行快速开发就行了。工作内容不同,需要的东西也不一样。虽然楼主的都是一些本质上的东西。

2、有迭代法、穷举搜索法、递推法、贪婪法、回溯法、分治法、动态规划法中您掌握了哪些?

有些知道,甚至正在用,有些并不清楚,不过还是需要的时候再看吧。^_^

3、线性表、栈/队列、串、多维数组、广义表、树、图、排序、查找、文件 这些数据结构的基本概念您是否都了解和明白?

日日对这些!!不过用C#做开发的好处就是,常用的数据结构不需要自己写了 ^_^
2007-11-27 11:34 | T.t.T!Ck.      

#40楼   回复  引用  查看    

如果我是老板,我不会管Coder懂不懂概率论、统计学、数据挖掘...而在乎他能不能快速编写出稳定的代码,抢在对手之前
2007-11-27 11:44 | 周银辉      

#41楼   回复  引用  查看    

我在学习"博弈论"呵呵
2007-11-27 12:00 |       

#42楼   回复  引用    

兄弟,难道你一辈都搞这个东西吗?这碗饭吃几年就算了吧,难道你还想当院士不成。人生只要活的滋润就行了,别太认真,不然受累受罪的是自己

#43楼   回复  引用  查看    

矫枉过正。

楼主貌似推崇基础知识,却不知道学习基础知识的目的是为了获得分析,推理问题的能力,而非掌握这些基础知识。
xiao_p 这段话个人很赞同。

其实说到底要看你有多牛,不同的人学不同的东西。
社会上有willsun这种人的需求,也有google,ms这种公司的需求,甚至是国外一些研究院的需求。人与人不同,每个地方对人的需求都不同,如果你够牛你当然可以去做研究。

就像很多程序员崇拜anders hejlsberg, 但是不知道有多少xxx家又是鄙视他的呢?

不过,不管怎么样,如果有时间有能力的肯定是建议在基础上多花些精力,虽然这些东西应该是在学校时就打好基础的。
2007-11-27 12:18 | idior      

#44楼   回复  引用    

你们都错了,最“根本”的知识其实是:筛沙!

“图论、概率论、统计学、数据挖掘、TCP/IP”就是根本吗?唉,感叹啊,现在的人怎么只去学应用呢?

没有CPU,这些软件的东东有啥用啊?设计CPU才是“根本”!!

当然了,设计CPU也不是最“根本”的,学集成电路设计才是“根本”!!!

嗯,集成电路是用啥做的?硅啊!所以,学习怎么提炼硅,才是“根本”!!

硅怎么来的?沙子中啊,所以,筛沙才是“根本”的“根本”!!!

可叹可笑你们这些只懂应用的人...天下又有几个能够做筛沙这样的真正“根本”、真正底层工作的人啊!!!

#45楼   回复  引用  查看    

楼主的论调很悲观啊。

选择自己的技术路线是必须的,因为它可以协助你更好的实现自己的想法,客户的需求。为技术而技术反而是最不可取的。

在这个快餐的社会,我们没有必要去把所有的底层都去学个遍,然后自己去实现,这完全没有必要,我们要做的是跟上技术发展的潮流,顺应社会发展的需要,用自己所掌握的为自己谋福利,为社会创造财富。

只懂应用不可悲,反而是那些只懂技术的更可悲,其中原因相信做了5年以上的同仁肯定有所体会!
2007-11-27 12:24 | 我是蚂蚁      

#46楼   回复  引用  查看    

@装配脑袋
"我们可以用费马小定理瞬间判断一个数是否素数",这句话有问题吧。
我们只能用费马小定理排除非素数。而不能判断一个数是否素数。比如243。
2007-11-27 12:49 | 地狱门神      

#47楼   回复  引用  查看    

哎,原来是质数。
2007-11-27 13:20 | Klesh Wong      

#48楼   回复  引用  查看    

@楼主
虽说这些基础都是应届生应聘级别的,不过楼主总结得不错啊,呵呵。不过,既然已经入了行,干了段时间之后,拿不出其他值得一提之物,还拿这些说事,就是不是先得自己反思反思如下问题了:
1. 居然到现在才发现自己连这些基础都不扎实,当初早干嘛去了?
2. 当初自己究竟怎么入的行?难道是稀里糊涂的入了行不成?
3. 现在的自己又在干些什么呢?
其实深入思考一下,此文体现得更多的是楼主对发展方向和自身定位的迷惘吧....呵呵,看楼主貌似刚工作1、2年,也在情理之中,还是少登高疾呼,宜奋发努力、好好明确方向为上。

@rex
难不成真的在准备数学二本? heh
2007-11-27 13:26 | neoragex2002      

#49楼   回复  引用  查看    

@地狱门神
费马检验只需要用随机数多次运行,就可以把错误的概率减小到任意的程度。而且RSA用的素数都很大,在这个范围经过费马检验还是和数的概率极小。
2007-11-27 13:38 | 装配脑袋      

#50楼   回复  引用    

毫无疑问您说的对了部分,毕竟每个人自身的能力,兴趣发展方向不同,吃菜的人不定都要亲自去做菜.炒菜的人也不一定非要去种菜.即使要这样,也要有这个能力,兴趣.适合自己的就行.不一定非要把底层的东西全搞的哪么清楚,在你的业务方向范围内游刃有余足矣,当然你是天才的话,另当别论.
2007-11-27 13:39 | YCE[未注册用户]

#51楼   回复  引用  查看    

@脑袋+门神
两个抽象思维强迫倾向的人拧上了,哈哈~http://www.ppxclub.com/forum/images/smilies/tk/tk_35.gif" alt="" />
2007-11-27 13:40 | neoragex2002      

#52楼[楼主]   回复  引用  查看    

@装配脑袋,@地狱门神
。。。。 不只243,还有561, 1105, 2821, 6601.....
Rabin-Miller更好一些,但也不能完全规避判断失败。
2007-11-27 13:50 | 坯子      

#53楼   回复  引用  查看    

呵呵怎么变成讨论素数了。。。老实说我确实没有在实际编程中用过费马检验之类的知识,不过经过学习我知道有这种正确性通过概率保证的算法,我就会更关注这类问题。这就是学习基础知识好处的一种体现吧

仔细一想,很多其他地方都用到了素数呢,比方说散列表,甚至有些排序算法……这个些基础知识可能已经渗透到我们现代软件开发的方方面面了。
2007-11-27 13:58 | 装配脑袋      

#54楼   回复  引用  查看    

@脑袋啊脑袋
感觉你基础已经非常全面扎实了,何必趟此浑水啊? 你的回帖我总会跟着看看,对你的思维方式很感兴趣,呵呵
2007-11-27 14:26 | neoragex2002      

#55楼   回复  引用  查看    

@neoragex2002
我只是随便发表一点感想而已。。你才是我崇拜的高手啊,呵呵。
2007-11-27 14:29 | 装配脑袋      

#56楼   回复  引用  查看    

@脑袋啊脑袋
这个...虚晃两枪了不是。。。^^! 感觉你思考问题的角度和方式与多数人大不相同,因好奇故,而大生仰慕,常言道差异化的世界才真正精彩,还望多抽空写写文章,也让咱多跟着参考学习一把哈:D
2007-11-27 14:37 | neoragex2002      

#57楼   回复  引用    

你们说的这些在停电后,全都是crap,学点种田不是更加的基础
2007-11-27 15:43 | joyjoandy[未注册用户]

#58楼   回复  引用  查看    

不同的人做不同的事
做不同的事情享受不同的待遇。
只此而已,无他。
做力所能及之事,想力所能及之所想。
做的开心,知足就可以了
2007-11-27 16:08 | jillzhang      

#59楼   回复  引用  查看    

@joyjoandy
电是哪里来的?
2007-11-27 16:09 | jillzhang      

#60楼   回复  引用    

想完全掌握一个领域的东西是不现实的,只能有侧重地去学和用!
2007-11-27 16:56 | KimHo[未注册用户]

#61楼   回复  引用  查看    

@neoragex2002
如果你能给咱们搞一个ps3或者xbox的模拟器就好了。哈哈
2007-11-27 18:10 | 米开朗基罗      

#62楼   回复  引用  查看    

@米开朗基罗
这个...你牵头,我入伙,拉帮人一起去向Sir. HowardS+Mr. BillG请愿如何?岂不更有盼头,呵呵
2007-11-27 20:24 | neoragex2002      

#63楼   回复  引用  查看    

@装配脑袋
最开始我指的是341,在a=2时。243是我记错了。
楼主的561, 1105, 2821, 6601是绝对伪素数,对任意整数a成立。
2007-11-27 21:57 | 地狱门神      

#64楼   回复  引用  查看    

这么干挺好,可以做一辈子开发,没准还能当科学家
2007-11-27 22:06 | 水果阿生      

#65楼   回复  引用  查看    

这么多的技术,其实主要是要把握一个Know What还是Know How,亦或是Know Why的程度的问题。
2007-11-27 22:18 | 亚历山大同志      

#66楼   回复  引用    

@地狱门神
我记得有一本叫《趣味离散数学》的书里有讲过费马小定理与伪素数的问题。
建议你好好看一看,不但楼主说的561, 1105, 2821, 6601是伪素数,341也是,而且他们都是以2或3为底的伪素数。
......
建议你们这些程序员好好学习一下数学吧。

#67楼   回复  引用    

再次补充一下,如果了解费马小定理的人都会知道Sarrus老爷爷在大概18世纪初时就是用341打败哥德巴赫的,因为哥德巴赫曾经试图证明费马小定理的逆命题结果失败了,而sarrus老爷爷通过341让大家相信费马小定理的逆命题是不成立的。
貌似这些大学时都应该学过的呀,建议所有学理工科的人都应该重新回炉!

#68楼[楼主]   回复  引用  查看    

@哪些是伪素数
因为上大学时一直玩web编程了就没有好好的学习,到工作以后才参加的数学培训班。所以很多知识不是特别的系统,但伪素数还是知道的,

可你要知道伪素数得定义是建立在费马小定理满足但又是合数的,我和@地狱门神所提到的都是满足费马小定理但又不是素数的。
意在补充@装配脑袋让一些朋友不要因为看了受误导。

计算机科学是应用科学,所以要以应用为前提,适当的去学习而非歇斯底里的去探索未知。当然数学也是为了解决应用而产生的。

在这里说一些 素数的另一个名称是质数。
------------------------------------------------
我们开发者学习数学是为了解决实际问题的,带着问题去学习而不是单纯为了学习而学习,数学在我们看来是工具,而这个工具是我们应该掌握的基础工具。


我们讨论这么多不是要分出谁对谁厉害,而是让更多的人意识到去回头看看,数学这个基础工具我们身上有没有,没有的话我们赶紧带在身上,有的话就回头偶尔温习一下。能达到这个效果,也不枉大家疯狂讨论那么多。


2007-11-28 00:45 | 坯子      

#69楼   回复  引用  查看    

伪素数,所谓Carmichael数,是非常少的;其存在性根本不影响当今RSA加密技术工程上使用费马小定理瞬间判断一个数是否素数的可行性。所有这些我事先都已经知道的,所以我特地用的没有误导性的词句,不知道大家很在意Carmichael数做什么呢?
2007-11-28 08:35 | 装配脑袋      

#70楼   回复  引用  查看    

@哪些是伪素数
341不是绝对伪素数,
2^341=2(mod 341)但是3^341=168(mod 341)。
而561等可以对任意a成立,而不仅仅是2、3。

@装配脑袋
我的意思是说不能仅仅用这个方法来判断。
比如561就能被3整除,如果把一个很大的绝对伪素数当作素数来用,有可能很快就会被破解。在RSA中,就相当于取的两个素数,其中一个非常小。这是不安全的。

2007-11-28 12:23 | 地狱门神      

#71楼   回复  引用  查看    

只想说一句:技术不是工作的全部。如果技术人员希望跳出技术自身的局限,就要学会从更多的角度和更高的层面看待问题。
2007-11-28 13:34 | Jackei      

#72楼   回复  引用    

无止境的口水战,就和以前的.NET JAVA一样,另外一种站队而已。
2007-11-28 22:15 | MELANCHOLY[未注册用户]

#73楼   回复  引用  查看    

真正的牛人是可以一不变应万变~ 基础是成功的必然条件,技术的不同只不过是形势而以

成长伴随着 思维 思路 经验 的成长~ 集腋成裘~所以努力工作是成功的最好途径

没有必要跟风暂时用不到的技术,当要用到的要学习的技术的时候,要满怀信心的攻克

技术是形势,基础是根本,发散的思维是成功的捷径~

总结下我想说什么:学好根本,举一反三

穆彦鹏
2007-11-29 18:30 | 穆彦鹏      

#74楼   回复  引用    

楼主说的的确有些道理。在平时的工作和学习中我也有些同感,但是有一点小弟有些想法:正如一位哲人说过“提出问题固然可敬,但是我们更需要的是解决问题”。回到楼主的这个问题上,按照小弟粗浅的理解,楼主应该是在强调基础知识的重要性。“万层高楼平地起”小弟非常赞同,但是楼主仅仅是提出了问题,并没有给出问题的解答。

小弟也看了一下下面诸位仁兄的评论,感觉大家都说得有些道理,为什么?小弟窃以为同样的一件事情,我们每个人都没有看到这个东西的全貌,有时候是一个方面或者一个点,又或者是几个。所以我觉得大家应该怀着更加开发的心态来审视自己和其他人的观点,从全局的角度去看待每一个观点。举个例子,楼主所列的基础知识固然重要,但是如果没有学过.Net方面的知识,想写出优秀的.Net程序也是比较困难的;同样.Net学的再好,如果没有坚实的基础,宛若“空中楼阁”,虽然美丽,却很脆弱。

小弟个人愚见,仅供参考!谢谢!
2007-12-02 11:08 | AaronLu[未注册用户]

#75楼   回复  引用    

--引用--------------------------------------------------
穆彦鹏: 真正的牛人是可以一不变应万变~ 基础是成功的必然条件,技术的不同只不过是形势而以

成长伴随着 思维 思路 经验 的成长~ 集腋成裘~所以努力工作是成功的最好途径

没有必要跟风暂时用不到的技术,当要用到的要学习的技术的时候,要满怀信心的攻克

技术是形势,基础是根本,发散的思维是成功的捷径~

总结下我想说什么:学好根本,举一反三

穆彦鹏
--------------------------------------------------------


学好根本,举一反三
2007-12-07 12:28 | J.K doctor[未注册用户]

#76楼   回复  引用    

学数学就是为了什么?分析问题,解决问题的能力。
学语文是为了什么?发现问题的能力。
到头来,什么语法,公式都终归要忘掉的,为有能力不变。

不管是那些基础,还是潮流技术,强人眼里就能抓住它们的重点,而弱人眼里只是抓住皮毛,更有甚者,皮毛都不会。



--- 江南输生
2007-12-26 15:42 | 江南输生[未注册用户]

#77楼   回复  引用    

博主之见在下不敢苟同!世上有两种有潜力的人,一种人未雨绸缪,他们可以让自己学习自己都不知道有什么用处的知识,然而知识总是有用的,所以他们不会吃亏。另一种人是只学习自己知道用处并感兴趣的知识,并且在使用这些知识的过程中发现要用到另一种没学过的知识,会毫不犹豫去学习(因为其用途已知了)。

博主大概是第一种人,但我自认为是第二种,我并不会在意什么 图论、概率论、统计学、数据挖掘、TCP/IP协议详解、现代数学手册、等等。。。。,我都不知道它是干什么的,我看它有什么用?我总不能什么都往内存里塞啊,要学会在适当的时候从硬盘(书籍)中查找,用不到找出来有什么用,当然检索能力和读盘能力要好。

至于开发语言的工具(也就是站队)的问题,我认为没什么站队,大家说好的东西一定有它的优势,我认为大家可以讨论哪个语言好,哪个工具好,但要注意要客观,尤其搞JAVA的,我个人也用一些JAVA,但JAVA有那么一批Core People说话极不负责,动不动就JAVA是最好的,什么C/C++根本就不能比,更别说什么.Net,根本不具可比性的东西,要比只能就具体方面比,不能一概而论,你JAVA再好,还能用来开发操作系统(也不是不可能,找一种直接支持Java字节码的CPU就行)?但干这个还是C/C++的事,但说回来,用C/C++作个Web开发,要不是有什么特殊需求,我看还是考虑一下java和.net吧。
2008-01-29 16:03 | 汪江涛[未注册用户]

#78楼   回复  引用  查看    

--引用--------------------------------------------------
汪江涛:

至于开发语言的工具(也就是站队)的问题,我认为没什么站队,大家说好的东西一定有它的优势,我认为大家可以讨论哪个语言好,哪个工具好,但要注意要客观,尤其搞JAVA的,我个人也用一些JAVA,但JAVA有那么一批Core People说话极不负责,动不动就JAVA是最好的,什么C/C++根本就不能比,更别说什么.Net,根本不具可比性的东西,要比只能就具体方面比,不能一概而论,你JAVA再好,还能用来开发操作系统(也不是不可能,找一种直接支持Java字节码的CPU就行)?但干这个还是C/C++的事,但说回来,用C/C++作个Web开发,要不是有什么特殊需求,我看还是考虑一下java和.net吧。
--------------------------------------------------------
很同意啊~既然有各种各样的开发语言,而且都有人使用,证明就有她们存在的价值。不存在谁是最好的问题,只要能解决问题就可以了。
2008-02-28 10:03 | yezizhe      

#79楼   回复  引用    

其实做web开发,应该专注在架构,新技术上,不要太专注于语言
至于LZ写的那3点,感觉TCP/IP还是应该学一下,数据结构,算法应该了解,
基本上在大学都学到了,真正要用到的时候,现复习深入一下就行了
2008-02-28 11:34 | 光哥[未注册用户]

#80楼   回复  引用  查看    

最重要的是知道做什么,而不是怎样去做?楼主太矫枉过正了,如果楼主不是各院士的话,那么你说的全都是废话。
2008-07-19 09:52 | 破孩      



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 973414




相关文章:

相关链接: