10159人阅读
杂谈(17)
『IT视界』 [大话IT]谈谈我对攻读计算机研究生的看法
作者:eqingsheng 提交日期: 17:11:00
&script type=&text/javascript&&&!--
google_ad_client = &pub-2249&;
/* 468x15, 创建于 08-6-3 */
google_ad_slot = &&;
google_ad_width = 468;
google_ad_height = 15;
&/script&&script type=&text/javascript& src=&/pagead/show_ads.js&&
??回复CSDN和KAOYAN诸位网友的几点看法,(为避免吵架,郑重声明,本人不是高手,只是有感而发的一点个人陋见,欢迎指正,事先感谢): 就我自己的理解,谈谈我对读研和软件学院的看法,不妥之处一笑了之即可。 如果你有实际开发工作经验,感觉自己的水平和实力进入了一个高原期,迫切需要从理论上提高,那么计算机学院是唯一选择。因为计算机学院才能让你在理论上更上一层楼。软件学院从教学计划上就没有把你往这方面带。当然能不能更上一层楼最终还是完全取决于你自己。需要特别说明的是,工作经验并不一定等于开发经验,我见过很多工作2-3年的人,但是没有一点开发经验。 你说:“他们都有很强的开发能力,只是不太喜欢读书,也只是希望混个学历对今后在岗位上晋升有好处”,我可以向你保证,你所说的人绝对不是开发能力很强的人。因为,1)高手不可能不喜欢读书;2)高手不可能想去混一个学历;3)高手不可能认为晋升是因为学历的原因。 还需要说明的是,考计算机的人未必个个都是高手,严格来说,大部分都不会编程序。也就是说,庸庸碌碌之辈仍然占绝大多数。研究生毕业的师兄只拿2500元左右的比比皆是,所以不要寄希望于拿一张研究生文凭出去赚高薪。但是,对于有实际开发工作经验的人,要想自己在3年之中有一个真正的提高的话,计算机学院提供了广阔的平台。就我所知,每一个月拿2万以上的也有(上海育碧,图形特效算法设计)。所以,同为研究生毕业,能力的差距是极大的。所以,不要去问“研究生毕业能拿多少?”,要问“像我这种水平的人,研究生毕业能拿多少钱?”这样人家才能够准确地回答你。 所谓“有实际开发工作经验”是指你目前已经具备下列能力:1)你已经认为C++和汇编语言都是很简单的语言,并能够自如地运用;2)你能够在30分钟之内想到正确的五子棋AI算法设计思路和方向;3)你完全理解STL为什么这么重要;4)你能够独立地解决所有的编译与链接问题,哪怕你从来没有遇到的问题,你也不需要询问任何人;5)英文网站是你的首要信息来源;6)能够读懂英语写成的国际标准,比如NTFS磁盘格式标准。7)你经常站在集合论的角度思考算法问题;8)能够理解一个简单的驱动程序,能够理解一个简单3D交互程序;9)你能够认识到线性代数和概率论在实际编程工作中的极端重要性;10)你完全理解COM的设计思想,尤其能够理解COM为什么要设计成这样;11)当我说到虚函数的重要作用时,你不会急着去找书来翻;12)你能够说出C++为什么比其他语言优秀的理由,记住这种理由应该来自于你的开发体会,而不是因为其他人都这么说。此外还有很多判断标准,但如果你同时具备5条以上,可以认为你已经具备相应的开发经验了。在这种状态下读研,你将取得读研效益的最大值。 读研最重要的是要明白你自己要干什么,不能等导师来告诉你你应该干什么。研究生的优势在于理论功底深厚,思维具有穿透力,当然编程能力首先要过关,不要读完研究生还不知道MFC程序的WinMain函数在哪里。所以,研究生期间,你一定要做有理论深度的算法设计,比如大规模数据的搜索算法,性能是首要考虑因素,不要奢望SQL函数能够帮你解决问题,所有的问题你都必须自己解决,你必须解决内外存交换的性能瓶颈。再比如极品飞车的3D场景生成,图形变换,碰撞检测,物性模拟,纹理映射,灯光模型等等,这些都是可以保证你能拿到2万以上月薪的技术。如果你认为这些东西太难,不可能做得出来的话,那么你就不适合读研。真的,要是你认为读研之后还是要去搞一般的程序设计,如信息管理系统之类的软件,那么你读研的价值就完全不会得到体现,因为这些工作根本就不需要读研。 软件学院宣称培养软件开发人才,恕我直言,我从来没有看见那个高手是培训成功的。成为软件开发高手的路只有一条:自学!软件开发中需要大量的编程实践和独立思考,只有在此过程中,你才能够逐步成长起来。软件学院宣称培养软件项目经理,这更是搞笑,在某种意义上这是欺骗行为。学院里面能够培养出软件开发经理更是十足的谎言,软件项目经理必须,或者说更强调从战争中学会战争。没有实践经验的项目经理就是绣花枕头一个。 实话实说,软件学院就是一个蒙钱的机构,公关工作做得很好,善于打广告,而且都是打着高薪的幌子,就如同外面的什么北大青鸟培训班一样。两个字:蒙钱!四个字:还是蒙钱! 总之一句话,如果你只想成为软件开发高手(比如认为会编驱动程序或杀毒软件就是高手的那种),建议工作,不要考研;完全没有工作经验的,也不建议考研,你进来了只有瞎混一通。如果你有上述工作经验且想成为高级软件工程师(能够独立理解并设计出快速傅立叶变换算法的那种软件工程师)的话,那么强烈建议考研。考研让你有3年放松思考的机会,也有3年让你思想和技术积累沉淀的机会。非常难得的机会。不考研的话,这种机会就是一种奢侈,可望而不可即的那么一种奢侈。 所以,不管你是哪一种情况,都不建议考软件学院。除非你是女生,把能够成为一个研究生当着一生最大满足的那种女生。 1)关于读书的机会成本问题。读研的机会成本的确是很高。任何人都可以简单地计算出来。所以,我也不赞成所有的人都去读研。读研只适合那些痛感数学在编程中的极端重要性的人。如果对理论工具和理论思维的极端重要性没有切肤的认识,那么读研的价值几乎为0;读研的好处在于:A,把你自己放在一个学术和工程的交叉点上;B,让你具备了进入微软等世界顶级软件研发机构的可能性;记住只是可能性。但是不读研这种可能性为0;C,如前所述,如果没有读研的机会,你也就没有静下心来好好钻研几年理论的机会;一边工作拿高薪,一边深入地学习各种理论,诸位认为这可能吗?我反正认为不可能,我觉得学习钻研理论最需要的就是一个长期安静独处的环境,一边工作一边读书是不可能有这样的环境的,你会觉得每天都在疲于奔命。而读研正好可以提供这样一个环境。我同时还反对整天跟着导师的屁股后面跑,这样会浪费很多时间。读计算机的研究生,主要依靠自己去查阅最新文献,自己去研读文献,和导师的口头交流一个月一次就足够了,前提还需要导师的水平足够牛。如果导师的水平不牛,这也没关系,不理他就是了,自己做好自己的事情即可。 2)关于研究生教学质量问题。坦白地说,全国都是“洪桐县中无好人”,尤其在计算科学领域,大牛极少。那为什么还要去读研?大哉问!把读研的收获寄托在名校或名师的名我认为气上,是注定要失败的。读研全靠自学,研究生之间的差距全部体现在自学能力上面。又有人问,既然是自学,为什么非要读研?回答是:因为读研就是为你买一份保险,就是买一份你自学三年之后不会失业的保险。这份保险主要是一种心理上的后盾,让你在自学过程中经得起诱惑,能够从容镇定地去追寻计算机理论发展的坚实足迹,从欧拉,费马,高斯,康托,图灵等巨匠那里寻找方法论的珠宝。倘若没有这份保证,你在家里面自学3个月,保证你会被失业的压力压得喘不过气来,何谈安心学习? 3)关于实战经验与理论学习的优劣问题。这没有定论,如前所述,管理信息系统,设备驱动开发,工具软件开发,软件病毒剖析等等这些工作不太需要创造性,需要的是耐心和经验,需要的是对既有规范的准确理解,这类开发工作最适合在实战中提高,理论学习没什么作用。但是在人工智能,模式识别,图像压缩,虚拟现实,巨量数据检索,自然语言理解,计算机图形学等等领域,理论学习就占据着绝对的统治地位!这些领域的突破对人类的生活的影响是极其巨大而深刻的。某些领域处于一个极其快速发展的态势之中,比如计算机图形学,相信诸君能够从众多3D游戏的灿烂辉煌中体认到我的这种说法。在这些领域,如果没有扎实的理论功底,一切都是那么遥远,不管你花了多少时间在编程上面。 4)关于高级研发人员的知识结构问题。首先声明,我不是一个纯粹理论激进分子,即认为除了理论之外,一切都不重要。我认为,纯熟的编程技能是最基本但也是最必不可少的技能。没有这个基础,一切计算机理论就是空谈(研究图灵可计算性理论的研究者除外)。有了这个基础之后,下列理论学习方向必须重点突破: 1,科学哲学。这是核心中的核心!可惜国内不开这门课。不但不开课,而且还作为批判对象来引用,实在是遗憾至极!这是一门教你如何“钓鱼”的学科,在一切科学研究中居于最核心的地位。它是古今科研方法和思维方法的集大成者,很难想象一个成熟的研究者没有一套自己的方法论体系。科学哲学最需要的是领会与总结,它的思想与启示会伴随我们的一生。 2,康托集合论,矩阵方法,离散结构,图论方法,群论方法之间的紧密关系。最重要的认识这些理论对实践的重要启示和方法引导。我始终认为,如果你学了一门理论之后,却不知道这门理论有什么作用,那么你的理论就白学了,你什么东西都没有捞着。所以,学习任何理论之前,先问自己:它有什么用?在哪里用?如何用?带着这些问题去学习理论,你才会真正地学到东西。用这三个问题去问你的理论课老师,他的回答就是判断其实际水平的最佳标准。 3,思维要有极强的穿透力,学会看透文献作者没有写出来的动机。绝大部分大师都有隐瞒自己最具有方法论启示意义的思考环节的习惯。牛顿和华罗庚先生都有这个坏习惯。这让大家认为他们是天才,因为很多问题他想到了,我们想不到。但是为什么他们能想到,我们想不到?他们是怎样想到的?没有人告诉我们牛顿发现万有引力定律时的思考过程,当然,牛顿可以慷慨地把他的思考结果告诉我们,但是,他那可以点石成金的“金手指”却没有教给我们。我们的任务就是要培养透过文章看穿作者背后意图和动机的能力,在这方面,台湾的侯捷和美国的Donbox是绝佳典范。这两只老狐狸(呵呵,是爱称)凭着其猎犬一般的嗅觉,抽丝剥茧,一个把COM背后的幕后设计动机揭开并暴露到了光天化日之下,另一个把MFC的宏观架构做了一次完美的外科手术。其非凡的思维穿透力令人惊叹。 4,英语。英语本身不重要,但是用英语写成的文献就极其重要了。所以,专门把英语作为一个重头戏列出来。大家不要相信英语无用论的鬼话。对于搞计算机的而言,英语就是你的母语! 5,其它的具体理论还有很多,但是都不如这三个方面重要,因为我觉得这三个方面是最具有根本性,全局性的能力培养环节。需要指出的是,很多高深理论对你的工作是无意义的,当心时间陷进去。一定要把效率最高的时间段用在最具有决定性意义的理论学习上。 5)关于读研之后的出路是否光明的问题。我们应该承认,读研之后,你的工作机会不是变多了,而是变少了。而且越是高手,他的工作机会和工作范围就越少。这是因为,越是搞前沿研发的公司,其数量越少,在这个圈子的人也就越少。你找工作的范围就越小,试问:如果微软的OS设计专家出来找工作,能够让他选择的公司能有几家?但是,这种公司数量的减少是以工资待遇的急剧上升为补偿的,同时,你在工作中所受到的充分尊重也是在一般公司中体会不到的。所以不要担心学了高科技用不上,呵呵,你只会越来越感觉自己学的不够用。相信接到过猎头公司电话的人会体会得到。真正的高手从来就不会担心工作的问题,也从来不会到人才市场上去找工作。既然选择了理论深入,那么就应该把眼光放得更远。
作者:大花脚蚊子 回复日期: 19:14:49 有深度,受教了,意义深刻啊!!听君一席话胜读十年书。
作者:keke89 回复日期: 19:16:44 顶!
作者:poseidon03 回复日期: 19:22:11 深刻,我现在就在某个名牌大学的软件学院了, 感觉上每天都是虚掷青春.. 永远看不到前路的方向
作者:花白菜 回复日期: 19:30:04 受益非浅
作者:twzhappy 回复日期: 19:31:44 写得好,呵呵,不知能有多少人能做到
作者:狗狗肥了 回复日期: 21:03:10 说得好啊
作者:苗小宝 回复日期: 22:56:02 受刺激了。
作者:f00 回复日期: 23:00:52 这篇文章应该出自一个搞软件理论方向的人
作者:一个奋青 回复日期: 23:36:51 震撼啊! 狂顶!
作者:bucuan 回复日期: 0:09:44 ti
作者:farren 回复日期: 0:38:12 顶
作者:LavaFlow 回复日期: 10:11:11 可能是出自于一个搞仿真与虚拟现实方向的人。 ------------------------ 作者:f00 回复日期: 23:00:52 这篇文章应该出自一个搞软件理论方向的人
作者:bbsbbt 回复日期: 10:30:23 深刻,但不怎么顺耳。对大多数来说。 很多的人, 很多的中国人, 很多的中国IT人, 认为自己已经足够牛了, 或是只差那么一点点经验了, 反正书是不需要再怎么去读了。
作者:提壶灌顶 回复日期: 10:52:07 大多数人看了会汗颜,能踏踏实实做理论研究的人太少了,太少了!
作者:eqingsheng 回复日期: 12:23:46 本人研究方向为3D交互图形学。重点在基于照片的3D建模与渲染和粒子系统。现就读于重庆大学。欢迎交流。再次声明,我不是什么高手,不是谦虚,而是实事求是地说。
作者:没有传奇 回复日期: 12:35:05 基本赞同作者的观点. 还是要强调一点,教学质量----如果你的导师是一个要以你创汇为目的的导师,只能说那几年基本上你就要双重浪费了。 还有别把那些研究院看的太重,应该说那里是人精扎堆的地方,但是应该说大部分(我有点主观)都仅仅是混口饭吃而已,呵呵。
作者:eqingsheng 回复日期: 12:40:11 曾经有人戏言:计算机科学的毕业生一无是处,论硬件,比不过电子系的毕业生;论软件,比不过数学系的毕业生;论应用,比不过各行各业的领域专家。那么,计算机专业的毕业生能干些什么? 我认为,上述三点,不是计算机专业学生的劣势,而是优势。因为只有计算机专业的学生才能够做到在上述三个方面同时具备足够的知识,而解决现实问题恰恰需要同时具备这三方面的知识,不用太多,也不能太少。这也是计算机人才的相对待遇为什么最好的根本原因。
作者:SmartLee 回复日期: 12:47:28 吓死人^_^
作者:davycu 回复日期: 13:14:30 曾经有人戏言:计算机科学的毕业生一无是处,论硬件,比不过电子系的毕业生;论软件,比不过数学系的毕业生;论应用,比不过各行各业的领域专家。那么,计算机专业的毕业生能干些什么? 我认为,上述三点,不是计算机专业学生的劣势,而是优势。因为只有计算机专业的学生才能够做到在上述三个方面同时具备足够的知识,而解决现实问题恰恰需要同时具备这三方面的知识,不用太多,也不能太少。这也是计算机人才的相对待遇为什么最好的根本原因。 ------------------------------------------------------------ 大哥这话说错了,人家搞通信得待遇比你好多了
作者:eqingsheng 回复日期: 13:25:56 可能有错误吧,但我认为通信是属于IT的。通信和计算机根本就不可能分家。其实谁的待遇究竟好多少在这里并不是问题的焦点。当然各行各业都有比计算机专业好的多的岗位存在。
作者:eqingsheng 回复日期: 13:29:35 关于导师的选择问题,我非常赞同“没有传奇”:千万不要选择自己开得有公司的导师!!!不然你一进去就死定了!
作者:eqingsheng 回复日期: 13:33:41 关于“这也是计算机人才的相对待遇为什么最好的根本原因。”希望大家不要误会我的本意。非计算机专业毕业的学长不要骂我。我的意思是说计算机专业和学纯理论或纯应用的同学相比较而言的,出于我自己的直观理解,可能不对,现在这里致歉。
作者:我很孤单 回复日期: 13:41:49 软件学院和法律硕士一样,都是蒙钱的。 君不见,每年到软件学院读的都是考计算机学院没考上的, 考200多分,调剂过去的,每年的学费数万元。 法硕也是,现在的法学硕士都难就业,更别提 法律硕士了,连导师都没有, 还不如法学的本科生。 学费高的不得了。
作者:clearzero 回复日期: 17:27:59 楼主写得好,支持
作者:光_芒 回复日期: 17:44:42 8错,很多地方值得学习
作者:zhenzil 回复日期: 18:38:34 感觉是浙江大学搞图形图象处理的。
作者:玉面麒麟 回复日期: 19:01:59 YJS毕业看你是那类的啥
作者:考米 回复日期: 19:08:57 对楼主说的话很有感触:现在的大多数人读研就是想混个文凭呵,更别踏踏实实做理论研究。不过中国的国情与社会机制一定程度上决定了现在的教育误导!!
作者:eqingsheng 回复日期: 19:35:27 & 感觉是浙江大学搞图形图象处理的。 & 我是重庆大学的,浙江大学,行不能至,心向往之。
作者:eqingsheng 回复日期: 19:37:33 浙江大学在计算机图形学领域是高校翘楚。鲍虎军,彭群生都是业内名家。尽管目前我在重庆大学读硕士,但博士很可能要到浙江大学去读。
作者:NicotineOne 回复日期: 19:53:15 3x
作者:小说读者 回复日期: 19:58:18 个人都有一本经,我觉得我就永远不能领会c++的好处。 c++,我以为是将被取代的语言。 研究生教育,多数是骗人,我看里面竟然有教java编程的 j2ee的。我觉得上研究生,起码在数学能力上有突破,这些 编程语言算什么,可是普遍的情况是数学类课少,计算机科学 从本质说是,数学的一个分支。
作者:haodixin 回复日期: 22:56:26 楼主是重庆大学的?我就在读重大的软件本科,看了楼主的话,心里一阵寒阿!
作者:gunime 回复日期: 23:20:57 楼主为什么总拿C++来说呢 我也觉得我肯定不会体会到C++多么的好 stl多么的重要 更不可能说出c++为什么比其他语言优秀 因为我喜欢java 我擅长java 呵呵 不过楼主大部分说的有理 赞一个先
作者:浪天崖 回复日期: 9:55:58 在国内读什么大学的研究生都是浪费,现在那个导师不是带上几十个硕士的?那个硕士不是乖乖的给老师干活(想毕业老实点吧),真正从老师那里能学到多少东西啊?
作者:SkyWalkerJ 回复日期: 10:17:47 做IBMR的?在国内找工作好像路比较窄啊。 我觉得做这个方向毕业后最好还是在学术圈里混,别去工业界,在高校里做出来成果之后找公司搞技术转让赚钱,吼吼
作者:eqingsheng 回复日期: 10:24:33 本文只针对那些希望把计算机科学作为自己生命中最重要的部分的同志们,如果只是想把计算机作为谋生的工具,本文没有什么实用价值。要是你斤斤计较你每一年要损失多少万多少万,那么本文对你也没有价值。 郑重声明:本文献给那些对计算机科学有着宗教一般狂热爱恋的人们。本文的观点并非适用于所有的程序员。 另外关于C++是否比其他语言更优秀,不能说C++所有地方都优秀,而是说C++在哪些方面比其他语言更优秀,这没错吧?总有许多优秀的地方吧? 我说过,我不是一个纯粹理论激进分子。这些都是作为一个优秀程序员所必须具备的素养(In my opinion)。这并不是一个计算机理论科学家的要求,而是一个实战程序员的要求。要做一个有创造力的程序员,你们说缺少这些知识行吗?不能老是Copy别人的代码来改一改就算编程吧?我列举的都是最有普遍性的东西,最有价值的东西,我并没有列举具体的知识分支,比如形式语言与自动机,机器视觉,模式识别等等具体学科,具体学科不一定每个人都去学,去研究,但是方法论的东西确实值得我们每一个人去重视,诸君认为我列举的三个方面不对任何一个程序员都有重要作用吗?
作者:zbbert 回复日期: 10:33:36 受益了,THX
作者:csdlrj56 回复日期: 13:04:40 大学中,迷茫中~
作者:zhang_1377679 回复日期: 13:13:39 叹!!!!!
作者:业余学生 回复日期: 13:31:17 唉~
作者:AngryMan 回复日期: 14:32:50 呵呵。楼主是一家之言。
作者:wodyale 回复日期: 14:35:23 我觉得楼主得心态稍稍有点狂热稍稍有点偏执,但搞技术既然想搞到研究生的份上去,没有点偏执和对技术、理论的狂热是达不到研究生这个水平的。只是现在国内绝大多数高校(俺对中国科技大学、国防科技大学知之极少)在研究生的培养上其定位是不够或说不严格的。原因很多很复杂,有教育模式的原因,有扩招后导师无可奈何以及滥竽充数为导师的原因,还有报考者自身定位不明的原因(楼主这番言论有助于报考者事先考虑清楚自己的定位)。念研究生,靠的是自己一点不假!即便你的导师是院士也如此。报考者一定要做好充分的心理准备:)) 所以,我觉得楼主所言极是!一些小纰漏算是瑕不掩玉了。 楼主还说: --------- 一边工作拿高薪,一边深入地学习各种理论,诸位认为这可能吗?我反正认为不可能,我觉得学习钻研理论最需要的就是一个长期安静独处的环境,一边工作一边读书是不可能有这样的环境的,你会觉得每天都在疲于奔命。 ------------------------------------- 嘿嘿, 俺现在就是这样,确实是奔命:) 可是没办法,俺生活的压力太大,把握机会好好加油!
作者:张光于 回复日期: 15:28:53 收藏
作者:mushuang 回复日期: 16:24:45 楼主是说读国外的研究生吧 不然 就是你知道了 ,科学哲学。 2,康托集合论,矩阵方法,离散结构,图论方法,群论方法之间的紧密关系。最重要的认识这些理论对实践的重要启示和方法引导。 3,思维要有极强的穿透力,学会看透文献作者没有写出来的动机。 但是在国内会有哪个公司请你 另外软件里面的纯理论很少 应用软件基本上不用知道什么付立叶变换 也不用说一定要知道离散数学 除非你是专门设计算法的 如h323等协议的算法
作者:aimcy 回复日期: 17:26:30 的确很有深度
作者:paladin2 回复日期: 17:43:23 又有人问,既然是自学,为什么非要读研?回答是:因为读研就是为你买一份保险,就是买一份你自学三年之后不会失业的保险。这份保险主要是一种心理上的后盾,让你在自学过程中经得起诱惑,能够从容镇定地去追寻计算机理论发展的坚实足迹,从欧拉,费马,高斯,康托,图灵等巨匠那里寻找方法论的珠宝。倘若没有这份保证,你在家里面自学3个月,保证你会被失业的压力压得喘不过气来,何谈安心学习? --------------------------------------------- 这个问题,我想了几年都没想通,想不到在这里找到答案了!
作者:eqingsheng 回复日期: 17:48:17 至于说国内没有公司用到FFT算法,我想你是错误的。我以前的公司就要用。呵呵,视频和音频解码不用DCT,FFT么?国内没有做视频编码解码的么?一大堆!你数一下有多少公司在做视频会议和超级解霸之类的东东吧! 不过,不知者不为怪。
作者:eqingsheng 回复日期: 17:53:01 我的观点的确是一家之言,不一定正确,但是可以讨论。离散数学没有用么?老实说,我天天都在用!关键是看你会不会用!当你使用STL的各种容器时,没有离散数学的观点,你能够用好么?说离散数学用不上,我想绝大部分程序员都不会同意。离散数学不是玄学,而是来源于实践,有直接反作用于实践。离散数学对算法的设计觉有最直接最根本的指导作用。
作者:eqingsheng 回复日期: 17:56:42 欢迎就事论事地展开讨论,希望不要争执。感谢各位的捧场和抬爱。Thanks in advance!
作者:eqingsheng 回复日期: 18:00:54 本人在国内读研,我认为在国内读研一定要走自己的路,自己要有方向感,不然你会又穷又累。呵呵,又是一家之言。
作者:mushuang 回复日期: 18:15:35 国内做解码和视频会议的公司我也呆过 不过是直接下载国外的源码 进行简化来的 要说完全从头开始研发的 在国内不会有几家 当你使用STL的各种容器时,没有离散数学的观点,你能够用好么? 我使用的时候从来不考虑离散 以前离散的知识早就忘记了
作者:mushuang 回复日期: 18:17:54 在国内做底层的话 更重视的是对协议的理解 而不在对某个算法进行编写 到51或是其它人才网上找找看 对需要的人掌握什么样的能力 先用fft查找 然后再查找 协议 看有多少区别 市场是最大的动力 个人看法 不做争论
作者:天堂左岸 回复日期: 18:21:30 好
作者:eqingsheng 回复日期: 18:35:01 理解了,也就可以编写了。难道不是这样的吗?绝大多数领域是没有协议的,需要你自己去创造协议。举个例子,要做一个指纹识别软件,你会立马想到用小波,但是小波基如何构造?算法如何设计?连续小波如何离散化?这有协议么?没有。需要自己来创造,这样的东西才有市场竞争力。这些领域是不可能抄袭到别人的算法的。
作者:eqingsheng 回复日期: 18:39:26 还有,如果没有足够的理论基础,要想看懂老外的视频编码解码算法是不可能的,更别说修改优化了。诸位以为呢?
作者:eqingsheng 回复日期: 18:48:18 另外,我不懂Java,所以只谈了C++,绝对没有看不起Java语言的意思。各位Java程序员不要误会。
作者:common_m 回复日期: 20:50:34 你说的不是计算机高手,是计算机专家!
作者:大河之门 回复日期: 13:49:46 兄弟我还有差距,也希望中国的软件行业能切实创造出些东西来~
作者:德威特_ 回复日期: 13:52:56 还是挺不错的!
作者:ahKing 回复日期: 13:56:32 只说一句:软件学院就是垃圾
作者:小猪僮 回复日期: 14:29:12 研究与应用还是需要区分的。
作者:SkyWalkerJ 回复日期: 14:39:18 楼主真的在国内软件公司做过吗? 念研究生的时候我和楼主的看法一样,工作以后,才发现实际情况未必如此,用STL的时候考虑离散数学?呵呵,这个先不去说它,我是真见过一帮人没看过一篇OCR的论文就做出了商用OCR产品的,而且还卖出去了,这可不是哪个三五人的小公司做的事,是国内软件产值排名前十的公司!
作者:zeus_zllz 回复日期: 15:24:30 1)你已经认为C++和汇编语言都是很简单的语言,并能够自如地运用;2)你能够在30分钟之内想到正确的五子棋AI算法设计思路和方向;3)你完全理解 STL为什么这么重要;4)你能够独立地解决所有的编译与链接问题,哪怕你从来没有遇到的问题,你也不需要询问任何人;5)英文网站是你的首要信息来源; 6)能够读懂英语写成的国际标准,比如NTFS磁盘格式标准。7)你经常站在集合论的角度思考算法问题;8)能够理解一个简单的驱动程序,能够理解一个简单3D交互程序;9)你能够认识到线性代数和概率论在实际编程工作中的极端重要性;10)你完全理解COM的设计思想,尤其能够理解COM为什么要设计成这样;11)当我说到虚函数的重要作用时,你不会急着去找书来翻;12)你能够说出C++为什么比其他语言优秀的理由,记住这种理由应该来自于你的开发体会,而不是因为其他人都这么说。此外还有很多判断标准,但如果你同时具备5条以上,可以认为你已经具备相应的开发经验了。在这种状态下读研,你将取得读研效益的最大值。 这些都是技能,能够保证你有口饭吃! 楼主的眼光只是瞄准了整个IT里面计算机里面windows里面的一个很小的分支上,没有宏观的战略! 其实研究生这些技能是靠自学,但是研究生培养的是一种思维是一种学习方法,是一种系统观,是一种从更高的层次看待问题、看待系统! 里面有一些观点,我不是很赞同 我不觉得c++有哪儿优秀 或者说比哪种语言更优秀! 其实我觉得语言就是工具,是用来交流的,你说一把锄头和枪那个好 其实它们谁都不比谁好,锄头锄地好,枪嘛打猎好,它们各自有各自的应用背景,不要觉得这个世界上就有c++了 如果你只能汇编 精通汇编 10000$/月的钱等着你去拿
作者:zeus_zllz 回复日期: 15:27:54 你用锄头种地可以发财,你用枪也可以打猎发财 但是你用锄头挖宝藏发财 难道你要用枪挖?! 工具唯有熟练不熟练而已,在哪个地方“挖” 在哪个地方打猎 这些才是最重要的!
作者:从此天涯__ 回复日期: 16:54:52 没想到重庆大学还有这么NB的人。我还以为重大的研究生都不怎么样呢,不是看不起重大,只是偶本身就是重大出来的。重大的研究生,很多都不怎么样,呵呵。
作者:eqingsheng 回复日期: 17:17:04 & 这些都是技能,能够保证你有口饭吃! 楼主的眼光只是瞄准了整个IT里面计算机里面windows里面的一个很小的分支上,没有宏观的战略! 其实研究生这些技能是靠自学,但是研究生培养的是一种思维是一种学习方法,是一种系统观,是一种从更高的层次看待问题、看待系统! 里面有一些观点,我不是很赞同 我不觉得c++有哪儿优秀 或者说比哪种语言更优秀! 其实我觉得语言就是工具,是用来交流的,你说一把锄头和枪那个好 其实它们谁都不比谁好,锄头锄地好,枪嘛打猎好,它们各自有各自的应用背景,不要觉得这个世界上就有c++了 如果你只能汇编 精通汇编 10000$/月的钱等着你去拿 & 呵呵,我说的就是你要具备这些技能。我并没有说这些技能掌握了就很厉害,而是说这只是一个基础。文中应该阐述明白了地吧? 呵呵,本人认为,不管是什么平台,你都必须选择一个平台。不能认为选择了Windows平台就没有系统大局观了吧?这个推断略显勉强。我认为Windows平台能够解决我的问题。我从来都不认为会用Unix的人一定比会用Windows的厉害。 你不觉得C++优秀那是因为你不熟悉C++。C++的优秀不是那个人说出来的,而是千百万人在用它锻造具有工业应用强度的系统软件和应用软件。而且其设计思想是一切从实际出发,不唯书,不唯OOP,只唯有效地解决实际问题。建议阅读《C++的设计与演化》一书。你会对C++有新的认识。 C++的确是工具。所以我要强调要首先会使用工具。
作者:eqingsheng 回复日期: 17:20:47 & 如果你只能汇编 精通汇编 10000$/月的钱等着你去拿 & 这句话有臆断的嫌疑。没有证据支持“10000$/月的钱等着你去拿”。 我强调C++的重要作用的同时并没有否定其他语言的重要性。有自有各自的应用领域。关于这个问题网络上已经讨论得够充分了,所以没有必要再在语言本身的优劣问题上纠缠。OK?
作者:未来的路自己走 回复日期: 17:22:40 毕业前,me也想要考研,毕业工作后,我为没有考研而后悔~~ 虽然老师不一定能教你什么,但我觉得很多都是自己决定的 现在我觉得工作之后的人继续考研的想法是那么的迫切~~ 我也会更加了解我以后努力的方向 本科生还是知识缺乏,不成体系,甚至是为了在同样一份工作中不再受歧视~~(本科和研究的待遇差n多),我希望我可以考研 但我现在没有时间了~~~辞职再考代价太高了。
作者:eqingsheng 回复日期: 17:25:23 我在文章中究竟是在强调工具的重要性还是在强调思想方法的重要性,明眼人是不难看出来的。建议zeus_zllz回头重新看一下我的发言,这样讨论问题的时候才会有的放矢。
作者:柯小蓝 回复日期: 17:31:26 今天看见高手了
作者:eqingsheng 回复日期: 17:31:41 to SkyWalkerJ: 本人在外资软件公司干了四年。可以说离散数学就是计算机算法设计领域里的哲学。没有正确的设计哲学,我认为是不能够有效地解决复杂问题的。STL的设计基础就是集合论,STL和离散数学的派生关系难道这还需要怀疑么?
作者:eqingsheng 回复日期: 17:38:33 如果C++在所有方面都不及其他语言的话,那么它早就消失了。市场的选择是最有说服力的。在网络领域C++不及Java,但在系统领域,在要求高性能的领域,C++绝对要比Java占优势。情况就是这样,要是说C++完全没有用,呵呵,我只能认为这是一种故意的偏见!
作者:eqingsheng 回复日期: 18:40:52 近世代数或者说离散数学最强调什么?显然是强调“抽象”。抽象是把复杂问题简单化的根本手段。会不会对问题进行形式化和抽象化是判断一个程序员成熟度的首要标准。一个程序员如果没有在抽象思维能力方面受到过严格的训练,那么他是不可能成长为一个优秀的软件工程师的。我认为,离散数学这门学科是培养一个人的抽象思维能力的最佳载体!请允许我说一句比较得罪人的话,那些认为离散数学在编程中起不了作用的人,不可能已经掌握了真正的的程序设计方法。如果读一读经典算法的源代码,可以说,处处都能看到抽象化思考问题的影子。(对事不对人,请勿对号入座) 如果我们没有掌握“抽象”这个最强大的思维工具,那么,我们就不可能驾驭庞大的自然或人工系统!而哲学和离散数学(我一直认为数学其实应该属于哲学门类,至少应该是应用哲学)为我们提供了最普遍、最一般的抽象思维工具。比如:任何程序设计语言都可以看成是一台可以抽象执行的机器;STL的容器都是集合;STL容器中的元素都是集合中的元素,容器元素之间的序关系、映射关系、运算关系几乎完全和近世代数中的二元关系相对应;赋予了关系的集合就构成了空间,而抽象代数的重要分支泛函分析对各类空间的性质作了大量的研究,不仅很多赋范方法和结论直接可以用,更重要的是这些赋范方法和结论为我们的思考带来了更多的启发,而这种启发就是思维具有穿透力的关键。更不消说树结构和图结构与离散数学的关系具有直接的映射关系。所以认为离散数学和STL毫无关系的观点是站不住脚的。认为不懂离散数学也可以使用好STL更是不对的。掌握了并能够熟练地使用离散数学的观点来指导实践,你才不会在问题面前一筹莫展,你才会觉得思路特别多,不会在某一个问题上钻进牛角尖。这就是抽象化看问题的好处。当然,会用STL并不难,难就难在要把它用好,要让各种容器的副作用降低到最少,性能达到最佳,这就不容易了。建议读一读《Effective STL》这本书,对于有效地使用STL很有帮助。
作者:freedompursuer 回复日期: 18:50:16 我是软件学院出来的,我也不看好软件学院,因为太容易考上了,钱还交的哪么多。 不过我仍然感激她,因为当年我以近390分被计算机学院录取,由于工作单位不放档案,所以就没上成,而软件学院不管这些,所以我就去了软件学院。 找工作的时候,用人单位并不在意你是计算机还是软件
作者:RTFSC 回复日期: 21:01:38 收藏 我很同意楼主的看法,我工作时间不长,在一个网站做后台开发,做了四个月下来感觉就是一个混饭的地方,决定辞职,现在感到基础和理论是重中之重,是“道”之所在。大多数人都可以在一个领域达到一定的高度,但是如果不能用数学的思想去支配自己编程,最多就是软件蓝领,并不是真正意义上的程序员。 我很赞同“郑重声明:本文献给那些对计算机科学有着宗教一般狂热爱恋的人们。本文的观点并非适用于所有的程序员。” 因为大部分编程人员都是为了生活而不是为了理想,这并没有错,金钱的社会搞得大家都很浮躁,什么技术来钱快就学什么技术,只是注重眼前的利益,对基础的研究可以说是少之又少。 已经决定辞职沉一段时间,一是学习基础还有就是学习英语,这也是一个优秀程序员所必需具有的素质,我不会去考研,但我已经清楚地认识到该学什么。 很希望能和楼主多交流,希望留下email,谢谢
作者:eqingsheng 回复日期: 21:12:52 "C++的本质是解决大型软件中的问题,如果没编过大型软件是不能体会到C++的真谛的" ---谭浩强
作者:eqingsheng 回复日期: 21:14:17 to RTFSC: Just do it! 支持你的想法!
作者:RTFSC 回复日期: 21:28:12 哥们,回复还真快呀! 留个Mail呀,以后还得多多请教呢! 我的大学一塌糊涂,幸亏醒悟的还不晚,楼主这么强怎么没有考虑去美国上研究生呢,我觉得你的实力足够了 ~~~
作者:RTFSC 回复日期: 21:37:22 中国现在的计算机教育也有很多问题,前一段时间读过王垠的一篇Linux的文章,文章虽然有些偏激但我觉得不无道理,现节选一段: 发达国家的计算机教育 我前段时间在 USENET 发文问有关 Scheme 语言的问题时,认识了一位丹麦人。他解决了我所有的问题,并且建议我阅读一些很“深奥”的有关程序语言语法,文法的书,他告诉我很多网站可以学习 LISP,Scheme,人工智能,算法。他叫我看 Jonathan Rees 的论文 "Syntactic Closures"。他还打包给我寄过来一份 MIT 的 "How to Design Programs"。他说他在自己的 PC 机上装的是 Linux,他用 Emacs 编辑,运行 Scheme 程序。他对 Emacs 的了解和爱好真是使人惊讶。他大学本科毕业时做的毕业设计是一个 Scheme 解释器。这对于我来说是望尘末及了。 他是那么的不厌其烦,我的每一个问题他都详细的回答。我有时都觉得过于详细了,怎么这么耐心啊?我觉得他似乎是我的高中老师。他是什么样的人呢?我好奇的打听了他的情况。原来,他是丹麦一所普通高中的计算机老师。 他说他在高中里讲授程序设计和算法,计算机语言文法。他说用 Scheme,他的学生不用再为内存泄漏等程序语言本身的问题而烦恼,而专注于问题和算法本身。有利于培养学生解决问题的能力,特别是用计算机解决数学问题的能力。 天哪!为什么欧洲出现那么多数学家,几何学家?你看看别人重视的是什么!我们的计算机教育如果继续这样下去,只会沿着弯路越走越远! 全文链接:http://www.linuxforum.net/forum/gshowflat.php?Cat=&Board=linuxtalk&Number=409993&page=0&view=collapsed&sb=5&o=all&fpart= 中国的教育其实存在很大问题,这样下去我们的计算机科学是没有办法发展的,只是简单的堆砌程序,而不是去创造程序。
作者:zeus_zllz 回复日期: 21:49:08 呵呵,感觉有些跑题了 说来说去就是C++ 也许你的领域用的就是C++ 当然C++ 是非常优秀的! 这只是在特定的背景下! 我不是没有用过C++,也了解知道一些C++,看过一些STL 就是houjie那个家伙的书 还有一些e文 厚的比砖头还厚 不过呐 还是那句话 在不同的背景下 用不同的语言,我不太相信内核可以用c++写 bios可以用C++写,RTOS可以用C++写等等 精通汇编可以拿10000$ 的地方就是bios~ 能够写出来bios的公司不是很多的 原来有三个 后来一个把另一个吞并了 剩下两个~ 一个侧重于台式机 一个侧重于笔记本 数学是学好计算机最重要的基石!如果没有体会到数学,那可以从侧面说明你还不够水平吧~~~~~~我就没有体会到,呵呵 我不是学计算机的,我本科、硕士都是学通信的,但是硕士期间对计算机看过有几十本,大部分都是e文,·····不是显示我看了多少书,就是说明我还可以对计算机发表一下个人的看法 学东西有两种,第一种是振幅大带宽窄,另一种是带宽大幅度小 能两者兼而有之的人才是牛人 我们嘛都是些牛毛而已 真正厉害得人是这样发展的 软件-》嵌入式RTOS-》硬件 或者 硬件-》嵌入式RTOS-》软件 对于我们学生学习来说,unix、linux要比windows好些,因为它们的源代码可以看的到,对于编程来说,没有比读内核源代码更好的事情了,这些代码都是天才写的艺术品! windows也是优秀的,但是我们学习应该往“下”学习,不应该天天纠缠于应用层程序! 应该向下学习!
作者:天涯柚子 回复日期: 22:11:36 比较同意楼主的观点,理论基础很重要。 不过,软件学院大概可以学习一些软件工程方法或者说项目管理方面的知识,这也是挺重要的一个方面。
作者:hiluoqiang 回复日期: 23:13:41 楼主视野较窄,经验较薄 毕业以后,工作一段时间,会发现现在的目光盯的太短了 不过我们当年也是这么讨论着过来的
作者:conan_wang 回复日期: 9:32:18 楼主说的还是很有道理的,工作中的人比较现实,很难有时间坐下来看看书或者沉淀一下自己的思考,抽空去考几个什么证书的人倒是不少。
作者:naclchen 回复日期: 9:47:41 虽然我学的不是软件方向的,甚至不是计算机(我学的电子,以后工作应该是做通信把),但是我想楼主这番话对我的专业也是适用的。 收藏了先。只可惜我现在研究生都快毕业了,早几年看到就好了:( ps:我常常潜水的,很少回复,今天为了回复特意登陆的
作者:eqingsheng 回复日期: 9:59:52 & 真正厉害得人是这样发展的 软件-》嵌入式RTOS-》硬件 或者 硬件-》嵌入式RTOS-》软件 对于我们学生学习来说,unix、linux要比windows好些,因为它们的源代码可以看的到,对于编程来说,没有比读内核源代码更好的事情了,这些代码都是天才写的艺术品! & 呵呵,不是每一个人都要去开发操作系统。你说的这些东西都是很具体的东西,绝大部分高级软件工程师都不了解你说的这些,绝大部分都没有读过什么UNIX内核源代码。有这个必要么?比如我搞3D图形,你说我去研读UNIX内核源代码,能够为我带来什么。知识是学不完的,必须把重点放在思想方法和你的专业领域内。什么都懂的人必然什么都不懂。这也是我在文章中很少谈到具体知识的原因,因为每个人的工作领域不一样。 至于说每一个厉害的人都要搞嵌入式RTOS,意思就是不搞嵌入式RTOS就肯定不厉害了,这样的论断成立么?诸位会同意么?
作者:eqingsheng 回复日期: 10:02:01 本文只针对学软件的,对于通信专业,我完全是一个老粗,不敢妄言。
作者:eqingsheng 回复日期: 10:09:20 〉 楼主视野较窄,经验较薄 毕业以后,工作一段时间,会发现现在的目光盯的太短了 不过我们当年也是这么讨论着过来的 〉 恭听指教,愿闻其祥。
作者:eqingsheng 回复日期: 10:21:41 〉 windows也是优秀的,但是我们学习应该往“下”学习,不应该天天纠缠于应用层程序! 应该向下学习! 〉 to zeus_zllz: 你说的向下,我的理解应该是靠近内核就叫“更下层”吧?也就是说搞设备驱动程序就比搞3D图形更下层吧。我的理解没错吧?如果留心的话,你可以看出来,我之前有过两年的时间是在做设备驱动程序的,主要是Windows内核文件系统那一块。我一点都不觉得DDK,IFS这些玩意比3D图形编程更困难,恰恰相反,要简单得多。全部都是某一个厂家或国际标准化组织如ECMA,ANSI,ISO制定好协议,你的任务就是准确地理解这些协议,个人的创造性发挥是绝对不允许的,能够和协议保持高度一致是你的最高追求!而计算机图形学则完全不一样,大量的工作需要开发者的创造性劳动才能解决问题,其难度绝对不是和设备驱动程序开发在同一个数量级!计算机3D图形恰恰就是你说的应用层,呵呵,难道我们不应该"纠缠"于这样的应用层么?
作者:eqingsheng 回复日期: 10:27:14 还是那句话,任何知识,在学它之前,你一定要准确地判断它究竟对你有没有用?有多大的用?在哪里用?怎么用?如果连这些问题还没有搞清楚就一头栽进去狂学一通,很可能事倍功半。
作者:prown 回复日期: 12:47:25 楼主说得不错,受教
作者:flow80 回复日期: 13:04:34 楼猪说的有些偏激了
作者:草木皆灰 回复日期: 13:18:53 差不多
作者:coolroy2000 回复日期: 14:13:38 有点偏,也有点激 不过出自没有多少工作经验硕士生之口,也是正常的
作者:intosky 回复日期: 14:36:44 说得很好。把最重要的能力表现得淋漓尽制,错别字,一时想不起来了。感谢给大众提供这么好的文章,感谢!
作者:铁火石 回复日期: 15:38:35 此言很善!
作者:xuanwu0 回复日期: 17:28:44 GOOD!
作者:郑寂寞 回复日期: 23:44:37 原来是校友DD,支持一下!
作者:网络一乞丐 回复日期: 9:20:48 震撼了我
作者:chip_yang 回复日期: 13:51:46 好贴! 但充其量也可能是个能写出性能较高代码的程序员! 要想成为管理者,领导者或者软件构架师 建议去软件学院学学项目管理和软件工程,系统工程之类的理论,当然还需要有实际的经验. 就象你说的那样,全靠自学,在软件学院你同样需要靠自学搞自己的东西,因此那不是你所胃骗钱的机构!(学费确实太贵)
作者:风声剑 回复日期: 18:02:21 软件开发只是计算机科学的一个分支吧,我觉得计算机科学归根结底是数学问题,楼住关注的还是技术而已。
作者:冬天的玻璃杯 回复日期: 19:33:24 楼主说的及是
作者:以实马力 回复日期: 19:38:31 计算机科学,研究的不是计算机,也不是科学
作者:iamhunting 回复日期: 20:43:15 受益颇深
作者:jewel007 回复日期: 22:16:26 我也正打算考计算机的研究生 不过有些迷茫! 愿与大家共同交流!
作者:自由梦想 回复日期: 12:17:18 我可能是这里的老大哥了。在计算机这个行业里,我做过很多分支。写过防病毒软件,写过DOS、WIN9X、WinNT等的设备驱动程序,写过FFT之类的东西,实现过V5协议,改造和利用DOS作为嵌入式操作系统,写过图像显示,写过声音处理等,曾经有机会写操作系统,当然更多写过信息管理系统。我要说的是: 1.楼主写的东西我大多是赞同的,对一些新人有一定的教育意义 2.计算机软件的每个分枝要到一定的高度,都需要一定的积累,并不因为管理信息系统就要比其它的简单,只不过复杂的地方不一样 3.并不只是C++优秀,每种语言都有它的优秀之处 4.从COM中悟一些对新人可能是有益的,其实其它很多地方都有这类的处理方法。并且COM也不是想像的神奇,如果不懂,也没有什么。我早期试过COM,现在不大写了。因为任何一个东西有了优点,必然有缺点。
作者:自由梦想 回复日期: 12:18:24 我可能是这里的老大哥了。在计算机这个行业里,我做过很多分支。写过防病毒软件,写过DOS、WIN9X、WinNT等的设备驱动程序,写过FFT之类的东西,实现过V5协议,改造和利用DOS作为嵌入式操作系统,写过图像显示,写过声音处理等,曾经有机会写操作系统,当然更多写过信息管理系统。我要说的是: 1.楼主写的东西我大多是赞同的,对一些新人有一定的教育意义 2.计算机软件的每个分枝要到一定的高度,都需要一定的积累,并不因为管理信息系统就要比其它的简单,只不过复杂的地方不一样 3.并不只是C++优秀,每种语言都有它的优秀之处 4.从COM中悟一些对新人可能是有益的,其实其它很多地方都有这类的处理方法。并且COM也不是想像的神奇,如果不懂,也没有什么。我早期试过COM,现在不大写了。因为任何一个东西有了优点,必然有缺点。
作者:大河之门 回复日期: 15:56:22 软件学院刚毕业的学生,楼主的观点大多是赞同的。成为什么什么样的人靠的是自己,不是什么专业。当初如果没有软件学院,我今天的机会可能会少一些,但是我一样会走上软件行业这条路。愿与大家共交流(QQ:)
作者:程定澜 回复日期: 16:17:00 好文章,顶
作者:程定澜 回复日期: 16:17:40 好文章,顶
作者:zakkzhang 回复日期: 17:27:34 所以,不要去问“研究生毕业能拿多少?”,要问“像我这种水平的人,研究生毕业能拿多少钱?”这样人家才能够准确地回答你。 Engineer::GetSalary()得月薪 系统会自动给你分配一个this指针
作者:zakkzhang 回复日期: 17:28:52 所以,不要去问“研究生毕业能拿多少?”,要问“像我这种水平的人,研究生毕业能拿多少钱?”这样人家才能够准确地回答你。 Engineer::GetSalary()得月薪 系统会自动给你分配一个this指针
作者:小猴三三 回复日期: 17:42:25 顶。。。。。。。。 我喜欢功底深厚的技术说话,我喜欢搂住这段精辟的论证
作者:zhtuan 回复日期: 19:21:22 大家怎么不关注一下软件工程???
作者:swingwang 回复日期: 22:01:36 强贴留名~!楼主才华横溢说话也谦虚,难得的是讨论问题这么热心而中肯 我是今年毕业的小本,现在在做程序员,我们软件部的技术老大是数学系毕业的,平时我很喜欢跟他讨论技术,一开始我以为他厉害是因为他的经验足(干了5年系统分析),后来才发觉那是数据分析和数论发挥的强大威力,所以现在我也在补....... 其实不管是自学还是在工作中成长,我觉得基础始终是非常重要的,甚至学理论的过程就是完善或锻炼数学逻辑的过程,如果仅仅把学习的作用定位在现在工作中用得上,那未免太短视了.
作者:天涯看客-笑 回复日期: 10:26:53 帖子强 帖主更强
作者:javaboy 回复日期: 13:12:51 多说一句吧,本来不想说的。 楼猪的话是正确的,也是我多年的经验所在。 我不知道楼主目前在做什么,但是有了这样想法的人,将来肯定回前途无量的。 希望新入行的兄弟,多看看这些内容,大家都说社会浮躁,IT的青春饭什么的,如果不想吃青春饭,就看看这片文章。 补充一下,有些地方略有偏颇,但是观点正确。。。
作者:时间的灰烬_阮 回复日期: 13:18:00 我觉得现在数学研究很重要,除非你是一个软件工人,毫无创造性!我读完本科就不读研了,是因为在中国读是读不出来,中国做学术研究太浮躁,什么都做不出来,竟想着怎么骗钱!我是做linux平台的,接触的东西比较多,也很杂,但是自己的方向没变,我先一直用c/c++,stl,特别是stl,真的很方便,c++的好在于它支持很多的编程风格,比如面向对象,泛型编程,还提供了c的底层型,但是面向对象方面最重要的就是设计模式,如果不懂设计模式的话,就不能说懂得面向对象技术!我在公司也作过底层技术,写过驱动,还有文件系统,特别是文件系统,我用c++模拟了fat32文件系统的文件操作功能(无驱动),特别是linux下支持的各种文件系统,简直就是学习语言和算法的瑰宝,如果没有好的数学基础,根本就看不懂!如ibm的jfs,用的是B+树,还有日志支持,但是没几个人看得懂,学本科的时候学了那么多的课,根本不知用来干什么,现在看了别人的代码才知道原来学的东西是有用的,但是现在都忘了,所以要不断学习和懂得学以致用!上本科时,学编译原理,我就自己写了个c语言的解释器,如果不懂离散数学是根本就写不出来的!所以数学很重要,我现在就在学高德纳的那本传世经典,又明白了好多!希望和大家多交流!
作者:忘云 回复日期: 20:52:30 请问有必要一定要学会C++吗, 我C++不懂, 主学的是VB
作者:忘云 回复日期: 20:58:15 每个语言都有自己的优点跟缺点, 看来同楼上的各位老大所说的, 楼主应该是主攻C++的, 也许在说这个问题上会有点片面吧。。 呵呵,刚才没看清楚
作者:newqdash 回复日期: 0:03:05 好贴呀,我刚回复了楼主在csdn上开的贴。顶一下这边的贴!
作者:心情燃烧 回复日期: 8:25:05 拜读. 正在努力学习中.
作者:高岗松柏 回复日期: 10:29:10 占个座,回来仔细看:)
作者:潇洒独行 回复日期: 11:13:57 偶一定不攻读研究生呵呵
作者:flywindsx 回复日期: 12:48:15 找到方向再考
作者:eqingsheng 回复日期: 14:41:27 下面是我回复CSDN网友的一篇帖子: to firespirit(火精灵): 引用 ------------------------------------- “胡说八道! 楼主自己读过研没有? 列出的所谓12条开发经验,但凡有一条的谁还去读研?早出去捞钱去了 读研的过程并不能提高你的理论水平,相反,导师无穷尽的项目和指使 会占用掉你大量自学的时间。 当年我们研究生班的同学里,一部分因为是保送了,不读白不读,一部 分人因为找不到工作,只好继续读书,一部分人为了拿个文凭,好找工 作,真正为了提高理论水平的,就算不是没有,也绝对是极少数。 毕业的时候,和同学讨论起来读研最大的好处,最终结论还是能够给你 一个硕士文凭。现在的公司,无论是招聘还是给新员工定工资,尤其是 后者,学历都是非常重要的一个指标。 如果真想提高理论,读博士去吧,先给导师做三年奴工,让他把你的价 值全部榨干,然后在协助他把实验室里师弟师妹们的可利用价值全部榨 干之后,一般的导师就会发善心,给出时间让你去研究理论问题了。等 到你为了找到一个有创新性的论题熬白了头发而最终攒出一篇毕业论文, 直到答辩后都没有被抓住抄袭的话,你的理论水平自然也就提高了。” 引用 ------------------------------------- 本来说了不回帖子的了,但见老兄的言论之后,又有了一点回帖的冲动。我只有自食其言了。 1)“楼主自己读过研没有?” 本人目前在重庆大学计算机学院读研一; 2)“但凡有一条的谁还去读研?早出去捞钱去了” 本人四年C++底层开发经验,范围涉及超大规模数据检索,设备驱动开发,计算机图形处理三个领域,所谓的12条开发经验皆是本人的工作心得;本人在文中未提及任何本人没有亲自接触过的技术。我认为,具备这点经验还谈不上什么真正的高手,掌握这点东西距离开发极品飞车之类软件的高手还差得很远很远。如果你认为这12条中的任何一条掌握了就足够了,那么可以断定,你的研究生基本上算是白读了。 3)“读研的过程并不能提高你的理论水平” 这句话显然是错的!这要看你是怎么读的了。不能因为你读了研究生就可以说这句话了。你读研在混日子并不一定代表其他人也在混日子。读研不能提高你的理论水平并不一定代表不能提高其他人的理论水平。以己度人的思想方法最容易在生活中犯错误。物以类聚,人以群分。任何人眼中看到的总是与自己类似的人最多。 4)“导师无穷尽的项目和指使会占用掉你大量自学的时间” 这只能说你遇人不淑,你的研究生我想的确是很落寞地度过的。明知道导师有自己的公司,你还去报考?这不是自投罗网么?我的导师根本就不干涉我的兴趣发展。他有他的兴趣,我有我的兴趣,咱俩部分兴趣有交集。我觉得和我的导师在一起交流是如沐春风。所以,导师选得不对,你怨不得别人。 5)“当年我们研究生班的同学里,一部分因为是保送了,不读白不读,一部分人因为找不到工作,只好继续读书,一部分人为了拿个文凭,好找工作,真正为了提高理论水平的,就算不是没有,也绝对是极少数” 这段话我倒是无条件同意。我想得我的发言在开头就说明了这个问题,不知道你是否注意到。但是,如果因为其他同学不想在理论上提高,而影响到你自己也不能在理论上有所提高,你是不是觉得你太缺乏学习上的独立性和自觉性了呢?一句话,在研究生阶段,如果你还受班上其他同学学习风气的严重影响话,这只能说明你还没有在各方面完全成熟起来。你还没有认识到长期安静独处对一个研究者的重要性。从你说话来判断,我想你应该是在没有工作经验的情况下直接读研的。而且现在刚毕业不久。所以你的这些认识和想法我认为很平常,也很自然。 6)“毕业的时候,和同学讨论起来读研最大的好处,最终结论还是能够给你一个硕士文凭。现在的公司,无论是招聘还是给新员工定工资,尤其是后者,学历都是非常重要的一个指标” 如果你读研之后的全部希望都寄托在一张纸上,盼望这张纸能使你在工资级别上高一级,这只能说是读研的悲哀,尽管这是大部分同学的心态事实,但我想,如果不说自己是研究生,找工作就没有底气的话,那么这种研究生不读也罢。把自己的全部价值粘贴在一张纸上,你不觉得这是一件特可悲的事情么? 7)“如果真想提高理论,读博士去吧,先给导师做三年奴工,让他把你的价值全部榨干,然后在协助他把实验室里师弟师妹们的可利用价值全部榨干之后,一般的导师就会发善心,给出时间让你去研究理论问题了。等到你为了找到一个有创新性的论题熬白了头发而最终攒出一篇毕业论文,直到答辩后都没有被抓住抄袭的话,你的理论水平自然也就提高了” 有的博导是这样,但还有很多博导不是这样。选导师就要选那种没有公司,专搞理论的人,这样你的个人时间就有充分的保障。我的导师就是这样。所以,你的这段话至少在我身上不成立,从我身边的情况来看,在很多老师身上也不成立。并不是每一个导师都有自己的公司。绝大多数导师还是靠工资吃饭的。所以,你不要对博士有什么嫉妒的心态,你无非是想去混一个博士文凭,但又舍不得放弃可以赚钱的机会,所以你就只好不去读,但看见别人去读博士,你又有点牙痒痒,所以,你就极尽夸张之能事,拼命贬低博士教育的价值,呵呵,这种心态不好。尽管我未必会读博士,但不管读不读博士,我都不会说所有的博士都在替导师做苦工,都在抄袭论文,好像全世界就你一个人在享福,在搞创新似的。须知,在任何社会的任何一个阶层,都有努力的和不努力的。看问题要全面。 8)另外,针对 bamboosee(鹤翔天) 提出的问题,说一句题外话,本人已经找到了心爱的MM,已经结婚。我研究生毕业正好30岁。所以,担心个人问题的同志们一定要先解决好这个大问题之后才去考虑是否读研。呵呵!有时候觉得结了婚比单身汉过得还要从容,但一定要没有小孩。越扯越远了,哈哈!
作者:eqingsheng 回复日期: 14:43:42 我在CSDN的讨论地址: http://community.csdn.net/Expert/topic/.xml?temp=.6795771
作者:eqingsheng 回复日期: 14:46:50 考研读研都只是手段,在理论功底方面获得真正的提高才是目的。如果不读研能达到同样的效果,当然可以不读研(比如你的工作本身就很清闲,比如部分公务员岗位)。毕竟读研的成本很高。
作者:woshizhf 回复日期: 16:39:29 完了,那12条经验我一样都不行。
作者:冷冷七月 回复日期: 20:57:12 除非你是女生,把能够成为一个研究生当着一生最大满足的那种女生。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~楼主有严重的性别歧视倾向!!
作者:eqingsheng 回复日期: 22:55:43 〉 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~楼主有严重的性别歧视倾向!! 〉 本人对于通过自身努力奠定在科学上的地位的女性,绝对是怀着万分尊敬的,比如居里夫人,吴大遒,道备齐(《小波十讲》的作者)。所以,我对女生的看法加了一个定语:“把能够成为一个研究生当着一生最大满足的那种”女生。不是指所有的女生。当然,“把能够成为一个研究生当着一生最大满足的那种”男生也有很多。 所以,本人绝没有什么性别歧视的故意,如果你觉得有那么一点点,那么也是我的无心之过,请您原谅!
作者:supergs 回复日期: 13:08:30 支持。。。
作者:wtflhan 回复日期: 13:48:43 强列支持!!!!!
作者:mxfhhh 回复日期: 14:33:00 考研对于我就意味着工作一段时间之后来休息一下,等休息完了之后再往前走!人生多么漫长读书还是要轻松一点的!
作者:ljshan 回复日期: 21:14:01 虽然楼主有些偏激,但本人同意大部分观点,任何专业都需要从广度(知识面)和深度(知其然而知其所以然)提高自己,浮躁的时代难得有这种“沉底”想法的人了。
作者:CPU的情人 回复日期: 19:08:21 教我们计算机图形学的系主任:浙大应用数学(bb)---浙大(ss)--香港理工大学(bs) 他还教过我们计算方法,我感觉数学转过来搞软件优势太大了,日子过的也爽,在外面接项目,还什么长江学者,国家给他独立实验室。 我喜欢他的最大原因是人比较敬业,对本科学生热情很大,告戒我们打好基础,处处鼓励我们,尽管我图形学现在都忘了。只记得有个什么“梁友栋算法”的,就是我们老师当年的导师。
作者:bbsbbt 回复日期: 23:08:32 楼主不错,现在这样的人和这样的贴都不多了。 不过火精灵的话也代表了一部分人的观点,也是一些实际情况,你倒不能说得他太过头。8:2,都有可取之处的。 所谓“三人行,必有我师。” 怎样处理数学和计算机的关系? 学数学不要成“家”------专家; 学计算不要成“机”------机器; 如此而已。 如何认识理论和实践的比例? “睡觉”理论。 有兴趣的先自己想想,天太冷,下线睡觉。
作者: 回复日期: 0:10:36 可以收藏先,有意义,我读大三,学计算机的 多谢楼主,让我学了不少东西
作者:hohowu 回复日期: 0:45:17 感慨良多, 先收藏了。
作者:sweord 回复日期: 18:24:04 明白了,有几个词说出来就能吓倒一大片 :) AI FFT B+树 COM 图形学 呵呵,说实话,研究生也就三年,入个门吧,能指望学个什么道道来啊?除非你本来是个牛人,那读不读研都是一样滴。
作者:ivsking 回复日期: 19:37:19 读研最大的好处是认识了更多优秀的诚挚的兄弟,以后大家可以互相照应,技术上也受到了熏陶。 我本科不是计算机的,读研进步不少,发现有的计算机本科毕业读硕的,居然还说我:“师兄牛人呀。”我脸直发烫。 读研不努力很怕对不起这个文凭,也给自己很大压力学更多的东西,免得到时去公司别人说:”怎么研究生就这个水平“,给我特别深的印象是研二去公司干活的时候,刚下班就马上去图书馆练功。
作者:webdelphi 回复日期: 22:52:07 谢谢,又学到了!
作者:同普居士 回复日期: 23:40:04 看了确实受益非浅啊,这里请教各位一个问题:我本科数学专业,现在在读概率统计硕士,但一直想学软件开发,以后也想在这方面发展主要是以后的就业(我还有一年半毕业),我困惑的是如果仅靠考个证书如软件设计师之类能行吗,当然还要自学大量的专业知识,好像软件公司很注重实际经验等,请各高手指点,谢谢
作者:-j- 回复日期: 8:01:52 受益匪浅, 楼主分析的是软件的研究生, 不知网络方面的研究生又应该怎么去学? 麻烦指点迷津:)
作者:jxjt_666 回复日期: 10:10:56 不错不错,但不知大虾所说的培训部(如什么北大青鸟)是骗钱的, 不知道此话怎讲,其实高手很多都是靠自学出来的,主要是有些东西你不知道学些什么,学怎么样的深度,如果学的比较广的话,你有可能在一个不太重要的地方花费大量的时间,而在重要的地方花费的时间却很少,就拿关于J2EE来说吧,你说应该怎么学呢,还有.NET,关于你把C++说的如何如何好,我也不太赞同,因为我对JAVA很感兴趣,虽说不能算非常了解,但我想那只是需要一个过程,毕竟不可能事情一下就可以全部办完的
作者:jxjt_666 回复日期: 10:17:43 就我个人观点而言,其实每种语言都有它自己的好处, 而学那种语言的人,会说他学的那种语言很好,这是很正常的, 但对其它人学的语言作一些评论,当然这也是可以的,可不能说 自己学的那种语言好,就说别人学的语言不好,可能很多人都是唯心主义,但事实胜于雄辩,最好不要把自己学的语言给吹捧的多好多好, 其实只是你学这种语言的一些不好之处还未完全展现出来,等到一定时机,该语言应到到一方面或多方面时出现出其不好之处,下一代语言就可能在不久之后诞生,
作者:driftingirl 回复日期: 11:41:37 楼主的知识面好广啊,崇拜ing,汗颜ing
作者:bilyboy 回复日期: 11:45:49 我晕啊,一堆人谈语言,语言,语言是什么,语言是工具,工具,菜刀和锄头都是工具,看你怎么用的 说什么C++牛比,你学会了C,还怕不会用C++?? 看看什么样的人才叫牛吧,别人仅仅因为想设计一个游戏玩,就自己没事开发出了C
作者:落芙蓉 回复日期: 13:50:08 汗颜!计算机学院呆了4年,一事无成! 感觉学院只是给你提供了一个场所和机会,如何做,会如何全看自己了~~
作者:独孤小飞 回复日期: 14:23:07 值得一读
作者:galileo80 回复日期: 17:41:16 楼主的文章很有深度!
作者:骋风99 回复日期: 20:21:50 看高手过招,过瘾。我只能这么说了。
作者:红螺 回复日期: 17:04:25 读了好几遍!!
作者:ccna 回复日期: 17:24:05 管理信息系统一样需要创造,也可以月薪2w
作者:Dongle 回复日期: 19:05:17 哎,又受打击了。 我是一个极其愿意在IT,特别是软件开发上有所作为的人,听了楼主的话,真想再读个4年来弥补自己的无知!真没有勇气去找工作了。
作者:淫炸鸡 回复日期: 20:33:51 看了你们的文章我真的是茅塞顿开阿,但是我还是要读研
作者:葡萄胶囊 回复日期: 20:45:32 看了楼主的话,估计楼主现在在读博士,赫赫
作者:hxq419 回复日期: 21:57:57 谢谢楼主! 受益非浅!
作者:hailang0306 回复日期: 13:17:18 深刻,但不怎么顺耳。
作者:红胜火 回复日期: 18:02:26 啥也别说了,我去退学!
作者:heyunqi 回复日期: 19:12:32 所谓“有实际开发工作经验”是指你目前已经具备下列能力:1)你已经认为C++和汇编语言都是很简单的语言,并能够自如地运用;2)你能够在30分钟之内想到正确的五子棋AI算法设计思路和方向;3)你完全理解STL为什么这么重要;4)你能够独立地解决所有的编译与链接问题,哪怕你从来没有遇到的问题,你也不需要询问任何人;5)英文网站是你的首要信息来源;6)能够读懂英语写成的国际标准,比如NTFS磁盘格式标准。7)你经常站在集合论的角度思考算法问题;8)能够理解一个简单的驱动程序,能够理解一个简单3D交互程序;9)你能够认识到线性代数和概率论在实际编程工作中的极端重要性;10)你完全理解COM的设计思想,尤其能够理解COM为什么要设计成这样;11)当我说到虚函数的重要作用时,你不会急着去找书来翻;12)你能够说出C++为什么比其他语言优秀的理由,记住这种理由应该来自于你的开发体会,而不是因为其他人都这么说。此外还有很多判断标准,但如果你同时具备5条以上,可以认为你已经具备相应的开发经验了。在这种状态下读研,你将取得读研效益的最大值。 楼主怎么一直在说C++呢,不懂C++就没实际开发经验吗???楼主说的这么多,我只具备半条8)能够理解一个简单的驱动程序,但我不认为我就没实际开发经验,楼主对计算机的认识太片面了。我相信楼主对系统结构,操作系统,网络等等东西肯定都属于半瓶水。真正懂计算机不是去看你会多少门语言了,对语言有多精通了,而是看你是否知道计算机最基础的一些原理。 楼主能解释一下,我在键盘上输入“我”这个字时,它是经过了哪些过程才显示到屏幕上的吗?如果这都不知道,那你计算机的水平就属于不及格! 你也就没必要再这大谈特谈什么计算机了。
作者:橘子罐头 回复日期: 19:16:03 ai
作者:木子羊羽 回复日期: 19:35:32 好文
作者:理论联系实际 回复日期: 19:57:09 真的说的不错,楼主现在多大了,我现在都24了,是学习师范类数学的。可是我想转行做计算机,一个是自己从小爱好,一个是自己不喜欢师范,可是现在很流行说程序员顶多到30就是尽头了,怎么半?楼主能给点提示吗?我不想虚度青春啊。
作者:sunny516 回复日期: 23:56:16 就我自己的理解,谈谈我对读研和软件学院的看法,不妥之处一笑了之即可。 如果你有实际开发工作经验,感觉自己的水平和实力进入了一个高原期,迫切需要从理论上提高,那么计算机学院是唯一选择。因为计算机学院才能让你在理论上更上一层楼。软件学院从教学计划上就没有把你往这方面带。当然能不能更上一层楼最终还是完全取决于你自己。需要特别说明的是,工作经验并不一定等于开发经验,我见过很多工作2-3年的人,但是没有一点开发经验。 你说:“他们都有很强的开发能力,只是不太喜欢读书,也只是希望混个学历对今后在岗位上晋升有好处”,我可以向你保证,你所说的人绝对不是开发能力很强的人。因为,1)高手不可能不喜欢读书;2)高手不可能想去混一个学历;3)高手不可能认为晋升是因为学历的原因。 还需要说明的是,考计算机的人未必个个都是高手,严格来说,大部分都不会编程序。也就是说,庸庸碌碌之辈仍然占绝大多数。研究生毕业的师兄只拿2500元左右的比比皆是,所以不要寄希望于拿一张研究生文凭出去赚高薪。但是,对于有实际开发工作经验的人,要想自己在3年之中有一个真正的提高的话,计算机学院提供了广阔的平台。就我所知,每一个月拿2万以上的也有(上海育碧,图形特效算法设计)。所以,同为研究生毕业,能力的差距是极大的。所以,不要去问“研究生毕业能拿多少?”,要问“像我这种水平的人,研究生毕业能拿多少钱?”这样人家才能够准确地回答你。 所谓“有实际开发工作经验”是指你目前已经具备下列能力:1)你已经认为C++和汇编语言都是很简单的语言,并能够自如地运用;2)你能够在30分钟之内想到正确的五子棋AI算法设计思路和方向;3)你完全理解STL为什么这么重要;4)你能够独立地解决所有的编译与链接问题,哪怕你从来没有遇到的问题,你也不需要询问任何人;5)英文网站是你的首要信息来源;6)能够读懂英语写成的国际标准,比如NTFS磁盘格式标准。7)你经常站在集合论的角度思考算法问题;8)能够理解一个简单的驱动程序,能够理解一个简单3D交互程序;9)你能够认识到线性代数和概率论在实际编程工作中的极端重要性;10)你完全理解COM的设计思想,尤其能够理解COM为什么要设计成这样;11)当我说到虚函数的重要作用时,你不会急着去找书来翻;12)你能够说出C++为什么比其他语言优秀的理由,记住这种理由应该来自于你的开发体会,而不是因为其他人都这么说。此外还有很多判断标准,但如果你同时具备5条以上,可以认为你已经具备相应的开发经验了。在这种状态下读研,你将取得读研效益的最大值。 读研最重要的是要明白你自己要干什么,不能等导师来告诉你你应该干什么。研究生的优势在于理论功底深厚,思维具有穿透力,当然编程能力首先要过关,不要读完研究生还不知道MFC程序的WinMain函数在哪里。所以,研究生期间,你一定要做有理论深度的算法设计,比如大规模数据的搜索算法,性能是首要考虑因素,不要奢望SQL函数能够帮你解决问题,所有的问题你都必须自己解决,你必须解决内外存交换的性能瓶颈。再比如极品飞车的3D场景生成,图形变换,碰撞检测,物性模拟,纹理映射,灯光模型等等,这些都是可以保证你能拿到2万以上月薪的技术。如果你认为这些东西太难,不可能做得出来的话,那么你就不适合读研。真的,要是你认为读研之后还是要去搞一般的程序设计,如信息管理系统之类的软件,那么你读研的价值就完全不会得到体现,因为这些工作根本就不需要读研。 软件学院宣称培养软件开发人才,恕我直言,我从来没有看见那个高手是培训成功的。成为软件开发高手的路只有一条:自学!软件开发中需要大量的编程实践和独立思考,只有在此过程中,你才能够逐步成长起来。软件学院宣称培养软件项目经理,这更是搞笑,在某种意义上这是欺骗行为。学院里面能够培养出软件开发经理更是十足的谎言,软件项目经理必须,或者说更强调从战争中学会战争。没有实践经验的项目经理就是绣花枕头一个。 实话实说,软件学院就是一个蒙钱的机构,公关工作做得很好,善于打广告,而且都是打着高薪的幌子,就如同外面的什么北大青鸟培训班一样。两个字:蒙钱!四个字:还是蒙钱! 总之一句话,如果你只想成为软件开发高手(比如认为会编驱动程序或杀毒软件就是高手的那种),建议工作,不要考研;完全没有工作经验的,也不建议考研,你进来了只有瞎混一通。如果你有上述工作经验且想成为高级软件工程师(能够独立理解并设计出快速傅立叶变换算法的那种软件工程师)的话,那么强烈建议考研。考研让你有3年放松思考的机会,也有3年让你思想和技术积累沉淀的机会。非常难得的机会。不考研的话,这种机会就是一种奢侈,可望而不可即的那么一种奢侈。 所以,不管你是哪一种情况,都不建议考软件学院。除非你是女生,把能够成为一个研究生当着一生最大满足的那种女生。 1)关于读书的机会成本问题。读研的机会成本的确是很高。任何人都可以简单地计算出来。所以,我也不赞成所有的人都去读研。读研只适合那些痛感数学在编程中的极端重要性的人。如果对理论工具和理论思维的极端重要性没有切肤的认识,那么读研的价值几乎为0;读研的好处在于:A,把你自己放在一个学术和工程的交叉点上;B,让你具备了进入微软等世界顶级软件研发机构的可能性;记住只是可能性。但是不读研这种可能性为0;C,如前所述,如果没有读研的机会,你也就没有静下心来好好钻研几年理论的机会;一边工作拿高薪,一边深入地学习各种理论,诸位认为这可能吗?我反正认为不可能,我觉得学习钻研理论最需要的就是一个长期安静独处的环境,一边工作一边读书是不可能有这样的环境的,你会觉得每天都在疲于奔命。而读研正好可以提供这样一个环境。我同时还反对整天跟着导师的屁股后面跑,这样会浪费很多时间。读计算机的研究生,主要依靠自己去查阅最新文献,自己去研读文献,和导师的口头交流一个月一次就足够了,前提还需要导师的水平足够牛。如果导师的水平不牛,这也没关系,不理他就是了,自己做好自己的事情即可。 2)关于研究生教学质量问题。坦白地说,全国都是“洪桐县中无好人”,尤其在计算科学领域,大牛极少。那为什么还要去读研?大哉问!把读研的收获寄托在名校或名师的名我认为气上,是注定要失败的。读研全靠自学,研究生之间的差距全部体现在自学能力上面。又有人问,既然是自学,为什么非要读研?回答是:因为读研就是为你买一份保险,就是买一份你自学三年之后不会失业的保险。这份保险主要是一种心理上的后盾,让你在自学过程中经得起诱惑,能够从容镇定地去追寻计算机理论发展的坚实足迹,从欧拉,费马,高斯,康托,图灵等巨匠那里寻找方法论的珠宝。倘若没有这份保证,你在家里面自学3个月,保证你会被失业的压力压得喘不过气来,何谈安心学习? 3)关于实战经验与理论学习的优劣问题。这没有定论,如前所述,管理信息系统,设备驱动开发,工具软件开发,软件病毒剖析等等这些工作不太需要创造性,需要的是耐心和经验,需要的是对既有规范的准确理解,这类开发工作最适合在实战中提高,理论学习没什么作用。但是在人工智能,模式识别,图像压缩,虚拟现实,巨量数据检索,自然语言理解,计算机图形学等等领域,理论学习就占据着绝对的统治地位!这些领域的突破对人类的生活的影响是极其巨大而深刻的。某些领域处于一个极其快速发展的态势之中,比如计算机图形学,相信诸君能够从众多3D游戏的灿烂辉煌中体认到我的这种说法。在这些领域,如果没有扎实的理论功底,一切都是那么遥远,不管你花了多少时间在编程上面。 4)关于高级研发人员的知识结构问题。首先声明,我不是一个纯粹理论激进分子,即认为除了理论之外,一切都不重要。我认为,纯熟的编程技能是最基本但也是最必不可少的技能。没有这个基础,一切计算机理论就是空谈(研究图灵可计算性理论的研究者除外)。有了这个基础之后,下列理论学习方向必须重点突破: 1,科学哲学。这是核心中的核心!可惜国内不开这门课。不但不开课,而且还作为批判对象来引用,实在是遗憾至极!这是一门教你如何“钓鱼”的学科,在一切科学研究中居于最核心的地位。它是古今科研方法和思维方法的集大成者,很难想象一个成熟的研究者没有一套自己的方法论体系。科学哲学最需要的是领会与总结,它的思想与启示会伴随我们的一生。 2,康托集合论,矩阵方法,离散结构,图论方法,群论方法之间的紧密关系。最重要的认识这些理论对实践的重要启示和方法引导。我始终认为,如果你学了一门理论之后,却不知道这门理论有什么作用,那么你的理论就白学了,你什么东西都没有捞着。所以,学习任何理论之前,先问自己:它有什么用?在哪里用?如何用?带着这些问题去学习理论,你才会真正地学到东西。用这三个问题去问你的理论课老师,他的回答就是判断其实际水平的最佳标准。 3,思维要有极强的穿透力,学会看透文献作者没有写出来的动机。绝大部分大师都有隐瞒自己最具有方法论启示意义的思考环节的习惯。牛顿和华罗庚先生都有这个坏习惯。这让大家认为他们是天才,因为很多问题他想到了,我们想不到。但是为什么他们能想到,我们想不到?他们是怎样想到的?没有人告诉我们牛顿发现万有引力定律时的思考过程,当然,牛顿可以慷慨地把他的思考结果告诉我们,但是,他那可以点石成金的“金手指”却没有教给我们。我们的任务就是要培养透过文章看穿作者背后意图和动机的能力,在这方面,台湾的侯捷和美国的Donbox是绝佳典范。这两只老狐狸(呵呵,是爱称)凭着其猎犬一般的嗅觉,抽丝剥茧,一个把COM背后的幕后设计动机揭开并暴露到了光天化日之下,另一个把MFC的宏观架构做了一次完美的外科手术。其非凡的思维穿透力令人惊叹。 4,英语。英语本身不重要,但是用英语写成的文献就极其重要了。所以,专门把英语作为一个重头戏列出来。大家不要相信英语无用论的鬼话。对于搞计算机的而言,英语就是你的母语! 5,其它的具体理论还有很多,但是都不如这三个方面重要,因为我觉得这三个方面是最具有根本性,全局性的能力培养环节。需要指出的是,很多高深理论对你的工作是无意义的,当心时间陷进去。一定要把效率最高的时间段用在最具有决定性意义的理论学习上。 5)关于读研之后的出路是否光明的问题。我们应该承认,读研之后,你的工作机会不是变多了,而是变少了。而且越是高手,他的工作机会和工作范围就越少。这是因为,越是搞前沿研发的公司,其数量越少,在这个圈子的人也就越少。你找工作的范围就越小,试问:如果微软的OS设计专家出来找工作,能够让他选择的公司能有几家?但是,这种公司数量的减少是以工资待遇的急剧上升为补偿的,同时,你在工作中所受到的充分尊重也是在一般公司中体会不到的。所以不要担心学了高科技用不上,呵呵,你只会越来越感觉自己学的不够用。相信接到过猎头公司电话的人会体会得到。真正的高手从来就不会担心工作的问题,也从来不会到人才市场上去找工作。既然选择了理论深入,那么就应该把眼光放得更远。
作者:qq 回复日期: 5:14:48 我一个学计算机的连考数学研究生的心都有
作者:perfect200420 回复日期: 9:35:32 怕怕~~~
作者:美照亮我的路 回复日期: 17:20:25 to heyunqi: 我看你说话的水平与楼主相比不知道相差好几个层次。建议你先多啃两本书,多敲几行代码之后再出来装SB吧!难道浏览本帖的这么多人都是傻瓜,只有你是高手?我看你是自作聪明罢了!网络上真正的高手文章之所以这么稀少就是因为像你这样的SB太多了! --〉 楼主怎么一直在说C++呢,不懂C++就没实际开发经验吗???楼主说的这么多,我只具备半条8)能够理解一个简单的驱动程序,但我不认为我就没实际开发经验,楼主对计算机的认识太片面了。我相信楼主对系统结构,操作系统,网络等等东西肯定都属于半瓶水。 --〉 楼主谈了C++,但绝不是仅仅停留在C++上面。更多的是对方法的思考和总结。不管你从事什么工作,都是有用的。你说楼主对系统结构,操作系统,网络等等东西肯定都属于半瓶水,难道你对这些东西就是“精英”?“高手”?“牛人”?楼主在这些方面的知识和经验可能属于半瓶水完全正常,因为楼主的专业可能不是在这些领域。试问世界上有几个人能称得上是满瓶水?要是楼主在这里鼓吹他样样精通,我必定认为其自不量力,但楼主只谈了他自己所涉及的几个领域,这些文字如果不是抄袭别人的原话,就一定是来自于实际经验的总结,编造是编不出来的。况且楼主根本就没说他在这些方面是什么高手。所以强烈鄙视你这种无端攻击楼主的行为! --〉 真正懂计算机不是去看你会多少门语言了,对语言有多精通了,而是看你是否知道计算机最基础的一些原理。 --〉 楼主强调了他懂很多种语言吗?他说他只懂C++。我看你才是真正意义上的半瓶水在这里晃荡。真正的高手一般来说都只会深入钻研某一两门语言,不会去广种薄收,什么语言都去学。因为没有必要。楼主要是什么语言都能谈个子丑寅卯出来,那么楼主一定是个骗子。但楼主只谈了C++,而且谈的东西绝不是停留在语法表层或语言本身,而是以C++作为一个语言载体来传达某种软件设计哲学。本人有8年的C/C++/ASM/DDK开发经验,我认为楼主的话的确是N年磨一剑(N & 5)的经验之谈。绝非时下坊间黄口小儿的胡扯之言可以相比拟! --〉 楼主能解释一下,我在键盘上输入“我”这个字时,它是经过了哪些过程才显示到屏幕上的吗?如果这都不知道,那你计算机的水平就属于不及格! 你也就没必要再这大谈特谈什么计算机了}