回复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设计专家出来找工作,能够让他选择的公司能有几家?但是,这种公司数量的减少是以工资待遇的急剧上升为补偿的,同时,你在工作中所受到的充分尊重也是在一般公司中体会不到的。所以不要担心学了高科技用不上,呵呵,你只会越来越感觉自己学的不够用。相信接到过猎头公司电话的人会体会得到。真正的高手从来就不会担心工作的问题,也从来不会到人才市场上去找工作。既然选择了理论深入,那么就应该把眼光放得更远。
感觉上每天都是虚掷青春..
永远看不到前路的方向
狂顶!
------------------------
作者:f00 回复日期:2004-12-19 23:00:52
这篇文章应该出自一个搞软件理论方向的人
很多的人,
很多的中国人,
很多的中国IT人,
认为自己已经足够牛了,
或是只差那么一点点经验了,
反正书是不需要再怎么去读了。
还是要强调一点,教学质量----如果你的导师是一个要以你创汇为目的的导师,只能说那几年基本上你就要双重浪费了。
还有别把那些研究院看的太重,应该说那里是人精扎堆的地方,但是应该说大部分(我有点主观)都仅仅是混口饭吃而已,呵呵。
我认为,上述三点,不是计算机专业学生的劣势,而是优势。因为只有计算机专业的学生才能够做到在上述三个方面同时具备足够的知识,而解决现实问题恰恰需要同时具备这三方面的知识,不用太多,也不能太少。这也是计算机人才的相对待遇为什么最好的根本原因。
我认为,上述三点,不是计算机专业学生的劣势,而是优势。因为只有计算机专业的学生才能够做到在上述三个方面同时具备足够的知识,而解决现实问题恰恰需要同时具备这三方面的知识,不用太多,也不能太少。这也是计算机人才的相对待遇为什么最好的根本原因。
------------------------------------------------------------
大哥这话说错了,人家搞通信得待遇比你好多了
君不见,每年到软件学院读的都是考计算机学院没考上的,
考200多分,调剂过去的,每年的学费数万元。
法硕也是,现在的法学硕士都难就业,更别提
法律硕士了,连导师都没有,
还不如法学的本科生。
学费高的不得了。
感觉是浙江大学搞图形图象处理的。
>
我是重庆大学的,浙江大学,行不能至,心向往之。
c++,我以为是将被取代的语言。
研究生教育,多数是骗人,我看里面竟然有教java编程的
j2ee的。我觉得上研究生,起码在数学能力上有突破,这些
编程语言算什么,可是普遍的情况是数学类课少,计算机科学
从本质说是,数学的一个分支。
我觉得做这个方向毕业后最好还是在学术圈里混,别去工业界,在高校里做出来成果之后找公司搞技术转让赚钱,吼吼
郑重声明:本文献给那些对计算机科学有着宗教一般狂热爱恋的人们。本文的观点并非适用于所有的程序员。
另外关于C++是否比其他语言更优秀,不能说C++所有地方都优秀,而是说C++在哪些方面比其他语言更优秀,这没错吧?总有许多优秀的地方吧?
我说过,我不是一个纯粹理论激进分子。这些都是作为一个优秀程序员所必须具备的素养(In my opinion)。这并不是一个计算机理论科学家的要求,而是一个实战程序员的要求。要做一个有创造力的程序员,你们说缺少这些知识行吗?不能老是Copy别人的代码来改一改就算编程吧?我列举的都是最有普遍性的东西,最有价值的东西,我并没有列举具体的知识分支,比如形式语言与自动机,机器视觉,模式识别等等具体学科,具体学科不一定每个人都去学,去研究,但是方法论的东西确实值得我们每一个人去重视,诸君认为我列举的三个方面不对任何一个程序员都有重要作用吗?
所以,我觉得楼主所言极是!一些小纰漏算是瑕不掩玉了。
楼主还说:
---------
一边工作拿高薪,一边深入地学习各种理论,诸位认为这可能吗?我反正认为不可能,我觉得学习钻研理论最需要的就是一个长期安静独处的环境,一边工作一边读书是不可能有这样的环境的,你会觉得每天都在疲于奔命。
-------------------------------------
嘿嘿, 俺现在就是这样,确实是奔命:) 可是没办法,俺生活的压力太大,把握机会好好加油!
不然 就是你知道了
,科学哲学。
2,康托集合论,矩阵方法,离散结构,图论方法,群论方法之间的紧密关系。最重要的认识这些理论对实践的重要启示和方法引导。
3,思维要有极强的穿透力,学会看透文献作者没有写出来的动机。
但是在国内会有哪个公司请你
另外软件里面的纯理论很少 应用软件基本上不用知道什么付立叶变换
也不用说一定要知道离散数学
除非你是专门设计算法的 如h323等协议的算法
---------------------------------------------
这个问题,我想了几年都没想通,想不到在这里找到答案了!
不过,不知者不为怪。
不过是直接下载国外的源码 进行简化来的
要说完全从头开始研发的 在国内不会有几家
当你使用STL的各种容器时,没有离散数学的观点,你能够用好么?
我使用的时候从来不考虑离散 以前离散的知识早就忘记了
而不在对某个算法进行编写
到51或是其它人才网上找找看 对需要的人掌握什么样的能力
先用fft查找 然后再查找 协议 看有多少区别
市场是最大的动力
个人看法 不做争论
念研究生的时候我和楼主的看法一样,工作以后,才发现实际情况未必如此,用STL的时候考虑离散数学?呵呵,这个先不去说它,我是真见过一帮人没看过一篇OCR的论文就做出了商用OCR产品的,而且还卖出去了,这可不是哪个三五人的小公司做的事,是国内软件产值排名前十的公司!
这些都是技能,能够保证你有口饭吃! 楼主的眼光只是瞄准了整个IT里面计算机里面windows里面的一个很小的分支上,没有宏观的战略!
其实研究生这些技能是靠自学,但是研究生培养的是一种思维是一种学习方法,是一种系统观,是一种从更高的层次看待问题、看待系统!
里面有一些观点,我不是很赞同
我不觉得c++有哪儿优秀 或者说比哪种语言更优秀!
其实我觉得语言就是工具,是用来交流的,你说一把锄头和枪那个好
其实它们谁都不比谁好,锄头锄地好,枪嘛打猎好,它们各自有各自的应用背景,不要觉得这个世界上就有c++了
如果你只能汇编 精通汇编 10000$/月的钱等着你去拿
但是你用锄头挖宝藏发财 难道你要用枪挖?!
工具唯有熟练不熟练而已,在哪个地方“挖” 在哪个地方打猎 这些才是最重要的!
这些都是技能,能够保证你有口饭吃! 楼主的眼光只是瞄准了整个IT里面计算机里面windows里面的一个很小的分支上,没有宏观的战略!
其实研究生这些技能是靠自学,但是研究生培养的是一种思维是一种学习方法,是一种系统观,是一种从更高的层次看待问题、看待系统!
里面有一些观点,我不是很赞同
我不觉得c++有哪儿优秀 或者说比哪种语言更优秀!
其实我觉得语言就是工具,是用来交流的,你说一把锄头和枪那个好
其实它们谁都不比谁好,锄头锄地好,枪嘛打猎好,它们各自有各自的应用背景,不要觉得这个世界上就有c++了
如果你只能汇编 精通汇编 10000$/月的钱等着你去拿
>
呵呵,我说的就是你要具备这些技能。我并没有说这些技能掌握了就很厉害,而是说这只是一个基础。文中应该阐述明白了地吧?
呵呵,本人认为,不管是什么平台,你都必须选择一个平台。不能认为选择了Windows平台就没有系统大局观了吧?这个推断略显勉强。我认为Windows平台能够解决我的问题。我从来都不认为会用Unix的人一定比会用Windows的厉害。
你不觉得C++优秀那是因为你不熟悉C++。C++的优秀不是那个人说出来的,而是千百万人在用它锻造具有工业应用强度的系统软件和应用软件。而且其设计思想是一切从实际出发,不唯书,不唯OOP,只唯有效地解决实际问题。建议阅读《C++的设计与演化》一书。你会对C++有新的认识。
C++的确是工具。所以我要强调要首先会使用工具。
如果你只能汇编 精通汇编 10000$/月的钱等着你去拿
>
这句话有臆断的嫌疑。没有证据支持“10000$/月的钱等着你去拿”。
我强调C++的重要作用的同时并没有否定其他语言的重要性。有自有各自的应用领域。关于这个问题网络上已经讨论得够充分了,所以没有必要再在语言本身的优劣问题上纠缠。OK?
虽然老师不一定能教你什么,但我觉得很多都是自己决定的
现在我觉得工作之后的人继续考研的想法是那么的迫切~~
我也会更加了解我以后努力的方向
本科生还是知识缺乏,不成体系,甚至是为了在同样一份工作中不再受歧视~~(本科和研究的待遇差n多),我希望我可以考研
但我现在没有时间了~~~辞职再考代价太高了。
本人在外资软件公司干了四年。可以说离散数学就是计算机算法设计领域里的哲学。没有正确的设计哲学,我认为是不能够有效地解决复杂问题的。STL的设计基础就是集合论,STL和离散数学的派生关系难道这还需要怀疑么?
如果我们没有掌握“抽象”这个最强大的思维工具,那么,我们就不可能驾驭庞大的自然或人工系统!而哲学和离散数学(我一直认为数学其实应该属于哲学门类,至少应该是应用哲学)为我们提供了最普遍、最一般的抽象思维工具。比如:任何程序设计语言都可以看成是一台可以抽象执行的机器;STL的容器都是集合;STL容器中的元素都是集合中的元素,容器元素之间的序关系、映射关系、运算关系几乎完全和近世代数中的二元关系相对应;赋予了关系的集合就构成了空间,而抽象代数的重要分支泛函分析对各类空间的性质作了大量的研究,不仅很多赋范方法和结论直接可以用,更重要的是这些赋范方法和结论为我们的思考带来了更多的启发,而这种启发就是思维具有穿透力的关键。更不消说树结构和图结构与离散数学的关系具有直接的映射关系。所以认为离散数学和STL毫无关系的观点是站不住脚的。认为不懂离散数学也可以使用好STL更是不对的。掌握了并能够熟练地使用离散数学的观点来指导实践,你才不会在问题面前一筹莫展,你才会觉得思路特别多,不会在某一个问题上钻进牛角尖。这就是抽象化看问题的好处。当然,会用STL并不难,难就难在要把它用好,要让各种容器的副作用降低到最少,性能达到最佳,这就不容易了。建议读一读《Effective STL》这本书,对于有效地使用STL很有帮助。
不过我仍然感激她,因为当年我以近390分被计算机学院录取,由于工作单位不放档案,所以就没上成,而软件学院不管这些,所以我就去了软件学院。
找工作的时候,用人单位并不在意你是计算机还是软件
我很同意楼主的看法,我工作时间不长,在一个网站做后台开发,做了四个月下来感觉就是一个混饭的地方,决定辞职,现在感到基础和理论是重中之重,是“道”之所在。大多数人都可以在一个领域达到一定的高度,但是如果不能用数学的思想去支配自己编程,最多就是软件蓝领,并不是真正意义上的程序员。
我很赞同“郑重声明:本文献给那些对计算机科学有着宗教一般狂热爱恋的人们。本文的观点并非适用于所有的程序员。”
因为大部分编程人员都是为了生活而不是为了理想,这并没有错,金钱的社会搞得大家都很浮躁,什么技术来钱快就学什么技术,只是注重眼前的利益,对基础的研究可以说是少之又少。
已经决定辞职沉一段时间,一是学习基础还有就是学习英语,这也是一个优秀程序员所必需具有的素质,我不会去考研,但我已经清楚地认识到该学什么。
很希望能和楼主多交流,希望留下email,谢谢
---谭浩强
Just do it!
支持你的想法!
留个Mail呀,以后还得多多请教呢!
我的大学一塌糊涂,幸亏醒悟的还不晚,楼主这么强怎么没有考虑去美国上研究生呢,我觉得你的实力足够了 ~~~
发达国家的计算机教育
我前段时间在 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=
中国的教育其实存在很大问题,这样下去我们的计算机科学是没有办法发展的,只是简单的堆砌程序,而不是去创造程序。
说来说去就是C++
也许你的领域用的就是C++ 当然C++ 是非常优秀的! 这只是在特定的背景下!
我不是没有用过C++,也了解知道一些C++,看过一些STL 就是houjie那个家伙的书 还有一些e文 厚的比砖头还厚
不过呐 还是那句话 在不同的背景下 用不同的语言,我不太相信内核可以用c++写 bios可以用C++写,RTOS可以用C++写等等
精通汇编可以拿10000$ 的地方就是bios~ 能够写出来bios的公司不是很多的 原来有三个 后来一个把另一个吞并了 剩下两个~
一个侧重于台式机 一个侧重于笔记本
数学是学好计算机最重要的基石!如果没有体会到数学,那可以从侧面说明你还不够水平吧~~~~~~我就没有体会到,呵呵
我不是学计算机的,我本科、硕士都是学通信的,但是硕士期间对计算机看过有几十本,大部分都是e文,·····不是显示我看了多少书,就是说明我还可以对计算机发表一下个人的看法
学东西有两种,第一种是振幅大带宽窄,另一种是带宽大幅度小
能两者兼而有之的人才是牛人
我们嘛都是些牛毛而已
真正厉害得人是这样发展的 软件-》嵌入式RTOS-》硬件
或者 硬件-》嵌入式RTOS-》软件
对于我们学生学习来说,unix、linux要比windows好些,因为它们的源代码可以看的到,对于编程来说,没有比读内核源代码更好的事情了,这些代码都是天才写的艺术品!
windows也是优秀的,但是我们学习应该往“下”学习,不应该天天纠缠于应用层程序! 应该向下学习!
不过,软件学院大概可以学习一些软件工程方法或者说项目管理方面的知识,这也是挺重要的一个方面。
毕业以后,工作一段时间,会发现现在的目光盯的太短了
不过我们当年也是这么讨论着过来的
收藏了先。只可惜我现在研究生都快毕业了,早几年看到就好了:(
ps:我常常潜水的,很少回复,今天为了回复特意登陆的
真正厉害得人是这样发展的 软件-》嵌入式RTOS-》硬件
或者 硬件-》嵌入式RTOS-》软件
对于我们学生学习来说,unix、linux要比windows好些,因为它们的源代码可以看的到,对于编程来说,没有比读内核源代码更好的事情了,这些代码都是天才写的艺术品!
>
呵呵,不是每一个人都要去开发操作系统。你说的这些东西都是很具体的东西,绝大部分高级软件工程师都不了解你说的这些,绝大部分都没有读过什么UNIX内核源代码。有这个必要么?比如我搞3D图形,你说我去研读UNIX内核源代码,能够为我带来什么。知识是学不完的,必须把重点放在思想方法和你的专业领域内。什么都懂的人必然什么都不懂。这也是我在文章中很少谈到具体知识的原因,因为每个人的工作领域不一样。
至于说每一个厉害的人都要搞嵌入式RTOS,意思就是不搞嵌入式RTOS就肯定不厉害了,这样的论断成立么?诸位会同意么?
楼主视野较窄,经验较薄
毕业以后,工作一段时间,会发现现在的目光盯的太短了
不过我们当年也是这么讨论着过来的
〉
恭听指教,愿闻其祥。
windows也是优秀的,但是我们学习应该往“下”学习,不应该天天纠缠于应用层程序! 应该向下学习!
〉
to zeus_zllz:
你说的向下,我的理解应该是靠近内核就叫“更下层”吧?也就是说搞设备驱动程序就比搞3D图形更下层吧。我的理解没错吧?如果留心的话,你可以看出来,我之前有过两年的时间是在做设备驱动程序的,主要是Windows内核文件系统那一块。我一点都不觉得DDK,IFS这些玩意比3D图形编程更困难,恰恰相反,要简单得多。全部都是某一个厂家或国际标准化组织如ECMA,ANSI,ISO制定好协议,你的任务就是准确地理解这些协议,个人的创造性发挥是绝对不允许的,能够和协议保持高度一致是你的最高追求!而计算机图形学则完全不一样,大量的工作需要开发者的创造性劳动才能解决问题,其难度绝对不是和设备驱动程序开发在同一个数量级!计算机3D图形恰恰就是你说的应用层,呵呵,难道我们不应该"纠缠"于这样的应用层么?
不过出自没有多少工作经验硕士生之口,也是正常的
但充其量也可能是个能写出性能较高代码的程序员!
要想成为管理者,领导者或者软件构架师 建议去软件学院学学项目管理和软件工程,系统工程之类的理论,当然还需要有实际的经验.
就象你说的那样,全靠自学,在软件学院你同样需要靠自学搞自己的东西,因此那不是你所胃骗钱的机构!(学费确实太贵)
不过有些迷茫!
愿与大家共同交流!
1.楼主写的东西我大多是赞同的,对一些新人有一定的教育意义
2.计算机软件的每个分枝要到一定的高度,都需要一定的积累,并不因为管理信息系统就要比其它的简单,只不过复杂的地方不一样
3.并不只是C++优秀,每种语言都有它的优秀之处
4.从COM中悟一些对新人可能是有益的,其实其它很多地方都有这类的处理方法。并且COM也不是想像的神奇,如果不懂,也没有什么。我早期试过COM,现在不大写了。因为任何一个东西有了优点,必然有缺点。
1.楼主写的东西我大多是赞同的,对一些新人有一定的教育意义
2.计算机软件的每个分枝要到一定的高度,都需要一定的积累,并不因为管理信息系统就要比其它的简单,只不过复杂的地方不一样
3.并不只是C++优秀,每种语言都有它的优秀之处
4.从COM中悟一些对新人可能是有益的,其实其它很多地方都有这类的处理方法。并且COM也不是想像的神奇,如果不懂,也没有什么。我早期试过COM,现在不大写了。因为任何一个东西有了优点,必然有缺点。
Engineer::GetSalary()得月薪
系统会自动给你分配一个this指针
Engineer::GetSalary()得月薪
系统会自动给你分配一个this指针
我喜欢功底深厚的技术说话,我喜欢搂住这段精辟的论证
我是今年毕业的小本,现在在做程序员,我们软件部的技术老大是数学系毕业的,平时我很喜欢跟他讨论技术,一开始我以为他厉害是因为他的经验足(干了5年系统分析),后来才发觉那是数据分析和数论发挥的强大威力,所以现在我也在补.......
其实不管是自学还是在工作中成长,我觉得基础始终是非常重要的,甚至学理论的过程就是完善或锻炼数学逻辑的过程,如果仅仅把学习的作用定位在现在工作中用得上,那未免太短视了.
帖主更强
楼猪的话是正确的,也是我多年的经验所在。
我不知道楼主目前在做什么,但是有了这样想法的人,将来肯定回前途无量的。
希望新入行的兄弟,多看看这些内容,大家都说社会浮躁,IT的青春饭什么的,如果不想吃青春饭,就看看这片文章。
补充一下,有些地方略有偏颇,但是观点正确。。。
我C++不懂,
主学的是VB
看来同楼上的各位老大所说的,
楼主应该是主攻C++的,
也许在说这个问题上会有点片面吧。。
呵呵,刚才没看清楚
评论