作为开发者,在站队和选择中什么才是我们的根本?
[一篇文章激起这么多人的讨论,有赞成的也有反对的亦有看笑话冷嘲热讽的,不过很多事情其实不重要,做好自己才重要。每个人都有自己的看法,林子大了总要各种鸟的存在,也需要有各种鸟的存在。]
从产生高级语言以后,我们就不断地需要站队选择,从选择高级语言,到选择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 坯子 阅读(2021) 评论(74) 编辑 收藏 所属分类: 随笔
浙公网安备 33010602011771号
评论
#1楼 回复 引用 查看
支持下LZ,不过我觉得你的3个问题也不是完全没有问题。 那些词里有一样精通就要花很多力气,甚至毕生的精力。所以我倾向于黑盒,稍微知道一下什么方面的解决方案再什么里面找就可以了。所谓马路县官,各管一段,即便明天来一个需求,需要你概率学的不错,你就去研究概率吗? 问题简单,直接抄个解决方案(不过应该有抄哪些,怎么抄的判断能力), 问题复杂,还是找个该领域的专家合作吧。 人不是万能的。
另外象TCP/IP这种东西,我觉得就更不必着急,除非每天从事的工作就是这个。不就是些发明者的规定么,只不准3年以后一场革命, 相关知识连垃圾都不如了, 还不如Viusal Studio怎么用好有连续性。
不过3里面的却是都必须懂, 太基本了,估计不懂得程序员也不会太多吧..
#2楼 回复 引用 查看
"根本"就是“根本”,不能为了“根本”就憋在地底下糗着,而不长出个枝繁叶茂来。
作为开发者,我们不必去做数学家的事情。我们必须知道 1+1==2 为真,而不必知道1+1为何为2。在开发的时候,必须知道现有的哪个算法最快,而不必去发明另一种更快的算法,甚至不必知道这个算法究竟比其他算法快多少,让数学家之类的研究者而不是我们开发者去做这些事情吧。
搞应用的只管去应用;搞科学与理论的尽管去研究。
社会分工越细,发展越快。越俎代庖者,只会顾此失彼。
#3楼 回复 引用 查看
就是,出的东西太快了,本来的东西还没学会,又出新的版本。似乎是“学无止境”。感觉这种“学无止境”其实是虚假的。本质就是别人做了一个东西,然后你花费金钱时间去不停得适应他们(凭什么要我们去不停得适应这些无穷无尽的东西?)。而且这些别人不是圣人,会搞出一个错误的东西出来,大家正学得起劲的东西很可能就是一个糟粕。我觉得真正需要的是我们自己思考,去创造东西。而不是去拿别人的东西过来学,上他们的当,活在别人的阴影下面。
#4楼 回复 引用 查看
思想家和实践者从来都是两类人#5楼 回复 引用 查看
应该把基础掌握牢固,可是不应该为学基础而学基础。如果这样的话,我们为什么要有VS,为什么要有Eclipse,为什么不直接去学汇编,为什么不直接去开发一个操作系统?基础是要掌握的,可是不需要你完全去扎在基础的堆中而出不来。
至于楼主说的那三点,我相信如果是一个优秀大学本科生的话,那么对于它们的理解应该是一点问题都没有的。
#6楼 124.114.234.* 回复 引用 查看
话有道理,但是我不全部同意,看看现在的招聘广告就知道你要学什么了,到处是AJAX,WPF,WCF,不跟着学人家会考虑我吗?#7楼 回复 引用 查看
其实可不可以换个角度来想,选择它因为需要用它.是用而选择,楼主的三个问题自己真的需要吗?对我来说并不需要.
#8楼 回复 引用 查看
@comeon真的考虑了,你也只能进一个作坊,整天被鞭子抽着混两口饭吃而已
#9楼 回复 引用 查看
@韩现龙vs大不了是个工具,在6年前没有这玩意的时候,或者是6.0的时候还是有很优秀的软件诞生,工具不是问题,关键还是理论,也许5年后,vs也过时了,你就是玩的再好,恐怕也没什么用了。
#10楼 回复 引用 查看
为什么我们会站错,一方面我们会知难而退,另一方面在短时间内基础不能当饭吃,所以我们很快就学会占到别人的屁股后面,做一些表皮上的文章,活命而已。无可厚非的,但终究受制于人,仰人鼻息#11楼 回复 引用 查看
看上去,站队好象老罗说的“屁股决定脑袋”。而你说的这些开发工具或平台,我觉得没有对错之分,而应该是适合与不适合而已,是不是自己兴趣所在。
总不能让迷恋c#的无条件去学java吧。
所以我觉得:
选择你爱,爱你选择。
#12楼 回复 引用 查看
如果让我回到2001年的话,也许我会放弃C#,重回C/C++#13楼 58.248.10.* 回复 引用 查看
楼主,我很认同你的观点,只有从根本上去掌握技术的精髓才能真正的把握技术.#14楼 回复 引用 查看
这年头谁让咱能吃上饭,咱就替谁卖命,呵呵。毕竟,保持活着的状态,才是其他一切的基础啊。#15楼 回复 引用 查看
说白了还是“方法论”高于“具体实现细节”的问题。#16楼 回复 引用 查看
@jillzhang这年头作坊多,让人又气又无奈。开发人员这条路也因此不好走。
>真的考虑了,你也只能进一个作坊,整天被鞭子抽着混两口饭吃而已
#17楼 [楼主] 回复 引用 查看
@怪怪我并没有说要让咱们开发者都成数学家思想家,上面的知识相信上过大学计算机只要好好学的都应该掌握的。
“另外象TCP/IP这种东西,我觉得就更不必着急,除非每天从事的工作就是这个。不就是些发明者的规定么,只不准3年以后一场革命”
你这种心态和做法非常不苟同。
@Soli 我上面说的那些是科学研究吗?搞应用也要有基础阿。
实际上我们周围的很多程序员理论基础都很差,有一些甚至不知道素数。我不是在夸张。
每一次有人再呼吁回归和重视基础,就有人出来喊自己是应用的不是搞科研的。
你天生就是搞应用做蓝领的命吗? 你做个1+1=2 难道就是让你搞科研吗?
#18楼 回复 引用 查看
其实我只看lz所列内容的书,而且不局限于算法,还有许多有趣的内容,其他的书我认为没有必要平时看,所谓产品介绍类型的书籍,用到前突击一下就会了。博客园里面就是缺乏学术气氛,讨论计算机“科学”的人较少。
#19楼 回复 引用 查看
计算机顾名思义就是计算用的,所以计算机科学就等于数学,保持抽象思考的能力,才能让计算机真正做到以前不能做的事情。#20楼 回复 引用 查看
评价一本好书的依据可不是“您买的书中是否有诸如 图论、概率论、统计学、数据挖掘、TCP/IP协议详解、现代数学手册、等等底层并且基础的书?这些书占您所有书的多少比例?”。lz有点矫枉过正了。
#21楼 回复 引用 查看
@装配脑袋不过如果要用好,很多东西不是突击的出来的。
#22楼 回复 引用 查看
有一些甚至不知道素数看来我要报个到了...
#23楼 [楼主] 回复 引用 查看
我是在看到我周围的一些朋友一直使用webfrom而不知道如何自己在html做一个post有感而发的。微软再好,他们说变脸就变脸阿。
他们出mvc 我们就要去学mvc,这样一直跟着不累吗?
博客圆里天天讨论的就可以看出我们在什么层次,我们应该更多的人开始回归,大家一起建立一个好的氛围,而不是讨论新技术、设计模式 等的一家为大。
#24楼 回复 引用 查看
@Jeffrey Zhao产品的复杂性也包含着其内在的逻辑,积累的基础知识越多,就会发现掌握他们越得心应手。我不认为计算机这个领域存在熟练工一说
#25楼 221.221.113.* 回复 引用 查看
TCP/IP协议详解 对于asp.net编程有什么意义#26楼 [楼主] 回复 引用 查看
asp.net是运行在什么协议之上的? php ruby on rails 又是运行在什么之上的?只能是精通asp.net下的web编程就有意义吗?
#27楼 回复 引用 查看
我确实不喜欢那些比较枯燥的东西,在某些方面我更愿意专注于业务知识.#28楼 回复 引用 查看
楼主貌似推崇基础知识,却不知道学习基础知识的目的是为了获得分析,推理问题的能力,而非掌握这些基础知识。貌似我就不知道素数是什么,不过这又如何,在长期的数学学习中我学会了逻辑分析的能力,抽象的能力,这些能力不比知道个素数重要?
无疑你列出的那些书籍确实经典,不过它经典的地方在哪里我感觉楼主还没有明白。
#29楼 219.137.160.* 回复 引用 查看
非常赞同楼主的看法,楼主说的很对,英雄所见略同,呵呵。狂顶。。。。。
#30楼 219.137.160.* 回复 引用 查看
@xiao_p你的说法我也赞同,不过有扎实的基础还是非常重要的,比如说数据结构,
这个东西可不能一支半解,要精通呀
#31楼 [楼主] 回复 引用 查看
@xiao_p我们实际上学什么都是为了武装自己,学会分析、推理问题,学会举一反三。
知识是死的,人是活的。
所以 如果你认为这里是讲废话,你可以继续玩自己的 go on。
这里列出来的书,没有让大家都非要看非要买。只是想让还不懂这些的同行在关注技术、业务逻辑时,也试着温习温习以往的课程。
#32楼 回复 引用 查看
其实xiao_p说的蛮有道理的,除了学习,还要思考。学而不思则罔。我们今天的计算机如此强大,无非是这些“基础”不断积累发展的结果。不是说当今技术就非要和基础知识分而治之。#33楼 207.46.92.* 回复 引用 查看
基础是很重要,但并不是每个重要的东西都要去深入涉猎,精力有限。这个行业进展很快,很多细小的方面都需要穷尽一生去追求。
分工有不同,并不是每个企业软件架构师都需要了解卷积或强弱大数律;
术业有专攻,你我都有老人年弱多病,难道我们每个人都该去学病理和肿瘤概论?
我们不在笛卡尔或莱布尼兹时代,很难一个人掌握所有的学科基础。
所以最关键的是需要对自己的职业和人生有一个长期的规划,根据规划选择需要深入了解、需要掌握、涉猎即可不同层面的东西。
#34楼 回复 引用 查看
题外话:素数就是仅能被1和自身整除的数,比如2,3,5,7,11等。素数在当今计算机中重要是因为数论中关于素数的许多结论是今天加密算法的基础。我们可以用费马小定理瞬间判断一个数是否素数,但是却不能对大素数的乘积进行快速的质因数分解。因此这就是RSA非对称加密算法的原理所在。
#35楼 123.52.162.* 回复 引用 查看
@坯子我们公司是个小公司,不知道你是做什么职位的,但是你说的那些书,我觉得都是没用的废物,现在召个程序员难的要死,我们公司在内陆的一个二级城市,熟练的程序员都去沿海了,只能召毕业的学生和偶尔在沿海混不开的。写的这些学校都教过,但是我们不需要,我们需要的是能干活的,就这么直白。可是看看,面试的时候问了一下,你知道PETSHOP吗??不知道。这就是毕业的学生的回答。去年面试10多个,1个都没留下来。我觉得当你做程序员4年以上再来关心这些基础的东西,这些可以让你精通。如果你是个初学的或者说是个学生,你还是老老实实的看那些什么什么《从入门到精通最好》
#36楼 218.20.188.* 回复 引用 查看
不容置疑的是基础的东西是非常重要的.但是只有解决了温饱问题才能讲什么发展和长远的战略目光.现在的企业要的是直接能干活的东西,所以什么培训确实能满足他们的需求.
看来楼主是个有一定工作经历的人
#37楼 回复 引用 查看
--引用--------------------------------------------------坯子: asp.net是运行在什么协议之上的? php ruby on rails 又是运行在什么之上的?
只能是精通asp.net下的web编程就有意义吗?
--------------------------------------------------------
这么说就不好了,计算机工作者,都是工作与别人提供的抽象层次上的啊。我不觉的一个Web开发人员不熟悉TCP/IP协议会有什么问题(当然丝毫不了解应该就是计算机科学水平需要加强了,呵呵)。照您的意思说,难道每个人都要了解到……让我想一下事物的起源是什么,呵呵。
所以我觉得lz矫枉过正了。
#38楼 [楼主] 回复 引用 查看
@Jeffrey Zhao嘿嘿
实在的说我确实是一个偏激的人,还特矫情那类的。
一味追根溯源当然不是什么好事情,根据个人情况,适度而为即可。
我的本意只是想如果可以能多了解一些就多了解一些。我们是在讨论一个话题,不必要非要争个面红耳赤,都是同行,都希望大家生活的好。就这样。
#39楼 回复 引用 查看
1、您买的书中是否有诸如 图论、概率论、统计学、数据挖掘、TCP/IP协议详解、现代数学手册、等等底层并且基础的书?这些书占您所有书的多少比例?概率论、统计学、数据挖掘、现代数学手册 这些我都有,我现在的工作基本上就是和这些打交道。不过我觉得其实这些和你的工作内容有关吧。做web开发的基本上就不需要用到这些东西,能进行快速开发就行了。工作内容不同,需要的东西也不一样。虽然楼主的都是一些本质上的东西。
2、有迭代法、穷举搜索法、递推法、贪婪法、回溯法、分治法、动态规划法中您掌握了哪些?
有些知道,甚至正在用,有些并不清楚,不过还是需要的时候再看吧。^_^
3、线性表、栈/队列、串、多维数组、广义表、树、图、排序、查找、文件 这些数据结构的基本概念您是否都了解和明白?
日日对这些!!不过用C#做开发的好处就是,常用的数据结构不需要自己写了 ^_^
#40楼 回复 引用 查看
如果我是老板,我不会管Coder懂不懂概率论、统计学、数据挖掘...而在乎他能不能快速编写出稳定的代码,抢在对手之前#41楼 回复 引用 查看
我在学习"博弈论".呵呵.#42楼 218.13.33.* 回复 引用 查看
兄弟,难道你一辈都搞这个东西吗?这碗饭吃几年就算了吧,难道你还想当院士不成。人生只要活的滋润就行了,别太认真,不然受累受罪的是自己#43楼 回复 引用 查看
矫枉过正。楼主貌似推崇基础知识,却不知道学习基础知识的目的是为了获得分析,推理问题的能力,而非掌握这些基础知识。
xiao_p 这段话个人很赞同。
其实说到底要看你有多牛,不同的人学不同的东西。
社会上有willsun这种人的需求,也有google,ms这种公司的需求,甚至是国外一些研究院的需求。人与人不同,每个地方对人的需求都不同,如果你够牛你当然可以去做研究。
就像很多程序员崇拜anders hejlsberg, 但是不知道有多少xxx家又是鄙视他的呢?
不过,不管怎么样,如果有时间有能力的肯定是建议在基础上多花些精力,虽然这些东西应该是在学校时就打好基础的。
#44楼 131.107.0.* 回复 引用 查看
你们都错了,最“根本”的知识其实是:筛沙!“图论、概率论、统计学、数据挖掘、TCP/IP”就是根本吗?唉,感叹啊,现在的人怎么只去学应用呢?
没有CPU,这些软件的东东有啥用啊?设计CPU才是“根本”!!
当然了,设计CPU也不是最“根本”的,学集成电路设计才是“根本”!!!
嗯,集成电路是用啥做的?硅啊!所以,学习怎么提炼硅,才是“根本”!!
硅怎么来的?沙子中啊,所以,筛沙才是“根本”的“根本”!!!
可叹可笑你们这些只懂应用的人...天下又有几个能够做筛沙这样的真正“根本”、真正底层工作的人啊!!!
#45楼 回复 引用 查看
楼主的论调很悲观啊。选择自己的技术路线是必须的,因为它可以协助你更好的实现自己的想法,客户的需求。为技术而技术反而是最不可取的。
在这个快餐的社会,我们没有必要去把所有的底层都去学个遍,然后自己去实现,这完全没有必要,我们要做的是跟上技术发展的潮流,顺应社会发展的需要,用自己所掌握的为自己谋福利,为社会创造财富。
只懂应用不可悲,反而是那些只懂技术的更可悲,其中原因相信做了5年以上的同仁肯定有所体会!
#46楼 219.232.228.*[TrackBack] 回复 引用 查看
在看了胚子的一篇作为开发者,在站队和选择中什么才是我们的根本?和此文章以后的那么多评论,我有一点这么一点点不够成熟的想法,当然,对于这些算法来说,或者是知识,我觉得分析还不够全面,当然,我的分析代表了...[引用提示]guojing引用了该文章, 地址: http://www.cnblogs.com/soundbbg/archive/2007/11/27/973897.html
#47楼 回复 引用 查看
@装配脑袋"我们可以用费马小定理瞬间判断一个数是否素数",这句话有问题吧。
我们只能用费马小定理排除非素数。而不能判断一个数是否素数。比如243。
#48楼 回复 引用 查看
哎,原来是质数。#49楼 回复 引用 查看
@楼主虽说这些基础都是应届生应聘级别的,不过楼主总结得不错啊,呵呵。不过,既然已经入了行,干了段时间之后,拿不出其他值得一提之物,还拿这些说事,就是不是先得自己反思反思如下问题了:
1. 居然到现在才发现自己连这些基础都不扎实,当初早干嘛去了?
2. 当初自己究竟怎么入的行?难道是稀里糊涂的入了行不成?
3. 现在的自己又在干些什么呢?
其实深入思考一下,此文体现得更多的是楼主对发展方向和自身定位的迷惘吧....呵呵,看楼主貌似刚工作1、2年,也在情理之中,还是少登高疾呼,宜奋发努力、好好明确方向为上。
@rex
难不成真的在准备数学二本? heh
#50楼 回复 引用 查看
@地狱门神费马检验只需要用随机数多次运行,就可以把错误的概率减小到任意的程度。而且RSA用的素数都很大,在这个范围经过费马检验还是和数的概率极小。
#51楼 58.17.176.* 回复 引用 查看
毫无疑问您说的对了部分,毕竟每个人自身的能力,兴趣发展方向不同,吃菜的人不定都要亲自去做菜.炒菜的人也不一定非要去种菜.即使要这样,也要有这个能力,兴趣.适合自己的就行.不一定非要把底层的东西全搞的哪么清楚,在你的业务方向范围内游刃有余足矣,当然你是天才的话,另当别论.#52楼 回复 引用 查看
@脑袋+门神两个抽象思维强迫倾向的人拧上了,哈哈~
#53楼 [楼主] 回复 引用 查看
@装配脑袋,@地狱门神。。。。 不只243,还有561, 1105, 2821, 6601.....
Rabin-Miller更好一些,但也不能完全规避判断失败。
#54楼 回复 引用 查看
呵呵怎么变成讨论素数了。。。老实说我确实没有在实际编程中用过费马检验之类的知识,不过经过学习我知道有这种正确性通过概率保证的算法,我就会更关注这类问题。这就是学习基础知识好处的一种体现吧仔细一想,很多其他地方都用到了素数呢,比方说散列表,甚至有些排序算法……这个些基础知识可能已经渗透到我们现代软件开发的方方面面了。
#55楼 回复 引用 查看
@脑袋啊脑袋感觉你基础已经非常全面扎实了,何必趟此浑水啊? 你的回帖我总会跟着看看,对你的思维方式很感兴趣,呵呵
#56楼 回复 引用 查看
@neoragex2002我只是随便发表一点感想而已。。你才是我崇拜的高手啊,呵呵。
#57楼 回复 引用 查看
@脑袋啊脑袋这个...虚晃两枪了不是。。。^^! 感觉你思考问题的角度和方式与多数人大不相同,因好奇故,而大生仰慕,常言道差异化的世界才真正精彩,还望多抽空写写文章,也让咱多跟着参考学习一把哈:D
#58楼 222.162.208.* 回复 引用 查看
你们说的这些在停电后,全都是crap,学点种田不是更加的基础#59楼 回复 引用 查看
不同的人做不同的事做不同的事情享受不同的待遇。
只此而已,无他。
做力所能及之事,想力所能及之所想。
做的开心,知足就可以了
#60楼 回复 引用 查看
@joyjoandy电是哪里来的?
#61楼 58.49.150.* 回复 引用 查看
想完全掌握一个领域的东西是不现实的,只能有侧重地去学和用!#62楼 回复 引用 查看
@neoragex2002如果你能给咱们搞一个ps3或者xbox的模拟器就好了。哈哈
#63楼 回复 引用 查看
@米开朗基罗这个...你牵头,我入伙,拉帮人一起去向Sir. HowardS+Mr. BillG请愿如何?岂不更有盼头,呵呵
#64楼 回复 引用 查看
@装配脑袋最开始我指的是341,在a=2时。243是我记错了。
楼主的561, 1105, 2821, 6601是绝对伪素数,对任意整数a成立。
#65楼 回复 引用 查看
这么干挺好,可以做一辈子开发,没准还能当科学家#66楼 回复 引用 查看
这么多的技术,其实主要是要把握一个Know What还是Know How,亦或是Know Why的程度的问题。#67楼 222.35.116.* 回复 引用 查看
@地狱门神我记得有一本叫《趣味离散数学》的书里有讲过费马小定理与伪素数的问题。
建议你好好看一看,不但楼主说的561, 1105, 2821, 6601是伪素数,341也是,而且他们都是以2或3为底的伪素数。
......
建议你们这些程序员好好学习一下数学吧。
#68楼 222.35.116.* 回复 引用 查看
再次补充一下,如果了解费马小定理的人都会知道Sarrus老爷爷在大概18世纪初时就是用341打败哥德巴赫的,因为哥德巴赫曾经试图证明费马小定理的逆命题结果失败了,而sarrus老爷爷通过341让大家相信费马小定理的逆命题是不成立的。貌似这些大学时都应该学过的呀,建议所有学理工科的人都应该重新回炉!
#69楼 [楼主] 回复 引用 查看
@哪些是伪素数因为上大学时一直玩web编程了就没有好好的学习,到工作以后才参加的数学培训班。所以很多知识不是特别的系统,但伪素数还是知道的,
可你要知道伪素数得定义是建立在费马小定理满足但又是合数的,我和@地狱门神所提到的都是满足费马小定理但又不是素数的。
意在补充@装配脑袋让一些朋友不要因为看了受误导。
计算机科学是应用科学,所以要以应用为前提,适当的去学习而非歇斯底里的去探索未知。当然数学也是为了解决应用而产生的。
在这里说一些 素数的另一个名称是质数。
------------------------------------------------
我们开发者学习数学是为了解决实际问题的,带着问题去学习而不是单纯为了学习而学习,数学在我们看来是工具,而这个工具是我们应该掌握的基础工具。
我们讨论这么多不是要分出谁对谁厉害,而是让更多的人意识到去回头看看,数学这个基础工具我们身上有没有,没有的话我们赶紧带在身上,有的话就回头偶尔温习一下。能达到这个效果,也不枉大家疯狂讨论那么多。
#70楼 回复 引用 查看
伪素数,所谓Carmichael数,是非常少的;其存在性根本不影响当今RSA加密技术工程上使用费马小定理瞬间判断一个数是否素数的可行性。所有这些我事先都已经知道的,所以我特地用的没有误导性的词句,不知道大家很在意Carmichael数做什么呢?#71楼 回复 引用 查看
@哪些是伪素数341不是绝对伪素数,
2^341=2(mod 341)但是3^341=168(mod 341)。
而561等可以对任意a成立,而不仅仅是2、3。
@装配脑袋
我的意思是说不能仅仅用这个方法来判断。
比如561就能被3整除,如果把一个很大的绝对伪素数当作素数来用,有可能很快就会被破解。在RSA中,就相当于取的两个素数,其中一个非常小。这是不安全的。
#72楼 回复 引用 查看
只想说一句:技术不是工作的全部。如果技术人员希望跳出技术自身的局限,就要学会从更多的角度和更高的层面看待问题。#73楼 59.61.14.* 回复 引用 查看
无止境的口水战,就和以前的.NET JAVA一样,另外一种站队而已。#74楼 回复 引用 查看
真正的牛人是可以一不变应万变~ 基础是成功的必然条件,技术的不同只不过是形势而以成长伴随着 思维 思路 经验 的成长~ 集腋成裘~所以努力工作是成功的最好途径
没有必要跟风暂时用不到的技术,当要用到的要学习的技术的时候,要满怀信心的攻克
技术是形势,基础是根本,发散的思维是成功的捷径~
总结下我想说什么:学好根本,举一反三
穆彦鹏