用人单位给计算机系学生的一封信(超长评论版)

用人单位给计算机系学生的一封信(超长评论版)

今天上午又去招聘了,加上前面一段时间的招聘经验,有些话不吐不快
  
  我们希望找到能干活的人,就是能编程序的人,但是我感觉现在刚毕业的人里面,包括名校的,能干活的人比例非常的低,大概不超过百分之一
  
  很多人都说,没有参加过实际的项目,没有经验,希望能够在工作过程中学习等等,开始的时候我也这样认为,随着面试的人的增多,手下新人的增多,我的看法逐渐变了
  
  不谈个人主观能动性方面的种种问题,我想谈谈我心目当中的科班出身编程序选手的及格线
  
  如果你希望编程序为生的话,那么,大学才是你最重要的经验积累地点,相反,工作单位能够积累的东西很少,或者说绝对是第二位的
  
  大学里面,最重要的课程有两门,一门是编译原理,一门是数据结构,这两门课的课程都不重要,重要的是课程设计,也就是老师让你上机做的题目,就我这段时间面试的上百人来说,我认为其中的九十九个,这两门课的课程设计要么是直接复制别人的,要么是蒙混过关的[只碰到一个真刀真枪作过的],其实,这两门课是你大学里所有学习内容当中对编程序的能力进行训练的最根本内容,也是你在社会上永远碰不到的学习机会,任何,不论多贵的培训机构,也不可能给你提供这两门课的训练深度,我见过太多的毕业之后又花一两万块参加各种形式的培训机构培训一年的选手了,你学会一万种框架的配置方法,也不如你大学的时候把这两门课上好有意义
  
  编译原理的课程设计,一般来说要求做一个词法分析器或者语法分析器,最屁要你做一个数学公式的逆波兰式解析,我个人看法词法分析器或者语法分析器都可以,单作逆波兰式,则最好能够做到支持各种类型的运算的地步,比如逻辑运算等等,这门课的课程设计如果能够独立完成,可以在你的大脑里面创建一个整体化的计算机思考方式,最重要的是,这个过程能够让你学会面对一个复杂问题的时候,如何通过各种计算机语言来解决问题,、、、,好处不再列举,其实你毕业之后参加的任何培训,其算法复杂程度都不可能和这门课程相比
  
  数据结构的课程设计,关键点在于两个,一个是数据结构和算法本身,这里需要理解和学习的主要内容是循环和递归等等,其实如果你上面一个做得好,这些都不是太大问题了,学习一下各种数据结构的应用还有些意义;第二个最重要的训练目的,就是如何在计算机当中表达问题的问题,很多人跟我说,我的课程设计是二叉树排序,输入就是我自己输进去一堆数字,输出就是把这些数字排好了再输出到屏幕上、、、faint,晕倒,讲一个汉诺塔的例子吧:
  汉诺塔本身的算法只有二十几行,不太好理解,但是也不难理解,那么,如果希望做一个东西,把汉诺塔表达一下,应该考虑什么东西呢?
  首先,需要考虑清楚几个塔,个个盘子,应该用什么表达,用什么数据结构表达?这个是一个关键问题,需要能够把塔和盘子和数组以及数组里面的元素对应起来思考问题,不要看这一点简单,实际上太多人根本就没有办法在大脑里面完成这个转换、、
  其次,要考虑清楚其中有哪些元素可能发生变化,盘子的数目是最简单的变化元素了,有没有其它的了呢?
  有,移动的速度,如果你移动得太快,那么谁也看不清楚,你等于什么也没做、、那么,至少两个元素要可变,一个是移动速度,一个是盘子数目
  好,轮到表达方式了,你要是牛的话,就画成棍子上面穿着有洞的盘子,不行的话就竖线上面穿横线,移动的过程,牛的话做成动画??不行的话就演示每个步骤地结果既可
  好,该怎么画出来呢,这个时候你就要弄明白如何在屏幕上划线,这个简单,重要的是如何擦掉一条线,还不能把棍子的那个点擦掉,这就有点问题了、、
  好了,上面问题都解决完毕之后,用什么语言编程序就很次要了,c也好,pascal,java,任何语言,一个带两个参数的动画演示汉诺塔的东东就出世了、、、[我花了一个半小时]
  
  数据结构的学习过程中,如果能够在四五个题目上面做到上面的深度,相信你绝对受欢迎
  
  以上两个课程设计,如果都能够独立完成,一般来说毕业后两三年内收入必然超过五千,如果在北京上海,应该可以肯定超过一万




作者:菩提道次第 回复日期:2006-12-17 17:21:45 
  编译原理的课程设计应该在两个月之内完成,数据结构的则应该一个专题一周左右完成,四五个专题就足够了
  
  老师没有给你相应的任务不要紧,自己给自己出题目太容易了


作者:seeming 回复日期:2006-12-17 17:23:24 
  说得不错,这两门课很重要


作者:o_xyz 回复日期:2006-12-17 17:29:54 
  我觉得编码能力倒是次要的。关键是思想什么的,像面向对象啊之类的。理解了这个思想,编码就没什么大问题,语法等的错误很容易debug出来。


作者:菩提道次第 回复日期:2006-12-17 17:33:33 
  最崩溃的对话:
  编译原理的课程设计做了什么?
  语法分析器
  语法分析器干什么的?
  分析语法的
  、、、、、用没用堆栈,怎么用的?
  、、、、、、、、、忘了,大二做的,时间太长了、、
  、、、、、、我都毕业十二年了我还记得、、、
  、、、、这不对,我来面试java程序员,你问我编译原理干什么??
  扑通、、


作者:tuishu 回复日期:2006-12-17 19:13:39 
  楼主,我很欣赏你写的东西和你的看法。
  
  我是刚毕业不久的大学生,可以说我应该可以代表当代大学生说点了。
  在学校里学数据结构学编译原理,每天都会有人在耳边说这两门课很重要。但是当我们学完了的时候还没有人能知道它是用来做什么的。
  
  我也可以告诉你很多学校对这两门课的态度,C语言2个月,学完马上考试,接着就学数据结构,2个月不到就结业考试。大家都知道一个学期是4个半月,每门考试需要一周,最后2周基本没事。还有多少时间给你,在学校最经典的一句话我相信大家都熟悉吧。“只有到考前一、两周才是大家最有收获的季节。”
  我后来自学过数据结构,我感觉自己学的比老师给我讲的更有收获。
  课程设计就更不用说了,社会的早就已经传到学校里了。现在还有哪个地方是洁净的。记得数据结构的课程设计就是老师给我们花了3次课程讲了2个例子,八皇后问题和马跳棋盘。
  这种情况下100个人能出1个高手已经是很高的概率了。呵呵
  楼主:这个问题不是某个人的问题,而是一个社会问题。
  第一份工作对人的一辈子很重要,大家也应该深有体会吧。
  让他们从一个CODER开始吧。仅此而已,想再有更高的要求,慢慢来吧


作者:tuishu 回复日期:2006-12-17 19:23:41 
  补充一句,如果楼主有精力的话可以到学校去做一个暗中调查,题目就是:你觉得自己在大学期间的收获有哪些?
  
  我可以告诉你答案,学业这项可以排出前5了,(不说太低)


作者:流_连 回复日期:2006-12-17 20:46:00 
  大部分公司只能开出代码工人的价格就不要要求太多
  
  能coding不错了
  
  


作者:zhr_23 回复日期:2006-12-17 20:53:39 
  我很慎重的告诉楼主,你要失望了。等你找到符合你要求的学生,人家还要考虑看不看得起你们公司哦。


作者:0x00 回复日期:2006-12-17 20:59:09 
  楼主完全是自以为是的胡说八道!


作者:fw2000 回复日期:2006-12-17 21:32:46 
  能说说楼主是哪个用人单位的吗?
  
  我也可以说我是用人单位的人力资源部经理,而且我只招初中以下文凭,并且能流利用德语交谈的新疆人
  或还可以说一大堆其他的希奇古怪的要求
  
  反正又不怕被误人子弟的来打我
  


作者:webdelphi 回复日期:2006-12-17 22:26:36 
  楼主,看来你仅仅是一个自以为是的在公司爬了N久最终有个机会表现下来招聘别人的被称之为“程序员”的人了,我真的很替你丢脸!
  (1)我们希望找到能干活的人,就是能编程序的人,但是我感觉现在刚毕业的人里面,包括名校的,能干活的人比例非常的低,大概不超过百分之一
  ------------------------------------------------------------
  看来你和你们公司的领导人并没有培养人才的计划,仅仅是想用,这样的公司,也没打算长久发展的,也无法长久发展!
  (2)如果你希望编程序为生的话,那么,大学才是你最重要的经验积累地点,相反,工作单位能够积累的东西很少,或者说绝对是第二位的
  -----------------------------------------------------------
  楼主,估计你工作这么多年了,你积累的知识就象你说的---很少,仅仅留有大学的知识来炫耀下而已。这种情况只能说明你在大学似乎学了点,但是工作后发觉周围比你差的人的学习潜力比你强的多,也比你学的多,而产生了自卑!
  (3)大学里面,最重要的课程有两门,一门是编译原理,一门是数据结构,这两门课的课程都不重要,重要的是课程设计.........你学会一万种框架的配置方法,也不如你大学的时候把这两门课上好有意义
  =======================================================
  都说了这2门课不重要,后面又说把这两门课学好,你到底是不是编程的,一点逻辑能力都没有!
  (4)从全文来看,你一直说课程设计重要,但是我想告诉你,在工作中做的项目经验很多情况下比大学里面的课程设计有用的多,因为工作里面的项目是要实际运用的,要考虑它的效率以及代码的可维护性等等很多因素!大学,或者说中国的大学里面搞的课程设计能真正学到的东西少之又少,即使学到了什么也是纸上谈兵!
  (5)最后,我在此针对你"用人单位给计算机系学生的一封信"来做个回应--------------人,要有自知之明!
  


作者:41040206 回复日期:2006-12-17 22:34:56 
  智者见智琐琐碎碎琐琐碎碎琐琐碎碎琐琐碎碎琐琐碎碎


作者:来过2008 回复日期:2006-12-17 23:17:07 
  呵呵,一个计算机系学生的回应,很快就要毕业了,我们何去何从是现在大家最关心的事,即是我们的水平如何,适合什么样的工作,能做什么...,自己也差不多读完了四年的大学了,总的来讲学什么并不是很重要(也许有点偏激),只要能够对以后工作有用的就学吧,有许多东西,我想以后工作,生活中才会实际应用得到.


作者:贝克街的亡灵 回复日期:2006-12-18 00:21:36 
  对外面绝大多数公司来说,编译原理是用不上的.....
  其实操作系统要重要的多


作者:kinkoyo 回复日期:2006-12-18 8:40:57 
  你就给个二,三千块就想招这样的人?
  这样的人多的很,就我所知道各个学校ACM的人都有这样的实力,可是你肯开出高薪么


作者:withc 回复日期:2006-12-18 08:48:51 
  人才都是要花钱的,舍不得钱还想招牛人。


作者:菩提道次第 回复日期:2006-12-18 09:03:21 
  作者:kinkoyo 回复日期:2006-12-18 8:40:57 
  作者:withc 
  ————这样的人在我们这里第一年可以超过三千,第二年可以达到五千[我们公司不在北京上海深圳广州]
  
  不过如果这个要求算是牛人我也无话可说了,我觉得才及格而已


作者:风子一般丰 回复日期:2006-12-18 9:07:24 
  是啊,理论与实践的差距真的好大的
  恩,不知道要说什么,只是好现实的问题


作者:菩提道次第 回复日期:2006-12-18 09:09:56 
  作者:webdelphi 回复日期:2006-12-17 22:26:36 
  ————吵架的话就不理你了,谈谈你说的有意义的内容
  
  看来你和你们公司的领导人并没有培养人才的计划,仅仅是想用,这样的公司,也没打算长久发展的,也无法长久发展!
  ————我们试过培养,但是你说半年的时间连循环控制条件都搞不清楚的选手有什么培养前途呢,而且这个不是个别现象
  
  从全文来看,你一直说课程设计重要,但是我想告诉你,在工作中做的项目经验很多情况下比大学里面的课程设计有用的多,因为工作里面的项目是要实际运用的,要考虑它的效率以及代码的可维护性等等很多因素!大学,或者说中国的大学里面搞的课程设计能真正学到的东西少之又少,即使学到了什么也是纸上谈兵!
  ————我想写这篇的目的就是希望大家重视写程序本身这件事情,这两门课的课程设计的重要程度远远超过其课程本身,比如汉诺塔的例子,我根本都没有提到算法问题,因为书上都有了,你也很少有机会创造或者使用类似的算法,我提到的是如何表达实际生活中的问题的思路训练
  脱离写程序能力的项目管理纯粹是空谈


作者:菩提道次第 回复日期:2006-12-18 09:19:26 
  作者:o_xyz 回复日期:2006-12-17 17:29:54 
  我觉得编码能力倒是次要的。关键是思想什么的,像面向对象啊之类的。理解了这个思想,编码就没什么大问题,语法等的错误很容易debug出来
  ————这个问题如果放在一个已经写了几万行的代码的人身上大概可以,但是放在现在的大学生身上就过分了
  没有任何调试哪怕稍微复杂一点的软件的经验的选手,是不可能具备任何思想的,纸上谈兵的故事大家都听说过了吧,至于面向对象,我认为基本上属于了解一下即可的东西,实际上复杂的业务逻辑全都是结构化的
  形成可用的编程水平,并不是那么容易的事情,上面提到的课程设计,实际上就是实战训练,非常非常重要,听一千节课,也不如实际做一个词法分析器来的实在


作者:菩提道次第 回复日期:2006-12-18 09:27:18 
  作者:tuishu 
  ————什么问题都可以怨社会吗?
  我自己看到的实际情况是,大学生的时间很多,谈恋爱的很多,网吧里面打游戏的更多,同时,基本上每个寝室都有几台电脑
  寝室里的电脑,加上网吧补充熬夜的部分,现在学生的学习条件比我们当年好不知道多少倍了,我们当年上机时间每天不超过两个小时,稍微复杂一些的程序都要先写到纸上然后分析清楚再去调试,想要多用机器,只有等到师兄们干完事情,十二点跑到实验室里面接班、、、
  
  如果真的想在大学里面学点东西,自己在机器上装个c或者pascal或者delphi,然后找两件事情开始做[最好是上面提到的事情,不要选择什么图书馆管理系统这样的东西,没有技术含量],把打游戏的时间用来调程序,我觉得想不成材都难
  
  为什么要有那么多借口呢?
  为什么有那么大的精神头熬夜打游戏呢?
  为什么那么投入的谈恋爱呢?
  
  扩招了,大学生多了,我觉得学习压力应该更大了才对


作者:大胖狗的小骨头 回复日期:2006-12-18 9:29:17 
  同意楼主,眼高手低的太多。总说大学无用,其实以计算机专业来讲,能把专业课学好,就已经很好了。


作者:菩提道次第 回复日期:2006-12-18 09:30:34 
  作者:贝克街的亡灵 回复日期:2006-12-18 00:21:36 
  对外面绝大多数公司来说,编译原理是用不上的.....
  ————这个不是用的,是用来培养最基本的编程能力的,能够在大学里对自己进行这个层次的训练,将来出去面临任何工作任务都不会头大,不论是嵌入式还是通信还是企业管理
  
  好的程序员,不论干什么的,都应该有一个最根本的共同点:
  字符串用的好,这个在编译原理里面有最全面的训练
  


作者:刚到西湖 回复日期:2006-12-18 09:50:30 
  非常支持楼主
  
  俺不是学计算机的,不过曾经有名校计算机学生到我以前的电脑公司,当时公司客服疯狂招聘,但没有具体事务,纯粹养人,就个人观察,且不论学校的基础教育成功与否,至少当时那帮同事就清晰的分成了学习派和玩乐派,结果很简单,专注学习的在部门解体、公司不景气的情况下,顺利地找到了理想的工作,收入节节拔高,玩乐派中有能力做做销售,没能力的只好在路上装机器了;
  
  楼主所言正切中时弊,现在学计算机出来的人能够掌握编译原理或数据结构的人实在太少,学生的功利性太强,社会的浮夸风太重,学校的基础教育太弱(现在的学校教育也是有很强的功利性)
  
  楼上有人有些误解,认为企业应该培养人才,但他没搞清楚,无论在哪个社会,真正有义务培养人才的应该是学校,企业作为盈利机构,没有义务去培养人才,支付工资的目的就是要获取员工的劳动成果,尤其是目前部分学生功利心太重,往往刚毕业的两三年不会在同一个公司工作超过一年,如果只把那些招聘毕业生的公司作为跳板,那又有什么理由要求公司提供培养的义务?
  
  


作者:shfaye 回复日期:2006-12-18 10:06:48 
  的确是国内大学的问题。
  我现在是在国外学习计算机。我可以负责的说,我现在大二完,完全达到了国内普通本科计算机专业毕业的学生的水平,应该说超过。当然不能和国内牛人,因为我在我们班只能算个差生。班里都是差的搞.net,中间水平的搞java,nb的就搞linux内核。
  
  差距的确很大,这是教育制度造成的。学生没有压力,就没有动力。我这里的50%以上的淘汰率,注定了学出来的就没有废人。但是国内教育的市场话,注定学生是上帝,学校怎么能赶走上帝呢。。。
  
  至于解析器和分析器,我是在第3学期用scheme写的xml的标记“信”转化为相对应的latex格式的德文信。的确动手对于学it的是最重要的。我现在第5学期(实习学期),对我的学业实在是有太大的影响了,可以说是决定性的。
  
  还有就是国内的就业压力太大,供大与求,学生要找实习的地方不容易,在国外容易多了。第5学期的找实习的都很好早,这样学生很早的就有了实习经验,对于以后在学校学习提供了很大便捷。但这样在国内是不可能的。如果以后供求关系好转的话,建议适当的把国内大学实习时间前调。
  
  总的来说,不能怪学生。只有很少的人能在没压力的条件下还奋发的。最近听说西安的一个学校开始实行淘汰制度了(我的意思是考试2,3次都不及格的就自动注销),是个不错的开始。
  
  
  最后说一句:好的程序员是建立在好的码代码的基础上的。千万表爬都没学会,就要学跑了。强制的灌输非常抽象化的东西,对于普通it人都是非常难以理解的。


作者:菩提道次第 回复日期:2006-12-18 10:18:13 
  作者:shfaye 回复日期:2006-12-18 10:06:48 
  差的搞.net,中间水平的搞java,nb的就搞linux内核。
  ————搞什么一点都不重要,重要的是长时间调试复杂代码形成的一种感觉以及思维方式,有了良好的计算机思维方式之后,转到任何领域[写程序的领域],都只是三五个月适应期的问题
  
  用scheme写的xml的标记“信”转化为相对应的latex格式的德文信。
  ————相对于词法分析或者语法分析,你这个算是超简单的,不过看得出你还是努力的
    
  还有就是国内的就业压力太大,供大与求
  总的来说,不能怪学生。只有很少的人能在没压力的条件下还奋发的
  ————就业压力难道不算是压力吗?其实这种情况完全可以用一句话概括:
  人无远虑、、、
  另外,国内写程序这块,现在绝对不是供大于求,而是求大于供,根本就没有能用的人,比如上面好多人把我提的如此基本的要求看成高手的标志
  
  你应该是在德国吧??


作者:Pavel__Nedved 回复日期:2006-12-18 10:20:18 
  我是计算机毕业的,中学教书!楼主所说的对我都无用!哈哈!别笑!干了好多实事!


作者:tedloo 回复日期:2006-12-18 10:21:47 
  首先声明,我是用人单位的免试官,单位是互联网企业,技术在企业内占重要的位置。
      几天来,“用人单位给计算机系学生的一封信”在论坛上引起了争论,我仔细看了每一个帖子,忽然有些不吐不快的感觉。于是以最快的速度注册了用户名,来发这封帖子。
      我首先反思自己在作为免试官在免试时的情形,这些镜头像电影一样在脑海中闪过。很遗憾,我问了很多这类的问题,比如:“你开发java程序几年了,开发什么样的程序?”“哪一种数据库你比较熟”。这些问题首先给刚毕业的大学生们什么样的感觉?特别是当这些大学生回到校园,把大量类似免试情况向他的同学描述的时候,而且这些描述再2次传播开来。
      当然,带给他们的感觉是——用人单位要求经验和程序员的实用价值。
      现在,我想对在校大学生们说,你们的这种感觉是正确的。但是有个前提,这些情况大量存在,在我们公司这类职位也最多,但是——这类职位的薪水都是最低的,而且过了几年,你就感觉你所在的这类职位没什么可发展的。
      同时,我也招聘另一种职位——核心开发人员(储备人才)。但给我的困惑是,通过登载招聘广告等形式,根本找不到中意的,虽然,很多优秀的毕业生前来应聘,但是当我问起数据结构和编译原理的问题的时候,他们总是答非所问。这时候,我的感觉跟“用人单位给计算机系学生的一封信”主帖作者的感觉是如此的一致。
      所以我想说,大家在论坛上引起争论,是因为立足点不通。对于招聘主题不明所致。对于大学生来说,我只说两句话——
      第一,用人单位没有错,他们传递的信息很重要,但要看清是什么职位,什么薪水;
      第二,大学生们要打好基础课,这是发展的基础和争取到核心职位的根本。如果你就是想拿个普通薪水,而且想和很多的竞争的话,另当别论。


作者:kinkoyo 回复日期:2006-12-18 10:22:56 
  to菩提道次第:
  的确是及格,但是现在能搞懂这些的人不会多的!
  没有多少人愿意静下心来看数据结构算法和编译原理,大部分人都喜欢讨论C++好还是JAVA好,公司笔试考的也都是语言的语法...适应社会而已
  


作者:天地鸿蒙 回复日期:2006-12-18 10:27:22 
  Mark一下,慢慢琢磨


作者:peng123456 回复日期:2006-12-18 10:31:58 
  编译原理上的时候根本听不懂,数据结构考试的时候好像是的啊!好在在学校的时候遇到一个要数据结构的项目,啃了一下哪个啊!


作者:shfaye 回复日期:2006-12-18 10:37:44 
  搞什么一点都不重要,重要的是长时间调试复杂代码形成的一种感觉以及思维方式,有了良好的计算机思维方式之后,转到任何领域[写程序的领域],都只是三五个月适应期的问题
  
  》》同意,我转到.net也就2个月,感谢实习公司。。。(有件事想说说,我刚来公司实习的时候,也来了个高年级硕士实习生,学的东西太原理了,没发上手,让他从写一下公司的网页,太慢,被退了。)
  
  长时间调试复杂代码形成的一种感觉以及思维方式
  》》这就需要有压力的平台呀。没有实现的地方。对于普通人,很难让他自己模拟。
    
    用scheme写的xml的标记“信”转化为相对应的latex格式的德文信。
    ————相对于词法分析或者语法分析,你这个算是超简单的,不过看得出你还是努力的
  》》理论的实践,对于学生我觉得非常得当。
      
  
    人无远虑、、、
  》》没有压力的环境当然是滋生懒惰的温床。
    另外,国内写程序这块,现在绝对不是供大于求,而是求大于供,根本就没有能用的人,比如上面好多人把我提的如此基本的要求看成高手的标志
  
  》》连码代码都不会,或者说码代码的环境都没有,你让他怎么提升?爬都没学会,就要学跑了。
    
    你应该是在德国吧??
  》》恩


作者:菩提道次第 回复日期:2006-12-18 10:39:25 
  作者:tedloo 回复日期:2006-12-18 10:21:47 
  带给他们的感觉是——用人单位要求经验和程序员的实用价值。
  
  作者:kinkoyo 回复日期:2006-12-18 10:22:56 
  大部分人都喜欢讨论C++好还是JAVA好,公司笔试考的也都是语言的语法..
  ————这个问题也是我在思考的,可能是我个人的特点,实际上直到现在,我已经用了很多年的delphi和java的语法,其实我自己基本上处在不太了解的地步,一般公司的笔试题目我都做不出来,java的那个考试我也到不了及格线,只要是帮助里面找得到的东西,我基本上不记
  反思一下,用人单位的面试思路确实是有问题的,如果不断地强调学生在大学里面理所当然应该做好的一些东西,比如编译原理和数据结构,那么应该会让这些学生有些重视吧
  笔试是不是应该取消呢?
  给一个配好的delphi或者vc++,然后出个题目,比如把汉诺塔的算法给你,然后让你作完上面要求的东西[不能上网],一天的时间、、、
  仿佛这样效果好很多,帮助文件里面有的东西你会不会不要紧,考的是帮助文件里面没有的东西


作者:菩提道次第 回复日期:2006-12-18 10:44:28 
  作者:shfaye 
  ————我的意思是作为一个人,应该给自己压力


作者:love_dhe 回复日期:2006-12-18 10:46:26 
  楼主写的不错,支持.
  偶05年毕业的.也是全国前十的学校.毕业后一直没有写过程序.
  偶记得当时做设计时候,没几个独立完成的.都是copy,更别说什么思想了.编译原理\数据结构,都很重要,另外算法分析,数据库也很重要.
  那时侯,同学多数都是玩游戏,疯狂的那种.致使毕业了连个简单的if语句都写不出来(具体的编成环境下调试成功的),数据结构做的就是排序,查找之类简单的东东。编译原理做的是类pascal的词法分析语法分析,这个全年级每几个做出来的。汇编做的是四则运算,带括号的。也没几个做出来的。总体觉得,学生,太浮躁,没有想钻研下去的,其实那些算法都不是很难。都天天玩游戏,耽误了。
  
  至于面向对象,楼主说的比较对,连简单的程序都写不出来,谈对象有个屁用。考试还差不多。
  
  当时偶参加招聘会,就把上面的一说,差不多的公司都会要的。反正,动手能力太重要的,有了经验,另外的图论,一直到后来的数据分析,遗传算法,都变得不再高不可攀。


作者:xwrs20000 回复日期:2006-12-18 10:48:46 
  难道楼主的单位是招聘人员来开发windows,linux这样的操作系统的?


作者:shfaye 回复日期:2006-12-18 10:49:49 
  菩提道次第
  ————我的意思是作为一个人,应该给自己压力
  >>我是说,这对于普通人来说,很难。当只有1,2个人不行的时候,我们可以怪这个人,当一大群人都不行的时候,我们就需要要改革了。


作者:菩提道次第 回复日期:2006-12-18 10:56:52 
  继续笔试的问题:
  全面一点的看法应该是这样的,目前一般公司,招人的时候可以大致分成两种,一种是笔试一轮,面试一轮的;一种是只有面试的,那么,对于应届生或者已经工作一两年的选手来说,笔试属于你应该死记硬背的东西,当然,有了编译原理和数据结构的实战经验,实际上这个过程不是很困难了,不论如何比仅仅在纸面上看过要容易很多
  
  关于面试的环节,一般问题应该是你有什么开发经验,对什么问题印象比较深刻等等[这是我常用的],如果你把编译原理和数据结构做到我上面提到的深度,延展开来回答就可以了,先从宏观上谈谈,之后逐步谈到微观环节,比如堆栈定义用结构好还是用数组好,分别有什么优缺点等等,数组的长度应该怎样定等等、、、
  如果能够谈到这个地步,相信面试这一关一定是高分通过
  其实,面试一方一般有一定的技术水平,那么,如果他的问题你答不出来,比如你确实没有在什么公司做过什么数据库项目,那么,完全可以直接把话题转到这两门课的课程设计上面,相信多数公司会有正面的响应的
  


作者:shfaye 回复日期:2006-12-18 10:56:59 
  偶记得当时做设计时候,没几个独立完成的.都是copy,更别说什么思想了.编译原理\数据结构,都很重要,另外算法分析,数据库也很重要.
    那时侯,同学多数都是玩游戏,疯狂的那种.致使毕业了连个简单的if语句都写不出来(具体的编成环境下调试成功的),数据结构做的就是排序,查找之类简单的东东。编译原理做的是类pascal的词法分析语法分析,这个全年级每几个做出来的。汇编做的是四则运算,带括号的。也没几个做出来的。总体觉得,学生,太浮躁,没有想钻研下去的,其实那些算法都不是很难。都天天玩游戏,耽误了。
  
  
  >>学校在育人,那么也要教育他承受压力和处理压力的能力。不能一味放行。教育不能当作经济产业,政府对国内的教育改革失败有完全的责任。但可悲的是政府的经济已经离不开教育了。。。。。


作者:kinkoyo 回复日期:2006-12-18 10:57:42 
  to菩提道次第:
  你的想法很好,但是这样的公司太少了...
  而且,大部分做应用程序的公司根本不需要,对于他们来说,只要有成品,能卖出去就行.


作者:菩提道次第 回复日期:2006-12-18 11:03:51 
  作者:xwrs20000 回复日期:2006-12-18 10:48:46 
  难道楼主的单位是招聘人员来开发windows,linux这样的操作系统的?
  ————不是的,这个问题是长期招不到人[03年后]导致的一个思考的结果,以前我们毕业的时候,我们班独立把词法分析器做出来的应该有三分之一,其他做不出来的也都努力很久,所以这个方面不是问题,感觉现在的学生普遍太差,太差的那种差,包括名校的[不在上海,没碰到过母校的学生,不敢说母校的情况],我一直在思考原因
  
  实际上原因太简单了,就是他们上大学的时候完全没有学习,没有作任何有意义的课程设计,没有编过程序,那种培训班里面带出来的图书馆管理系统或者各种别人打好框架你写几句代码的东西,实在是太没有技术含量了,实际上不论你作什么,总归会碰到一些技术上的逻辑问题,这个时候这两门课的意义就凸现出来了


作者:那头可怜的猪 回复日期:2006-12-18 11:06:46 
  编译原理、数据结构要学好不容易的,而且如果没有项目实践,忘得也快。一般的学校,有个好老师也难啊。再说,有多少用人单位来招人考编译?数据结构顶天考个而叉树,呵呵


作者:love_dhe 回复日期:2006-12-18 11:08:08 
  偶当时的大学,老师负责念书,学生负责睡觉,同学负责签到。
  没那个学习的氛围,倒是游戏氛围浓厚。
  
  ps:有的公司,笔试分还分几次,智力测试、处事能力测试、专业测试,面试,好几轮。
  


作者:nail_dh 回复日期:2006-12-18 11:13:34 
  哈哈,考试不让上网,这不就是应试教育的特点吗?
  有些东西有必要都装在脑子里吗?掌握了方法就行了。。。
  不让上网,不就是为了防止直接复制代码吗?你就不会出个变形的经典问题,让别人找不到现成的代码?
  
  我接触的程序员,没有不上网获取相关资料的。。。。。只要最终获得不错的结果,这就是人家的能力,学习能力或者公关能力,完成任务不就得了?

本帖于 2007-04-02 11:53 1次被 xajh85修改过。

前方纵有浪百千,笑傲江湖冲向前

这位楼主都知道了现在的大学教育比以前差多了为什么还要用以前的标准要求别人?

  其实,退回来说,对于一个正常智力的大学毕业生而言,只要他努力,关键还是你这公司的培训机制如何了.你要求现在的大学生一毕业就能给你干活,那除非是你给他的工作简单到极点,否则给一个毕业生至少3个月的适应学习时间是完全必要的.

作者:菩提道次第 回复日期:2006-12-23 13:01:29 

  借页头重新表达重点意思:

  

  

    

    我的意思绝对不是在说数据结构和编译原理这两门课本身重要,而是在说这两门课的课程设计重要,就是不管你用什么语言,上机实际做一个词法分析器或者语法分析器,做一个汉诺塔,做一个八后演示,做一个多种排序对比演示[delphi有一个例程就是干这个的],做这些程序重要,你可以不知道词法分析器是干什么的,可以不知道为什么这样干,但是:

    

    你 一定要能够做到在 正确 的输入的前提下经过 正确 的算法[书上有]的处理给出来 正确的输出

    

    同样的道理,你对八后问题的算法理解可以仅仅到这个地步:

    先试着放一个,再找第二个的位置,找不到了就调整前一个的位置,调整不了再调整上一个的位置、、、

    

    但是,你一定要明白:

    

    在计算机里面 怎样 表示棋盘,怎样 判断直线和对角线,怎样 判断在直线或者对角线上有没有其他的皇后,最好再搞明白怎样 把棋盘画出来,把结果画出来

    

    

    我的意思绝对不是让你搞明白编译原理是怎么回事,我的意思就是

    

    这两门课的上机习题,不论你将来做什么

    

    都是 非常非常好,非常非常经典,没有必要怀疑的上机训练习题

    

    你的编译原理考试可以不及格,数据结构考试可以不及格,但是你只要把这两门课的习题做好,调试通过,你一定是一个合格的程序员

作者:菩提道次第 回复日期:2006-12-23 13:06:01 

  如果你是计算机系的学生的话,只要还没毕业,甚至于包括已经毕业了的,都可以仔细想想:

    

    所有软件的基础都是代码

    

    想要写好代码必须实际上机,自己编程序,自己调试

    

    数据结构和编译原理的习题,是最好的编程序训练题目,各种培训班里常见的各类小型管理信息系统等等,比如图书馆管理,比如人事管理,比起来这两门课的习题,基本没有任何技术含量

  

  关于应用开发与算法和数据结构的关系:

    这里的应用开发不仅仅包括企业管理类别的应用,也包括芯片和通信以及图形类别[游戏引擎,cad等等]的开发,本质上也属于应用开发,可以说国内的程序员,99%都是这四个类别的应用开发

    

    

    应用开发当中需要用到的算法,主要可以分成两种,一种是专业算法,比如说做一个傅立叶分析,作一个任意形状的矢量放大,做一个自由碰撞的路线判断等等,这些算法都需要比较强的数学知识,一般也都有现成的算法可以参考,可能这个就是上面多数人说的算法吧,但是我可以明确的断言:

    这个类别的算法在你的开发生涯当中最多占到百分之一

    

    另外一种意义的算法的范围就比较广了,主要需要解决的问题是

    

    如何把某个问题用计算机语言和计算机数据结构表达出来

    

    不论哪个类别的开发,你需要用到的百分之九十九的算法和数据结构都是为了解决上面这句话的,这个时候的算法和数据结构,最重要的实际上就是前面提到的两门课,编译原理和数据结构的习题所要求的东西

    

    在处理这种类别的问题的时候,每个人的习惯不同,日常使用的思路也不同,我个人比较赞成的是使用最简单,最基本的数据结构,就我个人而言,日常使用的数据结构实际上只有一个:

    

    数组[字符串也是数组]

    

    其他类别的数据结构,hashtable,vector大概仅仅用到过两三次,最复杂曾经用过一棵二叉树,其他完全没有用过

    

    

    最简单的数据结构,数组,最基本的语句,通过各种形式的使用,可以解决任何类别的问题,不论你是做企业管理,还是图形开发,还是芯片开发、、、,但是前提是你必须具备良好的基础,这个基础最好就是编译原理和数据结构的习题

  

作者:菩提道次第 回复日期:2006-12-23 13:08:04 

   关于面试的问题:

    

    前面已经提过一次了:

     关于面试的环节,一般问题应该是你有什么开发经验,对什么问题印象比较深刻等等[这是我常用的],如果你把编译原理和数据结构做到我上面提到的深度,延展开来回答就可以了,先从宏观上谈谈,之后逐步谈到微观环节,比如堆栈定义用结构好还是用数组好,分别有什么优缺点等等,数组的长度应该怎样定等等、、、

      如果能够谈到这个地步,相信面试这一关一定是高分通过

      其实,面试一方一般有一定的技术水平,那么,如果他的问题你答不出来,比如你确实没有在什么公司做过什么数据库项目,那么,完全可以直接把话题转到这两门课的课程设计上面,相信多数公司会有正面的响应的

    

    深入一下,百分之九十以上的公司面试技术人员的时候都会问到类似于这个问题的问题:

    

    你开发[参与]过什么程序[项目]?有什么体会[经验]?

    

    这个问题的回答,完全可以直接转到你做上面两门课的习题的过程中碰到的实际问题上面,相信我,结果一定很好、、、,听不懂你的阐述的公司,不论是什么方向的,都不值得你进入

  

  关于能够在机器上独立完成上面两门课的大多数习题的选手的水平问题:

    

    上面好多人说要出一万块以上如何如何、、、,貌似把这个水平定义成极高极高的水平,超级牛人的样子

    

    再明确一遍我的观点:

    

    达到这个要求,真的只是及格线

    

    达不到这个要求,你连做一个合格的软件蓝领都不行

    关于数据库:

    数据库,做项目,和数据库原理这门课没有任何关系,甚至于数据库原理这门课,以及很多大学里面的数据库类别的课程,对你做项目有反方向的作用,典型的就是第三范式

    

    现在的硬件条件,第三范式没有任何意义,适当的,有时候甚至于是大量的数据冗余,对系统清晰表达问题有巨大意义,也可以把很多问题变得很简单,当然,你首先要有能力保证这些数据冗余的一致性

    

    作数据库类别的项目,其根本点,基本功依然是上面提到的两门课的课题

  

  学习主流的framwork

    ————不太想深入的触及这个问题,估计会有很多人反感

    

    大概框架这个东西在java范畴最多吧,我也着实看过一些,ejb等等等等

    

    不想评价,建议是不要在任何框架上花时间,框架的东西,在你把上面两门课的课题做好,调试完之后,理解起来非常容易

    

    还有,框架是不断变化的,看看ejb就知道了,意义很小,编程序调试才是硬功夫

    

    还是那句话,能用好数组和字符串才是硬功夫,别的都是虚的

作者:欠揍小猪八 回复日期:2006-12-23 15:51:51 

  其实我觉得楼主说得还蛮有道理的......现在大学生普遍没把学习摆在一个很重要的位置.不管是大学里边还是外面的IT公司,个人感觉都还蛮浮躁的,不然上面也不会那么多人急赤白脸地骂了......

  

  不过,也不能全怪大学生,下午看了一个小时的招聘信息,满眼都是"精通"这个,"精通"那个,看得我面红耳赤的,估计一辈子都达不到他们的要求.

  

  中国话说了二十多年我都没精通呢,计算机课程也才刚学完能精通个么啊.......

作者:顶风的旗 回复日期:2006-12-23 16:35:54 

  楼主说得很好。几个人的论战把本帖的水平推向了一个高度。

  感觉另外几位更象是菩提的陪衬。

作者:菩提道次第 回复日期:2006-12-23 17:01:17 

  作者:欠揍小猪八 回复日期:2006-12-23 

  现在大学生普遍没把学习摆在一个很重要的位置

  ————这个现象不好,所以花时间写这个东西,能够影响一个算一个吧,随缘

  

  作者:顶风的旗 回复日期:2006-12-23 16:35:54 

  感觉另外几位更象是菩提的陪衬

  ————不是,他们很认真地在为自己的立场辩解

作者:kinkoyo 回复日期:2006-12-23 19:34:22 

  当初我3天搞定一个贪吃蛇。。。

  毕业设计是神经网络,理论2个月,写程序和调试1个月。。。

  ACM的时候每天除了睡觉就是算法。。。

  一般都是14,15个小时连续工作。。。

作者:2350054 回复日期:2006-12-23 20:09:07 

    本人也是一位即将毕业的在校大学生,看了楼主的帖子深受启发,说来惭愧,本人就是那种在大学里荒废了几年学业的代表,每天沉迷游戏,直到大四才意识到就业的压力.所以放弃了游戏,选择了一门语言--java,作为以后找工作的筹码,但在网上看到java都是搞jsp,web开发的,所以学了段时间jsp.看到来我们学校招聘java程序员的都要求懂jsp,struts,spring什么的,以为学java就是要学这些东西,正打算朝这方面学习.但看到楼主的帖子才发现自己的浅显.自己也觉的这些没什么技术含量(可能是自己接触的太少).

    感觉帖子里那位老王前辈说的话也是肺腑之言,并不是糊弄大家.可能是编程方面的造诣跟楼主是两个不同的层次,所以才得出不同的观点.

    小弟打算以后几个月朝着楼主的方面发展,也有几个问题想请教下楼主:楼主说所有的数据结构都可以用数组来实现,那是不是我以后练习做八皇后问题或者汉诺塔的时候就只用数组来做,而不用java本身的类(比如LinkList等).还有就是那个编译的词法分析器换成一个俄罗斯,中国象棋什么的程序,以后的水平达到的效果是不是有很大影响.毕竟编译原理当初是混过去的,什么都忘记了.

作者:kinkoyo 回复日期:2006-12-23 21:03:18 

  不是说只能用数组,而是数组简单方便,并且可以滚动压缩。。。

  

  还有就是那个编译的词法分析器换成一个俄罗斯,中国象棋什么的程序,以后的水平达到的效果是不是有很大影响

  ----影响不大,你可以尝试象棋的AI。。。做八皇后和汉诺塔的时候最好写一个递归版本和一个非递归版本,对你大有好处

作者:忙着死或忙着活 回复日期:2006-12-23 22:07:34 

  对于计算机系的人来说,所面临的系统分支太多了,如果你是一个未入门的初学者,任何一门课程都是非常重要的,因为只有在你入门以后你才会挑选你的发展方向,知道自己的发展方向了才了解到底哪一门课是最重要的,也许当你知道最重要的课程是哪一门时早已毕业3、5年了。所以我认为楼主的认识太肤浅了,即使以纯技术而论一个人不懂数据结构和编译原理也照样可以成为这个行业的专家的------因为这个行业太广了!

作者:菩提道次第 回复日期:2006-12-24 14:18:32 

  作者:忙着死或忙着活 

  也许当你知道最重要的课程是哪一门时早已毕业3、5年了

  ————呵呵,我已经毕业十三年了,这是我的肺腑之言,没有说教的意思,再表达一次:

  不论从事哪一方向的工作,只要你的工作和写程序有关,我上面的说法就是成立的、、

  

作者:菩提道次第 回复日期:2006-12-24 14:21:49 

  作者:kinkoyo 回复日期:2006-12-23 21:03:18 

  不是说只能用数组,而是数组简单方便,并且可以滚动压缩。。。

  ————呵呵,除了确实需要随时改变长度的情况之外,大多数情况下数组是效率最高,控制最清晰的东西了

  

  做八皇后和汉诺塔的时候最好写一个递归版本和一个非递归版本

  ————这个貌似有点难度、、

  如果把结果表示的图形化要求提高,各做一个递归一个非递归,难度和词法分析器就基本在一个档次了、

作者:菩提道次第 回复日期:2006-12-24 14:27:12 

  作者:2350054 

  ————八后和汉诺塔最好的数据结构就是数组

  换成别的我个人认为是有一点影响的,比如这个帖子里面能够看出来实际作事情能力强的人,前面的青耕小暮,这页的kinkoyo等等,基本上都同意我的结论,就是工作时候碰到字符串处理的情形极多,而编译原理的题目,基本上就是把个字符串翻过来调过去的搞来搞去,这个能力对将来很有意义,不论你准备做什么、、

  懂不懂编译原理不要紧,搞清楚词法分析器的输入和输出要求,看明白主干算法,就可以动手了,至于其在编译器当中的作用与意义,完全可以略过

作者:菩提道次第 回复日期:2006-12-24 14:31:34 

  作者:2350054 

  ————另外,strus之类的java框架,在你作完编译原理的题目之后,会有一个完全不同的看法,就是能够从整体上观察各种框架的地位,大概实现原理,意义等等

  可以说,你没有做过编译的题目,没有做过操作系统的题目,看各种框架的时候很难理解什么时候要有什么样的设置,为什么要有这种设置等等问题,做过之后,很多东西就容易理解多了,本质上框架问题都可以映射成编译原理的某些环节,或者说编译器的扩展、、

作者:菩提道次第 回复日期:2006-12-24 14:41:10 

  比如说在javascript这种环境下,用数组可以很容易的实现各种类型的数据结构:

  

  functionhashTable() {

   this.data =new Array();

   this.top =0;

   this.get =function (name) {

   if (name ==null)

   returnnull;

   if(this.top == 0)

   returnnull;

   for(i=0;i<this.data.length;i++)

   if(this.data[0] == name)

   returnthis.data[1];

   returnnull;

   }

   this.put =function(name,value) {

   if (name ==null)

   return;

   if(this.get(name)==null) {

   this.data =this.data.concat([[name,value]]);

   this.top +=1;

   } else {

   for(i=0;i<this.data.length;i++)

   if(this.data[0] == name) {

  this.data[1] = value;

   return;

   }

   }

   }

   this.clear= function () {

  this.data.length = 0;

   }

  }

  类似的堆栈等等都非常容易和清晰,所以说数组是一种非常好用的东西

作者:pwmodify 回复日期:2006-12-24 19:48:47 

  这个论坛真热闹。我花了4个小时时间,看完了所有的帖子。

  我是2003年毕业的,目前从事IT工作。

  我认为楼主菩提的看法有些偏激。

  我认为,楼主的公司如果不改变招人的态度,就永远找不到合格的人。

  第一,IT公司招人,第一要看中的是那个人的品德、诚信,而不是技术。而楼主对应聘者的道德没有做要求,没有提到。

  第二,数据结构和编译原理只是针对计算机软件专业的学生的要求。现在大学计算机系,分为计算机软件、信息管理、多媒体设计等等很多专业课程。

  第三,编译原理、数据结构不是唯一的条件,比如说,要测试应聘者思想是否活跃,是否有创新意识。

  第四,学好编程,重要的是思想,就是将问题空间映射到程序空间。而不是说,你只要会作编译原理的上机实践,你就有创新意识了。不完全是这样。我的QQ: 414148361

  第五,会掌握编译原理课程设计,达到楼主要求的人,将来不一定能胜任项目管理,而思想活跃,有道德、有创造力的人,是很有潜力的。

  第六,“我们要的是能干活的人”楼主的这句话,表明楼主的公司不打算培养人才了。你不付出,那能得到回报?你能留住人吗?看样子,如果前来应聘的人,如果不符合你提到的那两个条件,就不在你考虑之列吗?

  如果有个人完成了算法课程设计,完成了数据结构课程设计,但是他利用技术专门编写病毒程序,做损害大众利益的事情,那种人贵公司也要吗?我宁可找一个老实的、有学习能力的人,也不会去招聘个有技术,没道德的人。

  第七,楼主说话不干不净,在上面乱骂人,一点素质也没有。可想而知,楼主的公司是什么样的高人黑客在里面。

作者:pwmodify 回复日期:2006-12-24 19:58:18 

  再有,就是上面的那位叫股民老王的人。

  我认为你的观点很正确,因为,程序员很可能转型为管理人员,在工作中获得的经验胜过学校里面学的经验。比如大型项目分析、人际关系等等。在这里,我支持你的观点。

  但是你的人品很差,你和那位叫菩提的楼主,两个人骂来骂去,2个人嘴里都吃屎了吗?就算是菩提说得没道理,你就应该把反驳他的理由说出来,而不应该对着骂。

作者:pwmodify 回复日期:2006-12-24 20:04:30 

  补充一点,楼主说:

  “大学才是你最重要的经验积累地点,相反,工作单位能够积累的东西很少,或者说绝对是第二位的”,并且楼主一再强调,“我的意思绝对不是在说数据结构和编译原理这两门课本身重要,而是在说这两门课的课程设计重要”,那么我可以告诉楼主,能够完成这两门课的课程设计的学生,如果没有其他特长的话,那么,他只适合编程,除了编程,他什么也不会干。楼主不会是想要除了编程什么都不会干的人吧。不会想要单一技能的人才吧。

  

作者:菩提道次第 回复日期:2006-12-24 20:05:34 

  作者:pwmodify 回复日

  ————呵呵,先回答一下你关于骂人的问题:

  我在这个帖子里面只骂了一个[人],其原因也是他莫名其妙的持续的大骂我,不太清楚什么原因

  加在一起我只骂了他两句,他骂了我几十句

  

  另外,不知道什么原因,这里很多人会贴第一件事情都是骂我,包括你在上面一个帖子里面,对于这种骂一两次的,我都没有理会,不论什么词句

  

  比如我们两个对比,我觉得我绝对没有骂你,但是你确实骂我了,就算你希望讨论问题,也不应该用那种词句形容我,呵呵

作者:菩提道次第 回复日期:2006-12-24 20:14:07 

  你的帖子里面,并没有提出太多新鲜内容,主线回答一个:

  道德,诚信,创新等等所有问题,在我这里提出来的要求当中,实际上隐性的包含了,我的观点是这样的:

  大学本身就是读书学习做课题的地方,并且你花了你自己家里很多钱,并且很多人对你有很大的期望值,那么,你的道德诚信创新毅力等等所有可能想得到的正面品格,都应该体现在好好学习四个字上面,如果你在大学里面没有好好学习,我很难期望你到公司之后能够对得起公司对你的期望值,毕竟,不能够期望公司对你的重要性超过你的家庭

  

  如果能够达到我这里提到的要求,确实不能证明你是不是大好人才,但是达不到,确实可以证明你绝对不是一个人才,不可能说你读书的时候每天上网谈恋爱,到公司就脱胎换骨,同时,也绝对不能说你在大学里面不写程序,不调程序,到公司就好了

  

  品德上面一样的道理,达到这个底线,至少可以说明你是一个负责任的人,因为你把大学里面该做的事情做了,达不到这个底线,至少可以说你完全不在意家里对你的期望,不在意家里花的钱,这个已经很能说明品德问题了

  

  至于这两门课的涵盖范围,是我的一家之言,没必要争论,相信就相信,不信你完全可以选择俄罗斯方块当成课题,这个我不介意

作者:菩提道次第 回复日期:2006-12-24 20:16:35 

  关于单一技能的事情,我是这个看法:

  在软件领域做任何事情,项目管理,系统分析,xxxx,xxxx,其基础都是写程序,如果你没有掌握好这个基本技能,其他的一切都可以免谈

  

  当然,我这里的前提是针对计算机系的科班出身选手的,如果你是企业管理系或者数学系,应该两说

作者:joubai 回复日期:2006-12-24 22:11:39 

  楼主这个话说得太绝对了吧?

  我没有学过编译原理(我的专业是计算机网络),数据结构也学得很少,但是一样的写代码,用C++.

  大家都从大学里面出来,大学4年能学到多少东西?有能真正的做到精通几门课程,说得不好听的,光是想精通一门C++也要花你3~5年时间,把这个学好了,其它的课程你还要不要学?

  楼主说他有13年的工作经验,用13年的工作经验要求刚毕业的大学生,站着说话不显腰疼.

作者:songsAndMorning 回复日期:2006-12-24 22:32:41 

  >>joubai C++也要花你3~5年时间,把这个学好了,其它的课程你还要不要学?

  >> 学3~5年的C++就是学它的语法??你看来是个外门。

  

  >> 菩提道次第

  >> 想请教一下你当年做的是什么的词法分析器?

  >> 我现在大三,也在学编译,感觉词法分析器不难啊,不过只做了算术表达式的词法分析,如果用Java的正则表达式的话更简单。语法分析有些难,不过好象没有难到你说的那种程度(理论难,算法不难),可能是我做的算术表达式文法比较简单吧,所以想问问你那个,做做看:)

  

  PS: 我感觉东西还是学多点好,可以开阔视野。对你对设计模式的评价保留意见,因为我还没学过。这么长的帖子看的累死人,不过有些启发,留言纪念一下 ^_^

作者:silenceyun 回复日期:2006-12-24 22:43:39 

  楼主一厢情愿,这样的学生还去你的公司?

作者:joubai 回复日期:2006-12-24 22:44:38 

  楼上的还在读书,我也就不说了,在这里混的人大多是做IT的,自然有人知道我的说的学好C++大概要3~5年对不对

作者:songsAndMorning 回复日期:2006-12-24 22:53:13 

  >>joubai

  

   呵呵,不好意思

  

作者:菩提道次第 回复日期:2006-12-25 09:02:08 

  作者:pwmodify

  ————继续,你说的品德问题,面试的时候除非智商有问题的人,一般都表现的品德良好,不知道你认为应该怎样鉴别品德问题

  

  

  

作者:菩提道次第 回复日期:2006-12-25 09:03:25 

  作者:songsAndMorning 回复日期:2006-12-24 22:32:41 

  如果用Java的正则表达式的话更简单

  ————呵呵,用lex更加简单:)

  你用词法分析器作词法分析器,当然几句话的问题了

作者:菩提道次第 回复日期:2006-12-25 09:16:03 

  作者:joubai 回复日期:2006-12-24 22:44:38 

  楼上的还在读书,我也就不说了,在这里混的人大多是做IT的,自然有人知道我的说的学好C++大概要3~5年对不对

  ————实话说我也很经常听到这种理论,不很理解

  不谈你说我腰疼的问题,但是我确实没有用自己的标准要求,比如说吧,汉诺塔主干算法20行代码,我能够在一个半小时之内扩充成一个可变参数,包括盘子和速度,具有统计数据,画出来每次盘子移动的结果的东西,那么,学生应该能够在一周左右做到这一点,这样说你明白一些没有

  在你眼里可能我是根本不会用java的,因为到现在语法方面,不常用的对象类型方面,还是不熟悉,但是我确实已经用java做了很多事情了,并且很多是非常困难的事情

  

  如果你说学习delphi要花一两年,我认为是对的,但是这个学习不是在学习pascal,而是在适应delphi的思路,了解它提供的各类控件的功能,在实际项目当中应用,更加重要的是,了解delphi的各种bug,练习和思考如何绕过去、、、这个才是真正要花时间的东西,我没碰过c++,希望多指教

  

  如果谈到学习java,那么我可以肯定地说,没超过一个月,主要时间花在了解reflect类和阅读mozilla的javascript编译器上面,我以前手下的一个c++高手,基本上只花了三天

  

  再次重申,学习语言实际上就是学习编程序,那么,必须要有一个练习题目,你看一万本书也没用,而最好的练习题目就是编译原理和数据结构的课题

  

  如果你说的学习c++是在说看书,那我觉得你浪费时间了,如果你在说实际编程序,那么我们没什么分歧,只是你是不是认为这两门课的习题比较经典的问题了,这个属于小异,可以存之

作者:菩提道次第 回复日期:2006-12-25 09:24:35 

  作者:songsAndMorning 回复日期:2006-12-24 22:32:41 

  我现在大三

  ————比如说你的词法分析器支持到basic语言的标准,然后如果用java的话,最多用到hashTable这类数据结构,不要用正则表达式[我不太用这个东西,关键是不知道效率,还有看起来有些别扭,你可以做两个版本,一个不用,一个用,比比效率],然后你如果觉得简单的话,还可以把语法分析器也作了,生成机器码就不必作了

  mozilla有一个javascript的编译器,很优美,建议你看看,不过光看一点用也没有,最好自己做,要么你把那个编译器改写成basic语言的试试

  

  趁着时间还来得及,赶紧编程序也

作者:菩提道次第 回复日期:2006-12-25 09:27:35 

  作者:songsAndMorning 

  ————算术表达式的词法分析是词法分析器的入门,必须把语句的词法分析加上才算基本成形

  

  羡慕你还能无忧无虑的编一年程序

  如果一年后毕业的时候你能独立完成一个编译器,给我发信息,到我们公司来做事吧:)

作者:pwmodify 回复日期:2006-12-25 12:21:23 

  现在回复楼主菩提的帖子:

  

  楼主曾经说:

  “你说的品德问题,面试的时候除非智商有问题的人,一般都表现的品德良好,不知道你认为应该怎样鉴别品德问题”

  

  当然,在面试的时候,用人单位无法断定求职者的品德问题。因为少数道德低下的求职者很会伪装。

  但是,我要告诉楼主,时间可以证明一切的。他就算能骗我一个月,骗不了我一年。时间长了,假的东西终于会露馅。

  

  品德问题,也就是说诚信度。诚实是他的具体体现。求职者哪怕说“不知道,我不太懂”,也比他说这个也懂,那个也懂,算法也会,编译原理课程设计也会,到头来却什么都不会的人强的多!

  不会不要紧,可以学习。只要他肯学。但是如果他欺骗用人单位,他个人的声誉就在当地的IT界有损害,我想,他如果智商没问题,是不会干那种得不偿失的事情的。

  最后重申一遍,时间能够证明一切。

  

作者:pwmodify 回复日期:2006-12-25 12:36:17 

  现在说一下楼主菩提的问题:

  楼主菩提一再强调,程序设计能力是基础。这句话楼主曾经反复强调。

  但是我想说,计算机专业,分为计算机网络、计算机硬件、计算机信息管理、计算机软件。。。。。

  等等多种专业路线,楼主所说的要求,只适合“计算机软件”这个专业的要求。

  

  请楼主想一下,如果一个人的专业是“计算机多媒体应用”,那么,他学编译原理课程设计,是不是没有太多必要?除非他将来打算深入。

  

  楼主是13年以前的毕业生,13年以前的计算机课程,学的就是 pascal C 编译原理、数据结构等等课程,总之一句话,那个时候,楼主那个年代,学的课程少,但是精。因为课程少,时间充足,所以每门课程都很深入。而现在的计算机专业,少说都有30门课程。课程多了,每门课程学习时间自然少了。比如,数据结构这门课程,13年前是40课时,现在是20课时,效果自然不一样。

  在说,每一门课程,如果不学个三年五年,是不会有效果的。就像C++,就需要10年的时间学习掌握。楼主为什么要用13年前的旧标准来衡量今天的学生呢?如果这样很公平,那我也可以用今天的新标准(java\c#)来衡量13年前毕业的学生。时代不同了。

  C++为什么要提出模版的概念?.net为什么要提出面向组件?就是为了简化编程。编译原理的课程设计,数据结构等等,最终目的,还不是为了用代码构成应用程序?为什么简单的东西不用,非要用复杂的呢?

  提一下我个人的观点,计算机专业要分层次,分门类。像什么“计算机电子商务”之类的专业,面试的时候完全没有必要考编译原理课程实践。

作者:privateworker 回复日期:2006-12-25 12:43:32 

  很长,很多概念,看完了真的学到很多东西,谢谢各位楼主。

作者:pwmodify 回复日期:2006-12-25 12:53:55 

  楼主菩提曾经说:“我们希望找到能干活的人,就是能编程序的人”,这句话是楼主的原话。

  凭这句话,给人的印象是,贵公司不希望培养人才,也不打算培养人才,拉个现成的人利用一下,等搞新的项目的时候,再重新招人。完了以后再继续招聘,继续辞退。

  可以肯定地说,这样的公司,一定招不到人。就算招到人,也留不住人。

  你不培养员工,员工怎么会给你干活呢?员工怎么报答你知遇之恩呢?你不施恩,怎么能换来回报呢?年羹尧手下的人,为什么愿意跟着他卖命,就是因为他施恩了。就算是干坏事,也要讲章法!你不对员工好,关键时刻,谁来给你卖命?那你干脆别招程序员了。你接到项目,把项目外包好了。培训是现代企业的一个重要环节,你舍不得培训,哪个员工给你死心塌地的干活?楼主这样做,换来的只能是高的跳槽率。

  

  哪怕员工基础不好,你只要培训他,只要对他解衣衣之,推食食之,让他掌握技能,你想想,哪个员工还能忍心跳槽吗?还能不拼命给你干活吗?只要这样,员工才能真心诚意地给你干活,就算公司将来效益不好,员工也舍不得离开你,不管你将来落魄也好,发达也好,总之,他就是你的人,他绝对不会背叛你。

  找100个高级程序员,也不如拥有一个属于自己的初级程序员。

  楼主应该好好思考一下,哪怕为了贵公司。

  

作者:joubai 回复日期:2006-12-25 13:15:04 

  如果你说的学习c++是在说看书,那我觉得你浪费时间了,如果你在说实际编程序,那么我们没什么分歧,只是你是不是认为这两门课的习题比较经典的问题了,这个属于小异,可以存之

  -----------------------------------------------------

  讨论一下楼主这句话,这里想来有很多C++的高手,大家说说自己是写代码的时间多还是用在看书的时间多?我个人认为楼主的水平应该很差劲,我没有学过楼主用的那两种语言,我用C++,而且我也认为我C++的水平很一般,但是我还知道对于C++来说最重要的是思想.

作者:joubai 回复日期:2006-12-25 13:16:47 

  写代码,根本就不是一个问题!

作者:看看丝丝 回复日期:2006-12-25 13:39:51 

  我认为高校计算机专业最重要的课程是:数据结构、操作系统、数据库。如果你硬是要排除数据库,那么,前面两个一定不能去掉。还是要去掉一个?那算了,你走吧。

作者:看看丝丝 回复日期:2006-12-25 13:41:25 

  编译原理其实。。。。。很多人都没有什么用的。大部分人学这门课可以看成是复习和实践数据结构。

作者:joubai 回复日期:2006-12-25 21:22:29 

  楼上说这个话只怕外行吧,计算机专业分支这么多,你能以偏概全?

  计算机网络专业最重要的只怕是通信原理或者说TCP/IP协议吧,学计算机应用的只怕最重要的是C或者C++吧

作者:shotboy 回复日期:2006-12-25 23:27:04 

  asdfasdf

作者:菩提道次第 回复日期:2006-12-26 10:54:42 

  作者:pwmodify 回复日期:2006-12-25 12:53:55 

  楼主菩提曾经说:“我们希望找到能干活的人,就是能编程序的人”

  ————不知道你抓住这句话不放是什么意思?难道如此基本的要求现在看起来就那么过份么?

  

  如果我是码头扛大包的老板,那么如果我说:

  “我们希望找到能干活的人,就是至少能够扛动一包大米的人”

  这个要求难道很过分吗?

  

  你说:

  计算机网络、计算机硬件、计算机信息管理、计算机软件

  这些专业的人难道不应该把编程序当成基本功吗?

  难道你学网络就能够搞网络协议吗?何况了,网络协议的基础实际上就是编译原理

  前面已经有人说过了,如果你不愿意拉网线,跑销售,那么基本上只有编程序一条路

  

  你说十年掌握c++,我无话可说

  

  但是你始终回避我的两个要点:

  编程序需要上机实践

  编译原理和数据结构的课题是最好的上机实践的习题

  

  如果你仅仅希望给自己的大学生活找个借口,希望你不要再说什么了,会让很多本来能够判断清楚的大学生混淆概念

  

作者:菩提道次第 回复日期:2006-12-26 10:56:36 

  作者:看看丝丝 

  ————关于操作系统和数据库参见上页下半部分

  

作者:reginvalid 回复日期:2006-12-26 10:59:31 

  楼主的这个帖子给了我不错的建议。对招聘本科生来说,一般的公司看中的是其编码能力,好的公司看中的是其发展潜力。

  

  我是特地注册来请教一下楼主关于上面有网友提出的“草莓田”分割问题的,不知楼主是如何实现的?能否不惜赐教一下?

作者:从来不登陆 回复日期:2006-12-26 11:05:00 

  楼主说得不错,

  不过不明白楼主对设计模式之类的东西为什么那么看不顺眼,前人辛辛苦苦总结出来的经验怎么会是没用的东西呢?至于说什么用reflector之类的东西来实现没有什么意思,只能说那是实现手段的一种。

  

  前面很多人喋喋不休的说什么C语言,其实用什么语言真的不重要,都是大同小异的东西,关键是思想。

作者:2350054 回复日期:2006-12-26 11:08:20 

    我昨天看了下词法分析器的要求,发现并不是很复杂(没有复杂到要上千行代码吧),在网上搜索了下词法分析器的源码,发现基本上都是一两百行实现的,可能是了解的不深入吧.

    我还有些问题要请教下楼主:当时你们做的那个词法分析器做到了一个什么程度,能否详细的介绍一下,或者能否详细的说下那个的算法.

作者:从来不登陆 回复日期:2006-12-26 11:26:16 

  草莓田的问题,出题的朋友漏了几个严重的条件,比如那个x是什么?还有平均标准也没有,反正是看得我一头雾水。

  

  奇怪的是居然有人能做出来,是以前做过或者知道真正的题目是什么样子吧。

  

  我google了一下,正确的题目描述是这样的:

  

  尽管不少人都吃过鲜美的草莓,却很少有人真正观察过野草莓的生长。它们从自己的枝上

  伸出一根根长长的触须,遇到合适的地方就会扎根发芽,长出一株新的草莓。所以,当你

  在森林中遇到一株草莓的时候,通常就意味着你会在它的周围找到一片草莓田。但这些草

  莓并非能够无忧无虑地生长,树林中穿梭的鸟儿和偶尔路过的鹿群都喜欢吃这种美味的浆

  果。不过,草莓最大的威胁却是来自那些贪吃的棕熊。他们不但可以吃掉整整一片草莓,

  而且还会粗鲁地把一片草莓田搞得乱七八糟。于是每当一块草莓田越长越大之后,森林中

  的精灵们就会把这片草莓田分成k块种到k个空地中去,以免被粗鲁的棕熊搞乱。她们希望

  每块空地上恰好放上一块用触须连接在一起的草莓田。不过,如果一块空地里的草莓太少

  ,它们就会感到孤单,所以精灵们希望无论哪块空地含有草莓的总重量都不要太小。可是

  天真的精灵并不知道怎样来做这件事情,你可以帮助她们吗?

  

  

  【任务描述】

  定义:sumi表示第i块草莓田中所有草莓重量的和(1£ i£ k)。

  x=min{sumi|1<=i<=k}

  你的任务就是要把一片草莓田分割成k块,且分割方案需要满足如下的条件:

  

  l 每一块中的草莓必然是通过触须直接或者间接和其他草莓相连接的;

  

  l 这种分割方案所对应的x尽可能的大。

  

  最后输出你的分割方案和结果。

  

  【输入说明】

  第一行为三个整数n、m及k,n表示草莓的株数,m表示触须的数目,k为空地的数目。

  

  接下来的n行每行两个整数i及bi,表示第i株草莓的重量是bi克。顺序下来的m行每行两个

  整数p和q,表示第p株草莓和第q株草莓之间有一根触须相连接。

  

  另外,在所有这些数据的最后还有单独的一行包括一个整数d用作评分系数,有关d的说明

  ,可以参看下面的评分方法。

  

  【输出说明】

  你一共要输出k+1行。第一行为一个整数,表示你的分割方案中的x。接下来的k行,每行

  表示一块草莓田。每行的第一个整数为ni,表示第i块田中的草莓株数。第二个到第ni+1

  个整数为这些草莓的编号。请注意,这些草莓必然是通过触须相连接的。

  

  【输入样例】

  

  7 9 3

  

  1 4

  

  2 4

  

  3 3

  

  4 1

  

  5 5

  

  6 7

  

  7 2

  

  1 2

  

  1 6

  

  2 3

  

  2 5

  

  2 6

  

  4 5

  

  4 6

  

  4 7

  

  6 7

  

  2000000000

  

  

  

  【输出样例】

  7

  

  2 1 6

  

  2 2 3

  

  3 4 5 7

  

  

作者:从来不登陆 回复日期:2006-12-26 11:27:05 

  评分方法】

  本题是一道提交答案式题目,你需要针对给定的10个输入文件2/berry1.in~2/berry10.in

  提交你的输出文件berry1.out~berry10.out(放在你的选手目录下)。我们将根据你提交

  的输出文件评分。对于某一确定的测试点来说,如果你的输出文件中第一行的x和下面的

  分割方案不符合,或者是输出文件本身就有错误,那么你将得不到该测试点的分数。这里

  输出文件的错误可以使用我们提供的2/berry_check检查工具进行检查。只有当这个程序

  输出Yes的时候,你的输出才可以确认是可接受的。

  

  对于可接受的输出,评分公式如下:

  

  score=[10*e^(-2/5*(d*(best-x)/best)^2]

  这里d为评分系数(输入数据中最后一行的整数),best为我们的最优结果。

  

  注意:可接受的输出不一定能够得分。

  

  【你如何测试自己的输出】

  我们提供2/berry_check这个工具来测试你的输出文件是否是可接受的。使用这个工具的

  方法是:

  

  2/berry_check<输入文件名> <输出文件名>

  

  在你调用这个程序后,2/berry_check将根据你给出的输入和输出文件给出测试的结果,

  其中包括:

  

  l 非法退出:未知错误;

  

  l notconnect:你程序输出的行中含有不连通的分量;

  

  l duplicate:同一点输出了两次;

  

  l extra:输出文件中包括多余数据;

  

  l lack:输出的总点数不对;

  

  l answer notmatch:输出中第一行的x和实际结果不符;

  

  l Yes:输出可接受,将进行下一步的评分。

  

作者:菩提道次第 回复日期:2006-12-26 12:14:48 

  作者:joubai 回复日期:2006-12-25 13:16:47 

  但是我还知道对于C++来说最重要的是思想.

  ————呵呵,那么怎样才能够形成思想呢?什么思想呢?任何思想最终都要解决实际问题才行,不通过实践,你怎么知道什么时候应该用什么思想呢?

  

  现在很多人喜欢讲思想,不知道是什么目的,我估计和模式差不多吧,关于这一点,我的建议一样是:

  少搞点思想,多写点程序,写到一定地步,你自己的思想就出来了

  

  写代码,根本就不是一个问题!

  ————大错特错,写代码是很大的问题

作者:songsAndMorning 回复日期:2006-12-26 12:31:46 

  >> all

  

   1.求同存异

  

   2.写代码很重要

  

   3.要想学好数据结构和编译原理

   就要把那些东西实现一下

  

  

作者:菩提道次第 回复日期:2006-12-26 13:13:32 

  呵呵,前面有兄弟指出来词法分析器很简单的问题了,好像兄弟确实犯错误了

  

  草草复习了一下编译原理,我当年的课程设计应该这样描述:

  一种不困难的语言定义,标识符,常量变量,控制语句,四则运算,一种循环语句

  输入是一段合法的程序,和一段不合法的程序

  输出是已经把四则运算转化成逆波兰式的包括符号表在内的东西

  

  看起来应该是词法分析和语法分析都做完的结果,这个项目应该是几千行代码的量

  

  呵呵,对不起大家,这个错误比较低级

作者:joubai 回复日期:2006-12-26 13:17:47 

    作者:joubai 回复日期:2006-12-25 13:16:47 

    但是我还知道对于C++来说最重要的是思想.

    ————呵呵,那么怎样才能够形成思想呢?什么思想呢?任何思想最终都要解决实际问题才行,不通过实践,你怎么知道什么时候应该用什么思想呢?

    

    现在很多人喜欢讲思想,不知道是什么目的,我估计和模式差不多吧,关于这一点,我的建议一样是:

    少搞点思想,多写点程序,写到一定地步,你自己的思想就出来了

    

    写代码,根本就不是一个问题!

    ————大错特错,写代码是很大的问题

  ______________________________________________________

  代码写多了思想自然就出来了吗?看来楼主的水平应该真的是不怎么样.

作者:joubai 回复日期:2006-12-26 13:22:02 

  楼主知道学C++的人为什么要学看STL的源代码,为什么要看 C++ model design这些书,就是为了要吸取大师的思想,那才是提高自己的捷径.代码写多思想自然就有了,这句话说得很幼稚.

作者:菩提道次第 回复日期:2006-12-26 13:23:16 

  作者:从来不登陆 回复日期:2006-12-26 11:26:16 

  奇怪的是居然有人能做出来

  ————这个题目是有些困难,不过大致可以通过描述猜出来目的,既然目的是避免熊破坏得太厉害,那么每块地都有尽量多的草莓是不难推论的要求

  

  我也没做出来,没时间,只是大概想了一下,没想出来太美好的解决方案,不过比较美好的根本算法应该从图的遍历算法里面找答案

作者:菩提道次第 回复日期:2006-12-26 13:27:32 

  作者:joubai 

  ————呵呵,我给一些建议而已,和我自己的水平关系不大,和我是不是幼稚关系也不大,希望你就事论事

  

  如果你希望讨论思想问题,可以举几个例子,看看除了严格遵照‘伟大的思想’指明的方向解决之外,是不是存在不那么伟大但是更加简明的处理思路

作者:joubai 回复日期:2006-12-26 13:35:36 

  我在猜测楼主做过的项目代码量应该不超过10万行,所以你从来没有关心过设计架构上的问题,你所讨论的仅限于数据结构和编写代码.而且从楼主上面的话显得对那些程序设计大师显得没有一点尊敬的意思.问你个简单的,你知道C++里面的单体模式为什么要double check吗?

作者:菩提道次第 回复日期:2006-12-26 13:44:10 

  作者:joubai 

  ————呵呵,我自己写过的代码已经超过三十万行了

  谈不上尊敬,也谈不上不尊敬,但是你问随便哪个大师,他都会告诉你,自己写程序调程序是非常重要的

  不知道

作者:kinkoyo 回复日期:2006-12-26 14:47:46 

  没写过代码,何来谈架构?思想是练出来的,不是看看书就会的,只有自己做了,再去看书才能体会其中深意.

作者:菩提道次第 回复日期:2006-12-26 15:05:32 

  关于看书或者看代码:

  看来这个问题需要阐述一下,软件类别的书或者代码,正确的看法绝对不是一行一行字的看,唯一正确的看法是:

  大概齐看明白某段文字和算法希望解决的问题,大概齐看明白其中算法的关键点,对于某些比较困难的算法,这个时间应该占到看书的五分之一左右,绝大多数简单的算法,这个时间应该在十分之一左右

  

  之后的五分之四或者十分之九的时间:

  如果只是像上面提到的汉诺塔或者八后的算法那样,二十行给出来关键问题,那么,想办法把这个问题加上输入输出用户界面,实际上机调试之

  如果已经是完整的代码了,则改换问题,把问题改成类似问题,然后采用该段代码的主体算法,循环控制方法,递归方法等等,重写该段代码、、、

  比如说吧,你看到的是mozilla编译器当中的语法树的各种控制代码,则把问题转化成另外一个问题,比如说改成一个产品结构的树形结构,然后看看各种控制是不是还能用,应该怎样用等等、、、

  

  只有这样看书,才是正确的看计算机书的方法

作者:reginvalid 回复日期:2006-12-26 17:53:16 

  呵呵,楼主没时间做没关系,我是想出了一种可行的办法,待有时间实现后再和楼主和“从来不登陆”切磋。

  

  不知道楼主在经过多年的实战后,觉得算法重要么?看你帖子里表达的意味,好像比较关注人机交互界面,比如你更强调的是能不能很好的用图形表达Hanoi,而不是优化运行时间带来的经验,楼主是认为现在计算机已经足够快,“好的”程序更注重的是人机交互界面?

作者:joubai 回复日期:2006-12-26 20:19:13 

    没写过代码,何来谈架构?思想是练出来的,不是看看书就会的,只有自己做了,再去看书才能体会其中深意.

  ----------------------------------------------------------

   一个职业程序员会没有写过代码?不过说到这里扯远了.我没有否认写代码对自己技术提高的重要性,只是针对楼主那句话:"如果你说的学习c++是在说看书,那我觉得你浪费时间了",但是比较而言我认为看书和写代码对于自己技术提高更重要,我不知道楼主是不是一个职业的程序员,知道不知道有多少的书要学,至少我感觉到还有很多很多的书要看,如果有很多时间来分配让自己选择空余的时间是读书还是写代码,我相信对于大多数的职业程序员来说都是选择读书.

作者:joubai 回复日期:2006-12-26 20:23:33 

  楼主虽然在这里洋洋洒洒的写这么多,说实话,给我的感觉完全不是一个程序员.我们来做个简单的算术,一般一个职业的程序员,而且是熟练的程序员每天的工作量是50~70行代码.你说你写过的代码超过30万行,工作13年,平均每天要写68行代码,真是高产,还是这个牛吹得太大了?

作者:joubai 回复日期:2006-12-26 20:37:43 

  思想这个东西说来其实很广泛,并不仅仅限于设计模式.还包括前人在碰到问题解决问题后总结的经验.比如说那个C++里面的各种模式,都固定的解决了某一类的问题,为什么不直接拿来主义,要你自己闷着头写,你写得出来吗?比如象上面说的那个设计模式中最简单的单体模式,为什么要double check,即使用了double check,在某些情况下他还是会存在问题,这些前人总结出的经验和思想,完全可以让你少走非常多的弯路,为什么不使用拿来主义,还要闷着头自己写?

作者:joubai 回复日期:2006-12-26 20:43:45 

  本人言尽于此,不再发言了哈!

作者:songsAndMorning 回复日期:2006-12-26 22:51:51 

  >>joubai

  

   你说的很有道理,要看的书是太多拉,蔡学镛也是如是说。他也是看书看的多,写的少。不过,我想你们的代码量都已经达到了一定的量,以至于写代码对自己能力的提升远小于看书的思考。就当代大学生而言,大部分计算机基础都是很差的(包括我在内),所以写代码尤其是精简的代码、有思考分量的代码,对成长至关重要。

  

   一家只言。

作者:songsAndMorning 回复日期:2006-12-26 23:03:43 

  >> 菩提

  

   你当年的课程设计确实有难度。不是我们平常的小实验能比的。可惜了,今年的课程设计是网络方面的。

  

   另外,请教你一下。我有心考研究生,一方面是因为有心研究,另一方面借此进入上海。然后,一直在琢磨是选择计算机系还是软件工程(后者贵,但相对好进,而且我现在也读的是软件)。我想听一听你的观点。

作者:songsAndMorning 回复日期:2006-12-26 23:09:43 

  >>joubai

  

   大家讨论讨论也很有意思的,虽然可能谁也说服不了谁。

   不要潜水 ^ ^

作者:songsAndMorning 回复日期:2006-12-26 23:55:16 

  >> 菩提

  

   看了你的《亵渎随感》和《新家庭体系》。

   呵呵,强烈建议你有空写历史架空小说。新家庭的文笔有些易中天(《中国的男人和女人》)的味道。

作者:vivensnow 回复日期:2006-12-27 0:23:02 

  作者:shfaye 回复日期:2006-12-18 10:06:48 

    的确是国内大学的问题。

    我现在是在国外学习计算机。我可以负责的说,我现在大二完,完全达到了国内普通本科计算机专业毕业的学生的水平,应该说超过。当然不能和国内牛人,因为我在我们班只能算个差生。班里都是差的搞.net,中间水平的搞java,nb的就搞linux内核。

    

    差距的确很大,这是教育制度造成的。学生没有压力,就没有动力。我这里的50%以上的淘汰率,注定了学出来的就没有废人。但是国内教育的市场话,注定学生是上帝,学校怎么能赶走上帝呢。。。

    

    至于解析器和分析器,我是在第3学期用scheme写的xml的标记“信”转化为相对应的latex格式的德文信。 的确动手对于学it的是最重要的。我现在第5学期(实习学期),对我的学业实在是有太大的影响了,可以说是决定性的。

    

    还有就是国内的就业压力太大,供大与求,学生要找实习的地方不容易,在国外容易多了。第5学期的找实习的都很好早,这样学生很早的就有了实习经验,对于以后在学校学习提供了很大便捷。但这样在国内是不可能的。如果以后供求关系好转的话,建议适当的把国内大学实习时间前调。

    

    总的来说,不能怪学生。只有很少的人能在没压力的条件下还奋发的。最近听说西安的一个学校开始实行淘汰制度了(我的意思是考试2,3次都不及格的就自动注销),是个不错的开始。

    

    

    最后说一句:好的程序员是建立在好的码代码的基础上的。千万表爬都没学会,就要学跑了。强制的灌输非常抽象化的东西,对于普通it人都是非常难以理解的。

  ===================================================

  你太自以为是了,不要动不动就拿国外的大学来压国内的!你现在的能力能达到国内重点大学计算机本科二年级算是不错!

  

  .net等只是作为一个开发的工具而已,有什么值得骄傲,有本事就自己开发一种新的语言来!计算机科学学的是计算机的理论,而不是纯粹的应用!记住,国内只有计算机科学与技术这个专业!你要学应用,你去软件学院吧!

作者:上帝佑我女王 回复日期:2006-12-27 04:45:20 

  哈哈,感觉研究生的核心课程就是以高深数学做理论基础的《人工智能》了。

作者:菩提道次第 回复日期:2006-12-27 9:08:09 

  作者:reginvalid 回复日期:2006-12-26 17:53:16 

  比如你更强调的是能不能很好的用图形表达Hanoi

  ————不是的,更加强调的是如何在计算机里面表达问题的思路,人机界面只是其中的一个方面,更加重要的是各种数据结构与现实世界的对应,比如你要理解为什么一个数组可以代表一堆盘子

  

  而不是优化运行时间带来的经验

  ————这里是面向大学生的,这个话题不论在汉诺塔还是八后,难度都超过了大学生应有的水准,不如集中精力理解上面一个问题好,没有上面一个做基础,这个问题比较空泛

作者:菩提道次第 回复日期:2006-12-27 9:12:13 

  作者:joubai 

  ————呵呵,我把代码量尽量往小了说了

  这几年做底层架构,速度才慢下来的

  小吹一个:

  再复杂的代码,递归,嵌套循环,大逻辑范围,我基本上写完了就对了,最多把写错的变量改一下,循环控制里面的起止位置[几种语言的数组和字符串的起点不一样,0和1都有]改一下就完了

  呵呵,我已经七八年的时间没有在调程序上花过时间了

作者:漫步随想 回复日期:2006-12-27 09:17:23 

  看来楼主已经做到一定高度了,不然不能这么闲。。。

作者:菩提道次第 回复日期:2006-12-27 9:18:16 

  作者:joubai 

  ————不知道你的具体方向,我的基本观点深入一下是这样的:

  设计模式在某些行业或者某些环境下,还是有一点意义的,但是不大

  比如在游戏引擎,cad等等方向上面,或者说在必须构建一个多层次协作团队的时候,比如说公司里面强者只有两三个,弱者一大堆,就是那种不合格的大学生,然后,公司面临的业务重复性很大,这种时候模式有些意义

  

  不太清楚c++有没有reflect这个类,如果没有的话希望你看看java的这个类,然后仔细思考一下,用这个类,结合数据库或者文本文件,是不是能够更加容易的实现大多数的模式,并且控制起来简单明了的多,这是一个非常重要的思路,希望你认真对待

  

作者:菩提道次第 回复日期:2006-12-27 9:21:22 

  作者:songsAndMorning 

  ————基本一样,关键还是在你自己要多做事情,能达到这里提到的基本要求,在上海很容易生存

  这两个系找工作基本上一个方向,就是各种方向的程序员

  上交比较好

  那两本是游戏之作,不能认真

  

作者:菩提道次第 回复日期:2006-12-27 9:22:27 

  作者:漫步随想 回复日期:2006-12-27 09:17:23

  不然不能这么闲

  ————呵呵,这个可不是闲的,这是一个很有意义的话题

  胡乱写点东西换换脑子很好

作者:菩提道次第 回复日期:2006-12-27 9:24:10 

  作者:joubai

  ————我曾经在六年前在模式上面花过整整一年的时间,后来的结论就是惨痛两个字,我想并不是水平问题

作者:bonecat 回复日期:2006-12-27 10:13:08 

  大一得时候,学习pascal,下学期学习汇编,

  当时认真作了几个题目,

  一个是汇编写一个非常简单得算法,当时老师给出了基本框架,但是我没看基本框架,而是完全自己做,最终没有作出来,但是体会了不少东西,收获不小,

  大二学C,前半学期没学,甚至连C分大小写都不清楚(Pascal不区分大小写),考试前1个星期搞定。

  现在英语不成,就靠C语言和汇编得功底混了,

作者:游荡在人世 回复日期:2006-12-27 11:15:29 

  你以为你是谁,盖滋?

  油条一根

作者:pwmodify 回复日期:2006-12-27 12:11:00 

  楼主菩提说:

  但是你始终回避我的两个要点:

    编程序需要上机实践

    编译原理和数据结构的课题是最好的上机实践的习题

    

    如果你仅仅希望给自己的大学生活找个借口,希望你不要再说什么了,会让很多本来能够判断清楚的大学生混淆概念

    

  

  先回答你的第三个问题:

  

  “如果你仅仅希望给自己的大学生活找个借口,希望你不要再说什么了,会让很多本来能够判断清楚的大学生混淆概念”

  

  楼主可能误会我的意思了,因为帖子这么多,楼主可很混淆了。我的注册名是pwmodify,我在前面的帖子里面已经说了,我不是大学生。现在我再重复一遍:我不是大学生,我现在的生活也不是大学生活,我早已经毕业了(2003年毕业的)。我给大学生活找借口干吗?我又不是学生。

  再次提醒楼主,回帖子的时候,要看清楚发帖人的注册名。我的名字是pwmodify,在我的所有帖子里,并未提及我的大学生活。

  

  前两个问题:

  编程序需要上机实践。这是理所当然。但并不是计算机的每个专业,都必须编程序。像计算机制图、电子商务这些,也属于计算机专业,但是,他们的重点不在编程序。(当然,想深入的例外)

  

  编译原理和数据结构的课题只能说是“计算机软件专业的 最好的上机实践的习题”,或者说是“以编程为主攻方向的 最好的上机实践的习题”,而不能说是“计算机所有的专业的最好的上级习题”。

  举个例子,“计算机多媒体设计”这个专业,最好的上级习题可能是“制作一个动态多媒体效果影片”,而不是数据结构习题。

  

  我再说一次我的表达重点:计算机专业分为很多方向,比如软件工程、计算机制图、电子商务、人工智能等等领域,各个方向的侧重点不一,楼主菩提不能以偏概全。楼主的信,可能是针对“计算机软件”这个专业的学生的要求,而不是“计算机系”学生的要求。

  

    

作者:pwmodify 回复日期:2006-12-27 12:21:35 

  楼主菩提说道:

  你说十年掌握c++,我无话可说

  

  这句话楼主似乎透着不解。

  其实,我可以告诉楼主,这句话是有道理的。

  

  C++3个月时间也能掌握,3年时间也能掌握,10年时间也能掌握。但是,掌握分为算法上的、本质上的、核心上的不同,是有层次的。

  

  如果,你学C++仅仅为了通过考试,我告诉你:3个月足够了。

  如果,你学C++是为了开发软件,我告诉你,3年足够了.

  如果, 你学C++是为了窥探它的精髓,挖掘它的灵魂,那么,我告诉你,10年都不够!!!!

  

  超级解霸的作者梁肇新的C++水平很厉害,江民杀毒软件的王江民C++水平也很厉害,但是,他们从来不自大,从来都不敢说"老子已经全面掌握C++了,C++老子看透了"

  

  

作者:pwmodify 回复日期:2006-12-27 12:32:57 

  楼主菩提曾经说到

  "呵呵,我已经七八年的时间没有在调程序上花过时间了"

  

  现在,不论是国内还是国外,多已经达成共识,程序在调试过程中花费的时间要比写程序的时间多得多.上到专家教授,下到程序员\学生,都知道,调试一个程序要花很多时间.

  

  楼主说这句话,有两种可能:

  第一,楼主已经七八年没编程序了.自然不用调试程序.程序都让楼主招聘的"能干活的人"给弄好了.哈哈.

  第二,楼主是个超人.写几万行的程序,几乎不用调试,直接销售出去,让客户帮着"调试"了.

  

  哈哈~~~~~~~~~~~长见识了.

  

  

作者:reginvalid 回复日期:2006-12-27 13:20:55 

  而不是优化运行时间带来的经验

    ————这里是面向大学生的,这个话题不论在汉诺塔还是八后,难度都超过了大学生应有的水准,不如集中精力理解上面一个问题好,没有上面一个做基础,这个问题比较空泛

  

  -----------------------------

  这个问题没有空泛,而是很实际的问题。解决一个问题,可以从问题表述开始最直观地入手,写代码,也可以换个思维方式,换个看问题的角度,再写代码。后者可能会使程序的运行时间降低好几个数量级。而能获得这种水平,需要懂得算法,一些技巧,一些数学知识……而这些,最有效的获得途径是看书。这是我们算法分析这门课的要求。

  

  楼主觉得计算正弦余弦函数,除了泰勒公式外,相不相信其实只要加法和移位就能做到?^_^

  

作者:菩提道次第 回复日期:2006-12-27 13:42:24 

  作者:reginvalid 回复日期:2006-12-27 13:20:55 

  楼主觉得计算正弦余弦函数,除了泰勒公式外,相不相信其实只要加法和移位就能做到?

  ————呵呵,实际上我一再强调数组和字符串也就是这个意思,最基本的才是最好用的

  换个角度的问题,以我现在的水平也觉得有些难度,所以不太建议,如果绕脑子绕得很好当然可以尝试一下

作者:菩提道次第 回复日期:2006-12-27 13:52:07 

  作者:pwmodify 

  ————我注意了,你已经毕业三年了,我的意思就是你在为你在大学的时候没有好好学习辩解

  电子商务和计算机制图和多媒体制作都不是计算机系,属于计算机应用的分支而已,不是本文覆盖的读者群体,计算机系[computer science]的定义你可以自己查查字典

  c++这门语言的设计也没有花十年,我还是不清楚你要花十年在一个语言上干什么,听起来象是你要了解它的本质核心还有灵魂,那你不如仔细阅读一下它的编译器的源代码,应该找得到的,不论如何花不了十年的时间

  我写程序一般把一个模块或者功能点整个完成了才调试一下,这个调试仅仅是语法上面的,偶尔有忘记写语句的情况,但是很少,我的意思是,即使非常复杂的几千行代码,我的调试时间可能仅仅是几个小时,甚至于一个小时以内,所以说在这种问题上不花时间了,比如你上面看到的js版本的hashTable,就一次写完,没有调试,到现在用得很好

前方纵有浪百千,笑傲江湖冲向前

作者:菩提道次第 回复日期:2006-12-27 14:07:21 
  作者:pwmodify 
  不论是国内还是国外,多已经达成共识,程序在调试过程中花费的时间要比写程序的时间多得多.上到专家教授,下到程序员\学生,都知道,调试一个程序要花很多时间
  ————这个问题给你深入阐述一下
  程序员可以分成两种,一种是优秀的,有天分的;一种是可以做事情,但是太复杂的东西做不了的,至于达不到这个帖子里面说的基本要求的,根本算不上程序员
  
  优秀的程序员和普通程序员的本质区别的一个重要表现就在调试程序花的时间上面,这里包括了经过测试可能发现的问题的多少,发现的问题多,调试时间必然长
  优秀的程序员,自己预测需要完成的功能当中,测试的时候一般不会出什么问题,所以累计的调试时间很短
  普通程序员则相反,对于大量的问题没有预见性,所以测试的时候会发生大量的问题,所以调试时间会很长
  
  给你讲个例子,这样的例子我周围已经发生过无数次了:
  某人,开发某个复杂模块,历时一个月,代码累加到三千多行,终于进入了跷跷板阶段,就是发现他某个错误之后,改正了之后,前面对的东西又错了,如此循环往复,熬夜一周之后终于放弃让他做了,换一个优秀选手,我给整理思路,重新写代码,四天写完,一天调试好,原来要做的东西都做到了,也都对,前面那个写不出来的兄弟现在在美国,已经在一个公司挑大梁了,呵呵,所以你不要认为美国公司的水平多高多高,牛的公司和人有,但是不多
  
  至于这种现象的成因,我可以告诉你,绝对是多写代码,多调试训练出来的,绝对不是你挖掘某种语言的核心灵魂本质能够做到的
  
  真正的高手,连递归都很少用,最简单的语句,最简单的数据结构,可以实现最复杂的功能,而且不会出错,效率高


作者:菩提道次第 回复日期:2006-12-27 14:20:48 
  作者:pwmodify
  ————唉,再给你深入一下吧
  javascript是很有意思的一种语言,我上面的那个hashTable实现,其实里面包含了很多思想,尽管只有一个二维数组,几个for语句,但是其中能够给你拿出来当成思想讲一下的东西还是相当多的,比如:
  为什么不需要做类型检查
  空值处理为什么那么简单
  清空数组的做法
  数组扩充的做法
  不同类型的对象放到里面会有什么结果
  为什么在javascript里面能够这样实现,为什么在你的c++里面就不能这样实现、、、
  
  不客气地说,我认为这些才是语言的思想


作者:菩提道次第 回复日期:2006-12-27 16:12:33 
  作者:reginvalid 回复日期
  这是我们算法分析这门课
  ————刚刚看到这句话,你们什么学校呀,本科就开这门课??
  我赌一块钱你不是本科生


作者:kinkoyo 回复日期:2006-12-27 17:21:18 
  算法分析也有本科开的...
  不过讲的不深而已,主要是能实现(比如我们学校)
  深的TMD就是数学...(原谅我讲粗话)


作者:reginvalid 回复日期:2006-12-27 17:36:42 
  这是我们算法分析这门课
    ————刚刚看到这句话,你们什么学校呀,本科就开这门课??
    我赌一块钱你不是本科生
  
  呵呵,我是本科生,这是我们的专业课。
  什么学校不太要紧,不懈怠的话,我相信自己能找到好工作的。


作者:菩提道次第 回复日期:2006-12-27 17:58:24 
  作者:kinkoyo 
  ————呵呵,偶也对数学分析深恶痛绝,如果当初不学这个,偶大概要比现在年轻两岁
  
  
  作者:reginvalid 
  ————才知道本科也有这门课,又犯错误了
  读算法分析应该建立在已经编写调试大量代码的基础上


作者:夏末雨_1110 回复日期:2006-12-27 21:31:00 
  楼主的很多观点还是很正确的,从个人工作经历来看,做程序的是需要好好学学编译原理和数据结构的,另外还要好好学学操作系统。
  
  本人毕业半年,工作五个月,专业信管,学位管理学,从事嵌入式开发,是不是感觉驴头不对马嘴?不要惊慌,公司有个化学专业的linux达人,所有项目中的os层架构都是这位达人来策划完成。
  
  本人只会c/c++,学过数据结构,工作中和超级小内存打交道,数组和char*每天伴随左右,对指针也是除了睡觉就会见面的地步,没道理啊,干嘛要和我这么熟,不过之后用java开发eclipse插件的时候发现java除了编译器那层的东西,好像没什么是新鲜的,可能就是一堆java库吧,整天这个包那个包。开发的时候连java书都没有看,下载了java的库帮助就开始了,看看正则表达式,立马就开工,插件写出来后同事帮助移植到vs2005,主要功能项目文件以及文件内容的统计,自动给.h、.c、.cpp文件加文件头注释和函数头注释,审计代码,检测不合规范的代码行和有语法错误的代码行,就这些功能来看,灵活性和va一般,比va更加强大智能。
  后面参加wince的开发,发现其实设计架构还是很重要的,不然到后面会很吃力。
  
  因为感受,越发觉得需要学习编译原理,其实真的很有帮助的这个东西,起码你能理解很多底层的原理东西,这个比起你会拉控件,写几行别人的接口函数要强悍很多吧。
  
  c++用到久了,看看win32,看一下mfc的类继承架构框架,你会发现mfc也就那么点东西,干嘛需要记忆,用的时候msdn,重要的是你具有原理性的思想,这里的思想和那些设计模式还是有点区别吧。本人最看不起整天拿个设计模式和uml装bi的设计者。设计不出好的架构不说,还耽误人。
  
  强烈建议计算机专业的学生去debug,这个难度比你写代码还难,有不一样的声音么?
  
  本人专业限制,又因自身需要,强力希望接触编译原理这块荒地,望达人指点迷津,给俺点建议,比如比较好的入门书籍,比较好的时间规划建议:)!


作者:夏末雨_1110 回复日期:2006-12-27 21:45:32 
  强烈要求楼主给我答复,嵌入式开发整天好像就是数据和内存了,其实很不能理解为什么不好好学学编译原理,编译器就是解释编程语言的,有那个条件还不学,不像话,你想想啊,你学好编译原理不就是变向的理解了很多语言了,最根本的也就是解释为机器语言啊。我麻是因为专业不开这个课,撩开老底吧,我连操作系统都没有学过,不过就是自己认真做自己的毕业设计,自己写了点程序调试,我想编译原理和数据结构应该是计算机专业的基础必修吧。我能够被公司要了,想必本人还算勤奋和有点天资,呵呵,自夸了。
  
  再次要求...我要怎么学,有好的书籍么,工作了,时间真的很少,但是还是很想好好学的。


作者:2350054 回复日期:2006-12-27 22:35:04 
  还想请问下楼主~现在java大部分都是做WEB开发,现在好多人都说J2EE开发没什么技术含量,就是写些SELECT语句,楼主怎么看?楼主是做哪方面的开发呢?


作者:菩提道次第 回复日期:2006-12-28 9:03:01 
  作者:夏末雨_1110 
  ————学习编译原理和数据结构建议你看清华和上交的教材,我们那段时间的教材就很好,估计现在这两个学校的教材也没变
  
  外面的这两门课的书烂得一塌糊涂,基本看不明白他在讲什么
  
  按照你的水平,大概看看书,理解一下算法,然后尝试做一个规模不大的课题,就像我上面讲的那样,把词法分析语法分析做完,符号表那部分也做完,基本上就不错了
  


作者:菩提道次第 回复日期:2006-12-28 9:10:32 
  作者:2350054
  ————呵呵,可以说我是在做java的web框架
  select语句本身的技术含量很高,不能和编译原理的课题比,但是至少比把汉诺塔表达得很好难度高得多,写得好的人和写的差的人差距很大
  
  如果是在别人的框架下面作事情,技术含量确实不高,前一页的老王就是这样的人,不过如果你希望在别人的框架里面加上便于自己动作的东西,难度就骤升,这种时候编译原理的重要性就显现出来了


作者:pwmodify 回复日期:2006-12-28 16:55:05 
  楼主菩提问我:
  
  “ 为什么在javascript里面能够这样实现,为什么在你的c++里面就不能这样实现、、、
    
    不客气地说,我认为这些才是语言的思想
  ”
  
  
  
  对于javascript这个语言,我没有应用过,不太了解,所以,我不敢擅自发表评论。
  但是,C++我用过。
  
  楼主问我:
  “
  为什么不需要做类型检查
    空值处理为什么那么简单
    清空数组的做法
    数组扩充的做法
    不同类型的对象放到里面会有什么结果
    为什么在javascript里面能够这样实现,为什么在你的c++里面就不能这样实现、、、
  ”
  
  我只有这样回答楼主:
  
  因为,javascript是javascript,C++是C++,它们是2种语言。
  javascript里面实现的功能,C++不一定能实现(或者很困难),反之,C++里面实现的功能,javascript也不一定能实现(或者很困难)。
  
  所以说我认为楼主问我这个问题纯粹是刁难,而不是论述什么语言思想。
  
  不过,我非常希望和楼主成为朋友。以后共同促进,共同提高。
  
  我在前面的贴子里,想真心和楼主交个朋友,我前面留下了我的QQ号,但是,不知为什么,楼主死活不肯留下他的QQ或者邮箱。
  
  


作者:pwmodify 回复日期:2006-12-28 16:56:07 
  楼主菩提说:
  
  “程序员可以分成两种,一种是优秀的,有天分的;一种是可以做事情,但是太复杂的东西做不了的,至于达不到这个帖子里面说的基本要求的,根本算不上程序员”
  
  这句话有些道理,但是,我认为,编程不能靠天份,并不是你有天份,你就可以成为优秀的程序员(楼主的“天分”是个例外)。我更相信以勤补拙这句老话。
  
  
  接下来楼主的这句话有些站不住脚:
   
    “优秀的程序员和普通程序员的本质区别的一个重要表现就在调试程序花的时间上面,这里包括了经过测试可能发现的问题的多少,发现的问题多,调试时间必然长”
  
  
  一个程序员无论多么优秀,他在编程序的过程中,绝对不可能预测到“软件测试过程中所发现的错误”,也决不可能预测到软件测试的结果。谁都不能!没有人能做到。(编译错误除外)。如果能够这样,那还要“软件评测工程师”干什么。
  
  最重要的一点,是因为楼主经常莫名其妙的冤枉我。
  楼主说:“呵呵,所以你不要认为美国公司的水平多高多高,牛的公司和人有,但是不多”
  
  这句话说得我莫名其妙。我什么时候说过美国公司的水平很高了。你看看我以前发的所有贴子,那一句话说过外国公司水平高了?
  楼主啊,你是不是眼睛看花了?我前面只举过一个例子:就是江民公司的王江民和豪杰的梁肇新,他们不敢狂妄自大,说自己C++水平高,尽管他们的C++用了十几年。他们很虚心的。江民公司和豪杰公司都是我们中国人自己的公司。请楼主知晓!除此之外,我没有提到任何一个外国公司。
  不过我不会怪楼主,因为楼主可能看错了。楼主也是好意。
  
  
  楼主说:“至于这种现象的成因,我可以告诉你,绝对是多写代码,多调试训练出来的,绝对不是你挖掘某种语言的核心灵魂本质能够做到的”。
  
  哈哈,可笑,不挖掘核心和本质,怎么能提高水平?搞明白一个精辟的程序,挖掘语言的思想、核心和本质,比你自己闭门造车写10万行代码强的多。
  
  哦,希望楼主回我的贴子的时候,复制粘贴我的原话,别冤枉我了~~~~~~~~~~~~~
  
  
  
  


作者:pwmodify 回复日期:2006-12-28 16:57:10 
  楼主菩提在给我的回帖中说道:
  
  “我的意思就是你在为你在大学的时候没有好好学习辩解”
  
  可能因为帖子太多,楼主可能眼睛看错了,搞混了用户名。
  
  我的用户名是pwmodify,在我发的所有的贴子里,没有对我的大学生活提一个字,更没有对大学生活作任何论述。我只提到一句:“我是2003年毕业的”。此外,我的贴子对大学生活没有发表任何论述,也没有提及我的大学的成绩如何。(不论是学习方面还是工作方面),更没有辩解一个字。
  这一点请楼主知晓。
  
  楼主菩提说:
  “电子商务和计算机制图和多媒体制作都不是计算机系,属于计算机应用的分支而已”
  
  的确,在字典里,电子商务和计算机制图、多媒体制作都不属于计算机系。但是,我们要讲究实际情况,不能死抠定义。
  
  在中国的大学教育里,包括北大、复旦,都把“电子商务、计算机制图和多媒体制作”归纳为“计算机应用”,并且把“计算机应用”、“计算机软件”、“计算机信息安全”等等统一归为学校的“计算机系”,统一管理。
  
  我认为应该正本清源,楼主的主题是《用人单位给计算机系学生的一封信》,这个题目太大了,不太适合。我的目的就是让楼主明白,计算机系各各专业的主攻方向不一样,不能把数据结构课程设计当成是“放之四海皆准”的死标准。
  楼主的这个标准,只适用于和编程有关的专业,比如“计算机软件、网络”,而不是整个“计算机系”都通用!
  
  建议楼主的文章应该改个名字,叫《用人单位给计算机软件专业学生的一封信》,这样就对了。对于计算机软件专业的学生,编程序是基础,数据结构、编译原理的课程设计是很好的训练课,是最好的训练课,对于其他专业则不是。
  
  


作者:菩提道次第 回复日期:2006-12-28 17:13:46 
  作者:pwmodify 回复日期:2006-12-28 16:55:05 
  楼主死活不肯留下他的QQ或者邮箱
  ————我确实没有qq或者msn,邮箱也很少用
  其实我没有说你不好的意思,不过就你上面说的东西我还是不赞成的,但是基本上可以打住了
  
  刚刚开了博克
  http://putidaocidi.tianya.cn/


作者:pwmodify 回复日期:2006-12-28 17:16:59 
  楼主菩提曾经说过:
  
  如果我是码头扛大包的老板,那么如果我说:
    “我们希望找到能干活的人,就是至少能够扛动一包大米的人”
    这个要求难道很过分吗?
  
  
  如果楼主是码头扛大包的老板,那么我无话可说。但是,楼主别忘了,信息产业和码头搬运是两码事!
  
  码头搬运不需要培养人才,不需要看远期利益。而IT公司不一样。
  不知楼主这么说是什么意思,竟然举了这么一个例子。
  
  如果楼主一定要采用码头老板的经营策略来经营楼主的软件公司,那么,建议楼主招聘100个高级程序员,来给楼主生产程序。哈哈。
  


作者:hotcola 回复日期:2006-12-28 17:17:21 
  屁,在中国能做lz说的课程设计的人会找不到工作


作者:pwmodify 回复日期:2006-12-28 17:28:29 
  楼主菩提你听着:我来教育你:^_^
  
  菩提本无树,明镜亦非台.
  本来身无物,何处惹尘埃.


作者:菩提道次第 回复日期:2006-12-28 17:40:57 
  作者:pwmodify 回复日期:2006-12-28 17:28:29 
    楼主菩提你听着:我来教育你
  ————呵呵,年轻人:)


作者:从来不登陆 回复日期:2006-12-28 18:16:27 
  这个帖子又上来了,
  
  楼主,我不懂java,如果我没有理解错的话,你说得java里面的reflect是不是反射的意思,如果是的话,C++/C似乎是不支持反射的,不过C#是支持的。不过我怎么也搞不明白reflect和设计模式有什么相同的地方,楼主能解释一下吗?
  
  为了方便,就拿两个比较简单常用的设计模式:外观模式,策略模式,reflect是怎么替代它们的?
  


作者:从来不登陆 回复日期:2006-12-28 18:18:58 
  上面有位兄弟要做草莓田的问题,我粗略的想了一下,似乎不是太难的东西,不过有可能需要大量的计算,要考虑算法复杂度了。


作者:小小我的爱 回复日期:2006-12-28 20:23:46 
  其实觉得楼主说的还是挺有道理的,基础很重要!
  偶计算机专业毕业,但真是愧对我的专业了!!!其实大一就觉得自己不喜欢这个专业了,可又没办法转系,所以一直才撑到毕业!脑子里一团浆糊!


作者:菩提道次第 回复日期:2006-12-29 9:04:46 
  作者:从来不登陆 
  ————这个地方我已经说得太多了,呵呵,实在是不方便深入讨论
  再多说一点:
  设计模式的目的是为了应付具体场景的多变性和复杂性,其核心内容是参数传递方式以及类型的灵活变化,以及各种方法调用方式的灵活变化;reflect类提供了控制参数和方法调用的方法,通过对这些方法的灵活使用,配合上配置文件或者说数据库,你可以把大多数模式要达到的目标用更加简明的方式实现,或者换个比方,这个类把编译器的某些东西暴露给你使用
  


作者:从来不登陆 回复日期:2006-12-29 10:55:18 
  楼主,帮人帮到底,
  
  你说就这个问题说得太多了,但我真的没看到,你只是说能代替,但一点方法和到底都没有讲,如果说讲得太多了,就是“reflect能实现它们”这句话重复了好几遍。
  
  “设计模式的目的是为了应付具体场景的多变性和复杂性,其核心内容是参数传递方式以及类型的灵活变化,以及各种方法调用方式的灵活变化”,我们先不说这个话到底有多少正确性。你认为reflect实现比设计模式有优点,所以我只想具体了解一下“外观模式,策略模式”,换成reflect是怎实现的?对非常熟悉reflect的用法的你,用该一点也不困难,有可能短短几行代码或者短短稍微解释几句就可以了。大家都是软件老手了,不需要多少深入的解释。
  
  说句实话,我真希望你是正确的,如果这样的话,我以后就尽量reflect了,谁也不想把简单的问题复杂化。当然reflect有可能会有效率的问题(C#是这样,java不了解),不过为了简单化牺牲点性能是值得的。
  


作者:通吃伯 回复日期:2006-12-29 11:07:27 
  为了写代码还是看代码争论大可不必,两者不可偏废。古人云:“学而不思则枉,思而不学则殆”,不正说得是此事嘛。


作者:菩提道次第 回复日期:2006-12-29 11:23:00 
  作者:从来不登陆 
  ————呵呵,不好意思,这个是我们的比较核心的内容,所以只能言尽于此了
  reflect类本身很简单,但是提供了对其他的类进行操纵根本方法,深入思考的核心在于:
  通过一个或者几个字符串,激活一个类的某个方法,并且把返回值装到某个容器当中进行后续处理
  然后思考调用经过继承的类的方法的各种现象、、、
  
  基本上我已经把问题说清楚了


作者:菩提道次第 回复日期:2006-12-29 11:27:57 
  作者:从来不登陆
  ————这个用法的性能问题相对于带来的逻辑清晰性基本上属于可以不考虑的问题
  另外,没有性能问题,你通过直接调用new然后使用某个方法,在java内部也是一样调用reflect执行的
  


作者:从来不登陆 回复日期:2006-12-29 11:32:36 
  关于写代码和看书的问题,毫无保留的支持楼主。
  
  常常遇到一些刚刚人夸夸其谈,让他做一个压根就做不出来。
  做项目就不说了,那当然是要写大量的代码的。就是平时的学习,不写代码也是绝对不行的,别人的经验再好,你如果没有自己亲自实践,是根本掌握不了的。比如编译原理这门课,学完后你至少要做个语法分析和词法分析器,如果你连这个都没做,只能说你看过这本书,或者说你听过这门课,但千万别说你学了这么课。


作者:从来不登陆 回复日期:2006-12-29 11:49:01 
  作者:菩提道次第
  
  原来是技术机密,那就不打听了。
  
  不过听你略略介绍的那几句,还是给我造成了困惑。
  
  比如在C#中
  在使用数据库的问题,可以使用直接生成factorythefactory=newsqlfactory;
  或者使用反射来生成factory,
  factorythefactory=assembly("sqlfactory.dll");
  
  不过这还是使用工厂模式,换汤不换药。
  
  当然你如果不用工厂模式,而是把数据库里面所有的存取类都用reflect来做,还认为这样实现起来简单,那就当我什么都没说。


作者:菩提道次第 回复日期:2006-12-29 12:16:54 
  作者:从来不登陆
  ————我已经好长时间没看thinkinginjava这本书了,那个第十六章讲范式的版本中,主干的例子是一个垃圾回收例子,里面混用了factory和观察器[访问者]模式,按照他的描述[大概]是从rtti的一个演进
  
  思考这个问题:
  把垃圾回收这个例子里面的factory模式改成这样:
  通过读入一个垃圾和对应类,以及处理方法的配置文件,把每种垃圾对应的instance激活,找到对应处理方法,激活方法,获得相对统一的结果
  
  把visitor类改成这样:
  预先定义可能发生的事件类型,写到一个配置文件里面,然后,在激活每个对象的时候寻找是否存在此方法,如果存在则调用之
  
  其实就是把rtti的思想极大化


作者:从来不登陆 回复日期:2006-12-29 16:02:42 
  作者:菩提道次第
  我看了下这个例子,我还是不明白你的意思。
  
  且不说很多其他的模式根本就跟反射没什么关系,就这个例子谈谈也好,
  
  比如说这里面的factory模式是为了保证垃圾类的可添加性的,就是说当添加了一种新类型垃圾的时候,其他部分不需要变动,要变动的只是factory部分。这里面的factory里面也使用了原形模式,通过反射和配置文件来保证factory的灵活性,我不知道你说的东西跟这个有什么区别,如果有区别请指出。
  
  对于vistor也使一样的,就是可以原形化创建vistor。如果像你说的仅仅寻找方法,方法存在就调用,对很简单的处理,可能是可以这样做的。就像本例中一样,添加一个新trash的时候,vistor都会变化,你把每个要变化的东西用方法来实现,未尝不可,但如果这个实现很复杂呢?还有比如看到同一个对象(比如老鼠),两个观察者(比如猫)都会有反应的,这时候你还要用参数来区分不同的观察者吧,这么做起来并不方便。
  
  其实,我和楼主的区别就是前人总结的好些东西确实很有用的。当然使用起来不能不分场合,就设计模式这个来说,比如我做一个东西,我敢肯定它不管现在和以后都只用access作数据库,这个时候根本就没有必要做个数据库工厂。


作者:菩提道次第 回复日期:2006-12-29 16:55:04 
  作者:从来不登陆
  ————抱歉,确实不能再讲下去了
  我们可以谈其他问题,不是这么关键的地方我一般都会知道什么说什么


作者:菩提道次第 回复日期:2006-12-29 16:58:52 
  我和楼主的区别就是前人总结的好些东西确实很有用的
  ————这一点我完全同意,只是反对很多过于复杂的模式,一些比较简单的模式还是有一定的意义的,这个和我对继承的观点一样,层次过多的继承,会严重影响程序的可调性,但是,特殊情况和场景下,超过三个层次的继承还是有意义的,不能一概而论
  


作者:bushch 回复日期:2006-12-29 17:34:55 
  来到这个版块被弄晕了。
  
  一会儿那个30岁第一次跳槽的说
   “作国内MIS的:猛学系统框架,企业业务流程,什么C++,linux,拿来玩玩算了,别费那事去猛学了。
    作嵌入式的开发:猛练C,C++,J2me.可以了,hibernate,VB,Delphi,PB,关你鸟事
    作咨询的:也就别学编程了,就多买几本企业管理,财务,物流书看看,多看几个案例,深入研究。”
  
  一会儿这儿又是“把编译原理、数据结构弄好”都不知道信谁的了。
  
  请问楼主一个想搞MIS的是先搞熟java、servelets&jsp,还是先搞熟编译原理、数据结构?
  


作者:菩提道次第 回复日期:2006-12-29 18:17:25 
  作者:bushch
  ————简单回答一下
  嵌入式的我没做过,上面一个兄弟已经给出意见了,和我一样,这两门课最重要
  咨询,国内mis这两个方向也是我的重点方向,我的意见是如果你是计算机的科班,哪怕你现在大一,已经决定做咨询了,还是建议你把这两门课搞透彻,咨询的过程中一个强劲的技术基础的意义非同凡响,是你和别人拉开距离的非常重要的基本功
  
  搞mis开发,如果你在大学,最重要还是这两门课
  
  其实你的问题很怪,大学的时候往往轮不到你决定搞什么,所以我的意见是好好学习这两门课,做好习题,如果你已经毕业了,往往没有太多时间了,这种时候学什么重要要两说了


作者:pwmodify 回复日期:2006-12-29 20:03:10 
  菩提道次第,菩提本无树.哈哈.


作者:菩提道次第 回复日期:2006-12-31 10:53:57 
  关于收入和发展的问题:
  刚刚看到一个ibm的工资架构帖子,谈谈做技术的收入问题
  
  应届毕业生基本工资税前,研究生通常是6500(税前,含补助,下同),本科生是5500左右
    band90会持续一年的时间,然后转成band6,band6的基本工资是9000。
    band6至少要呆2-4年之后能升到band7。band7的基本工资是13000。
    band7至少要呆3-7年之后能升到band8。band8的基本工资是23000。
    band8会呆多少年就很难说了,见过一个花了15年升上band9的。
  band66000-11000
    band710000-17000
    band816000-26000
  ————从这些文字里面推论,在ibm6-12年能够干到band8,税前收入在16k到26k之间[貌似当年我一进sap就有band8的水平了,呵呵,那还是7年前,真不知道呆到现在会是什么样子]
  sap,oracle这类公司和ibm的待遇类似,ms和google略高
  
  那么,在国内的公司会是什么情况呢?到大的外企和在国内的公司呆着在工作环境,发展,机会上面有什么不同呢?[我们只谈做技术的]
  
  从收入上谈,刚开始工作的头三年在国内公司绝对比不上这些大外企,应该说只有一半左右吧,但是到三年左右,会到一个关键分水岭,这个地方就和你基本功是不是扎实有很大关系了
  
  基本功扎实的,比如说能够完成我上面说的课题的,工作三年之后,一般能够在公司当中坐上一个相当重要的位置,就是公司里面碰到什么技术难题都来找你解决的那个位置,至于是项目经理还是某块的技术负责人都不必谈了,如果你三年后能够达到这个位置,一般来说在北京上海广州深圳杭州这些地方一年可以拿到10-20万,相当于band7左右,按照上面的说法,这个时候你就基本上追平了,但是如果你的基本功差的话,这个时候应该还是每月三五千左右徘徊,基本上你也就这样了、、、这个也是大家认为国内公司收入低的主要原因,其实是因为你没用,不是公司开不出价格
  
  三年之后,比如四五六七年,成为关键先生的选手,在国内公司一般就可以开始获得项目提成了,或者公司分红,这种情况下大家差异就大了,但是基本上可以肯定,收入是超过大型外企的,每家经营五年以上的公司都有几个这样的选手、、
  
  从发展上来说,ibm,sap,oracle基本上每家公司只有屈指可数的人,加起来三十个左右能够自己决定项目的技术架构,解决问题的方式等等,你算算进入这个行列有多困难吧[sap获得的最大技术肯定是参与德国产品开发,应该也只有十几个人能够参与],而在国内公司,达到这个境界要容易得多、、这个问题没谈透,而且可能和大家印象不一致,以后慢慢深入探讨


作者:spark07 回复日期:2006-12-31 15:04:49 
  大家的讨论有意义吗?
  弄清是学生的问题还是社会的问题,还是我们教育制度的问题不就完了?
  我认为主要是我们教育制度和社会的问题,学生自身的原因是其次.
  为什么?学过哲学的人都应该知道.


作者:菩提道次第 回复日期:2006-12-31 15:29:35 
  作者:spark07 
  ————典型的怨天怨地就是不愿自己的思路
  
  知道不知道我多么羡慕现在的大学生活吗?
  功课负担不重,大家都有电脑,简直是最好的成才环境


作者:just_for_rest 回复日期:2006-12-31 23:18:04 
  功课负担不重,大家都有电脑,简直是最好的成才环境
  ----------------------
  
  有时候环境太好了,反而失去了学习的动力。记得中学时对计算机充满了热情的,自学basic、c,去机房调程序。到了大学就感觉再也没有兴趣了,浑浑噩噩过了四年。现在看完楼主和大家都讨论,真有重新学习数据结构,编译原理的冲动,呵呵。
  不过现实的说,感觉现在还是了解业务和学好英语比较重要,没办法,生活所迫。


作者:谷观 回复日期:2007-1-1 01:03:37 
  有菩提LZ的地方就有热闹,给你个新年第一顶
  
  前面你给小TX的建议听不听由人吧
  
  不过菩提谈reflect俺觉得还是有些意思的,MS能和你对话的不多嘛而且看到你说的如此晦涩含蓄忸怩,实在一反常态啊,哈哈~~~
  
  俺不习惯java,倒是喜欢C/C++,可以直接摆弄硬件资源,要是想写快点就用PythonPerlRuby了。俺费力的看来看去,觉得你还有点delegate的味道在里面。如果为了动态性要俺去配置你的独家脚本文件,也许俺更愿意用ROR了
  
  ms是不错的framework,只是感觉略微复杂了点(纯粹感觉而已),挺有意思的
  


作者:上帝佑我女王 回复日期:2007-1-1 1:54:04 
  听楼主的建议,争取寒假实现一个语法分析器,另外从低版本开始,研读LinuxKernel。
  感觉现在像楼主这样热心教导年轻人的好人少了啊,建议把这样的贴发到《我的大学〉去。


作者:侯风玄黄 回复日期:2007-1-1 4:19:41 
  高见


作者:菩提道次第 回复日期:2007-1-1 10:54:24 
  作者:just_for_rest 回复日期:2006-12-31 23:18:04 
  感觉现在还是了解业务和学好英语比较重要
  ————了解业务应该在实际项目当中进行,这个是工作之后唯一理所当然应该学习的东西
  学好英语也是学校里面的事情,从这里可以看出来你大学里面也没有全力学习、、
  


作者:菩提道次第 回复日期:2007-1-1 10:59:50 
  作者:谷观
  ————呵呵,确实这样,这里好像只有三四个人看明白我说什么了
  相对于我的框架,ror连玩具都算不上、、、
  呵呵,不过我不准备卖框架,准备卖应用,第一个物流的已经紧锣密鼓的后期工作了,春节前把网址贴上来你老看看,估计第二个上半年也会出来,应该是电力或者药品流通、、、
  说到上面的地步已经只剩下一层窗户纸了,你看明白也别捅破
  另外,我没有脚本,纯粹的java,单纯的对象


作者:菩提道次第 回复日期:2007-1-1 11:02:08 
  作者:上帝佑我女王 回复日期:2007-1-1 1:54:04 
  争取寒假实现一个语法分析器
  ————一个寒假足够了,不过每天最好花八个小时以上,空闲时间够多的话就干脆做一个basic的词法分析和语法分析,连同符号表产生一起做完,然后尝试一下解释执行、、、、
  干完了之后你会对计算机有一个全新的理解


作者:菩提道次第 回复日期:2007-1-1 11:04:51 
  正式考虑一件事情:
  今年写程序的负担没有去年重了,空闲时间会多一些,其他一些专题的展开还不到时机,那么,是不是考虑今年写一本编译原理的课本、、、


作者:pwmodify 回复日期:2007-1-1 19:19:34 
  楼主菩提是个牛人!哈哈。
  


作者:wangnike 回复日期:2007-1-2 12:49:58 
  其实不然,各位听我说:
  
  盗版对大家没有好处:
  
  1、盗外国软件,对我们的利益是直接的,损失是间接的
  
  2、盗国产软件就等于给自己挖墓,因为软件公司倒闭,大家难有更多更好就业机会
  
  3、最好的办法是来看看这里www.zhongguo.com.cn皆大欢喜的办法
  
  4、各位抓紧时间到软件公司就职,软件的机会来了2007年3月!
  
  5、自己有开发软件的就更好了,现在就恭喜你发财
  
  6、具体联系请见www.zhongguo.com.cn联系方式
  
  


作者:pwmodify 回复日期:2007-1-3 17:11:25 
  在西藏、新疆、甘肃等地,程序员的月薪(搞VB、asp的除外),研究生一般都是5000以上,本科3500,大专3000,中专2500,工资比楼主公司开出来的要高。楼主出不起工资,还想找人。。哈哈。


作者:菩提道次第 回复日期:2007-1-8 10:18:27 
  作者:pwmodify 
  ————您在哪个星球??
  


作者:xxyyzz88 回复日期:2007-1-8 12:39:34 
  http://www.soft-job.com/news/24X1SFV3H775WRZ8458372.HTM


作者:smartjeck 回复日期:2007-1-8 13:39:18 
  Mark一下,研究。。。


作者:pwmodify 回复日期:2007-1-10 10:35:33 
  菩提道次第问我:
   ————您在哪个星球??
  我在太阳系的第3颗行星。
  
  不知菩提何出此言?难道菩提是外星人?
  


作者:lg0918 回复日期:2007-1-11 23:45:38 
  留个记号
  我认为有些东西还可以讨论


作者:不能只看表面 回复日期:2007-1-12 21:35:39 
  我强烈反对老王~~~~~首先问下,现在的软件公司中都是由几个支柱支撑的是吗,我说的是技术上的,那我问问你他门这写人可能不知道编译原理和数据结构,你说的没错,只做纯技术的人‘钱景’一般的情况下并不好,但是我一句话还是那样,要想做主人要先做奴才,非常多的报道中都体现了一个问题,那就是中国人在外企都不能静心下来好好做,动不动就跳槽,或是自己开公司,其中大部分都后悔了,数据结构,编译原理对于偏向计算机的人事是非常有必要学,就算学得不精也能理解他大概原理对日后很有用,除非你就象那些没当工人就想当老板骚动者一样,看到别人这个现在比你做的好,就怀疑害怕自己做这行错了,说白了,就算你现在50岁在心里上也就是20岁的,不稳重,你如果说中国现状不合适,学了这些也没任何区别,不如老老实实混个工资,以后的路怎摸走以后在说的话呢,我就鄙视你,就是因为你这样的人多了,现在我门电脑跑的是别人的操作系统,我门用的CPU是别人的,我门什么不多,工厂多,技术专利都是别人的,东西你生产收你的钱,你卖给你门的人我一样收你的钱,就是吃定你了,为什么我门不能学的比他门还要好,超过他门,让他门买我门的系统,这样做的人的确很多会失败,但是如果每个人都是明哲保身的话,那样小日本还会来你家,你姐妹,杀你兄弟。至于你说的那些都有些偏了,说计算机就是以计算机这行业为主体,如果你说电子商务的话,我认为他主体不是计算机,是计算机附属在商务上。


作者:wencn911 回复日期:2007-1-13 01:43:58 
  支持楼主很好的用意,对当今大学生的期望,现在的大学生很浮躁,自以为了不起,什么都会。
  其实问题出在,上了大学,全“迷路”了,不知道要干什么,没有人能指引。
  李开复看出了这点问题,所以他写信,有人看了,醒了,做了,成了牛人。但问题是绝大多数的大学生还没醒,因为他周围的环境绝对是弊大于利,托词“大家都这么干”。
  还有问题是,现在很多学计算机的不知道自己在学什么,不知道怎么去学,甚至根本不喜欢这个专业。
  有的可能就知道,毕业做程序员,拿高工资,但到了招聘那天,呆的了,没地方要,于是上论坛,骂社会。。。。就这样循环中。
  浮躁之深啊!


作者:福寿鱼 回复日期:2007-1-13 2:51:56 
  强帖!!支持菩...次第,..这么拗口的名字,鄙视那个什么老王,中国信息产业发展缓慢就是栽在这种人手里.这种人在企业里的位置越高,越败国败年轻人.


作者:福寿鱼 回复日期:2007-1-13 2:54:08 
  大家讨论这么多能不能推介几本相关的名著??


作者:菩提道次第 回复日期:2007-1-13 09:03:52 
  作者:wencn911 
  ————李开复的那封信满难理解的,他的本意也是在强调努力的重要性,但是很多人会理解成放纵自己的个性的重要性
  


作者:菩提道次第 回复日期:2007-1-13 09:07:17 
  作者:福寿鱼
  ————编译原理的教材很少写得非常简明的,我明年或者后年想写一本,等手头的事情完了之后,不过还要看能不能在大学里面兼个差


作者:福寿鱼 回复日期:2007-1-13 15:19:35 
  简明但不能没有深度哦,简只能说使入门过程更容易,而不是内容浅显。
  以前在读书时就发现很多讲师都是高几届的师兄,是毕业后留校读硕什么的,然后就是充实本系的师资,尽管自己的能力当时不足以对他们说三道四,但是他们的开发经验对学生来讲,好像只是停留在书本上,对出社会工作没有什么实际作用,因为他们也没有在实际生产环境中锻炼过,受压力过,没有太多的实用经验。也许他们的职责就仅仅是在学科中带领学生到门口认识一下学科大门,让学生不要摔倒在台阶上而已。
  感觉大学教育现在与社会、市场严重脱节,不单是学生,教师等的信息也是比较闭塞,很多所谓请来的专家讲坛也只是泛泛而谈或是遥不可及的内容,对学生的信息导向实在混乱。在企业中有很多很好的开发框架、模式和解决方案,拿到大学里是很大的研究价值的,但企业中那几个核心人员不能随便将企业的核心技术泄露,他们就算能到大学里办讲座,其内容与自己的成果也是相差甚远,没有太大价值。而且大学请来办讲座的不是院士就是什么高不可攀的专家,限制很多,讲的东西对学生反而不是很实在。
  总之,中国大学教育缺少与实际生产环境联系的机制。学生不知道自己学的东西到底实用在什么地方,到底有没有经济价值,只能靠自己的道听途说,难免会有很多浮躁的行为。


作者:福寿鱼 回复日期:2007-1-13 15:40:38 
  中国社会就是浮躁的,这是泱泱大国跌倒之后,在不具备很多条件的情况下,不顾一切想要站起来肯定要附带着的弱点。
  浮躁源于没有安全感,做什么事都是想抢先到手再说,哪里还想去考虑几秒钟后的事情。
  但是学术的东西,就是要稳扎稳打,完完全全的理解,实实在在的掌握,如果各行各业都能做成这样,经济价值就会慢慢体现。我们的民族是有像德国人的敬业精神的,千年以前的鲁班先生身上就有。
  不要像某些人强调什么要能够“通过业务逻辑,业务流程帮组客户提高竞争里....”,其实心里是想对客户说“你被耍了.....我对需求不感兴趣,感兴趣的是你的银行帐户”....“什么?你要跟我谈完美无暇的软件产品??中国的软件就是这样的,爱用不用!”


作者:菩提道次第 回复日期:2007-1-13 15:40:52 
  作者:福寿鱼 
  ————呵呵,我的想法是把算法的意义尽量淡化,突出程序是如何构建的这个目标,把编译原理当成单纯的字符串处理来说,另外,对象的编译思路也是非常值得一书的东西
  
  专门讲某个专题,会有泄密的问题,但是把问题变一个样子,转化成编译原理里面的问题,很多东西就可以阐述了
  
  样本准备采用mozilla的那个js编译器,用java写的,里面用了几个模式,比如工厂之类的,终点准备放到代码优化这个地步,产生机器码就不讲了
  
  每讲到一个技术点的时候,我准备都阐述一下在各种类型的实际应用当中这种技巧能够解决什么样的问题,所以这本书准备写超厚,呵呵


作者:自由梦想 回复日期:2007-1-13 16:49:52 
  不小心又走进了老弟的帖子,对你的说法深表赞同。看来我们同一时代毕业的学生的确有许多共同的想法。
  我前天想到给面试的学生出一个简单的从根据HTML的某个TAG找出对应的TEXT内容,想试试他们的编程能力怎样呢。
  你现在使用的主要是JAVA语言?有机会想请教。

前方纵有浪百千,笑傲江湖冲向前

作者:打非办西西 回复日期:2007-1-14 17:12:03 
  软件之道,算法之道啊!
  楼主牛人!
  


作者:打非办西西 回复日期:2007-1-14 17:16:31 
  支持楼主,鄙视老王!
  人人想这老兄一样,中国IT也算是完了!
  


作者:lky31 回复日期:2007-1-14 18:12:01 
  菩提道次第说的是很有道理!!!!!!!!其他的也能作一个参考!!!


作者:菩提道次第 回复日期:2007-1-18 16:51:14 
  丁丁


作者:2350054 回复日期:2007-1-19 16:30:57 
  楼主~能否把你写的那个汉诺塔的源码贴出来~
  看了楼主的文章,我也用java写了一个,但感觉程序一点都不灵活~
  感觉自己写的好菜~想看看楼主的,学习一下.


作者:菩提道次第 回复日期:2007-1-19 19:13:38 
  作者:2350054 回复日期:2007-1-19 16:30:57 
  楼主~能否把你写的那个汉诺塔的源码贴出来~
  ————晕死,在机器里面全局搜索也没找到
  当初直接放到delphi的项目目录里了,后来机器中毒,大概一起删掉了
  
  delphi演示里面thread目录里面的那个演示也类似,不过他画的时候每次都彻底重画,这个地方技术含量太低,有些技术含量的是多线程控制、、
  
  汉诺塔大概要用四个数组,画的时候考虑清楚异或擦除基本上就差不多了、、


作者:fourcold 回复日期:2007-1-19 20:13:09 
  非常感谢!!


作者:2350054 回复日期:2007-1-19 20:54:08 
  我用的是3个数组~每次处理塔上面的那个盘子移走后空白的点的时候,都是重新绘制三座塔~~一点都不灵活(又没想出更好的处理方法)而且好多细节都没有处理,比如两次移动盘子之间的时间间隔
  有时长,有时短,不能统一,有很多多余的清除盘子的操作(塔上没盘子也执行清除盘子的操作)还有不能保持盘子紧挨在一起.两个盘子之间有时候有空格.不知道这样的深度够不?
  自己还是第一次写超过150行的程序(鄙视一下自己先!)


作者:菩提道次第 回复日期:2007-1-20 09:13:26 
  作者:2350054 
  ————即使用java画,应该也可以用异或擦掉被移走的盘子,把中间的那个点剩下就可以了,实际上是异或两条直线
  时间控制很重要,画一次等待百分之一秒[忘了,你自己试试]大概看起来就很有一种流畅的感觉了
  还可以加一个控制方法,按一下回车移一个盘子,可以看明白移动的过程
  加两个变量,一个控制时间间隔,一个控制盘子数目
  
  把上面这些做完就差不多了
  
  第四个数组干什么我忘记了,仿佛很有意义的说、、
  


作者:菩提道次第 回复日期:2007-1-20 09:19:37 
  作者:2350054 
  ————这个程序控制好不是那么容易的,别伤心:)
  异或就是画线的时候设置画笔的属性,我想java也是一样的
  


作者:菩提道次第 回复日期:2007-1-21 15:24:30 
  报告给用人单位一个好消息:
  
  本文提出来的思路绝对正确,写本文那一天,招进来一个能够基本上答出来编译原理程序思路的选手,用到现在,非常爽,尽管比期望值还差很多,但是确确实实能够独立干活,现在在培养他的一些全局观
  
  他还没有毕业,在武汉只要求一千多的工资,估计到他毕业的时候能挣到三千底薪,加年终奖,他的学校很破,在武汉能排到20名开外、、


作者:xxyyzz88 回复日期:2007-1-21 19:04:37 
  http://www.soft-job.com/signup/94DIYKCONB071X2167E5YL.HTM


作者:2350054 回复日期:2007-1-21 19:15:12 
  只要是计算机科班出身的基本上都不会反对楼主的观点的,即便象我这种没写过什么程序的也分辨的出来,不过楼主招的那人工资给的有点低吧~能在那种不太好的学校达到这样的水平~的确比较强,呵呵


作者:visat 回复日期:2007-1-22 1:08:40 
  自以为是


作者:菩提道次第 回复日期:2007-1-22 15:08:56 
  作者:2350054 
  ————在武汉一毕业拿到三千以上,非常不错了,加上奖金可以过四千,算是很恐怖了,武汉这边刚毕业一年内的平均在两千以下
  
  


作者:自由梦想 回复日期:2007-1-22 15:27:34 
  没有想到还是湖北的老乡,很多年没有回去了。


作者:nanhai86 回复日期:2007-1-22 16:16:13 
  汗
  三分走人


作者:都市老虎 回复日期:2007-1-22 17:12:35 
  发帖的就一大傻逼,你们他妈理丫干嘛呀?让丫一边臊着去。
  什么世道,净他妈傻逼...
  
  还他妈编译系统,老子招人就看能不能干活,不能干活儿的滚蛋,管你他妈编不编译系统,扯淡
  


作者:88380998 回复日期:2007-1-22 17:21:39 
  俺日。。。俺啥都不懂。。我N年前毕业时去上海。。主管问俺几个简单的命令,俺都不知道。。靠。。俺照样吃饭挣钱。。吃饭是以前。。挣钱是现在。楼主肯定是没事来扯蛋来了。


作者:贝克街的亡灵 回复日期:2007-1-22 19:23:25 
  作者:菩提道次第 回复日期:2007-1-21 15:24:30 
    报告给用人单位一个好消息:
    
    本文提出来的思路绝对正确,写本文那一天,招进来一个能够基本上答出来编译原理程序思路的选手,用到现在,非常爽,尽管比期望值还差很多,但是确确实实能够独立干活,现在在培养他的一些全局观
    
    他还没有毕业,在武汉只要求一千多的工资,估计到他毕业的时候能挣到三千底薪,加年终奖,他的学校很破,在武汉能排到20名开外、、
  ____________________________________
  祝楼主在公司垮台前找到一桌打麻将的人
  当然,前提是在找到下一个人之前,前一个人不至于因为三缺一跑了


作者:贝克街的亡灵 回复日期:2007-1-22 19:29:36 
  作者:菩提道次第 回复日期:2007-1-22 15:08:56 
    作者:2350054 
    ————在武汉一毕业拿到三千以上,非常不错了,加上奖金可以过四千,算是很恐怖了,武汉这边刚毕业一年内的平均在两千以下
  ——————————
  副士康马上要到武汉和楼主抢人才了
  他们不要求编译原理,而且工资比楼主高
  楼主加油
  


作者:pwmodify 回复日期:2007-1-23 18:13:32 
  道可道,非常道,名可名,非常名。呵呵。
  菩提本无树,明镜亦非台.
  本来身无物,何处惹尘埃.


作者:bao4567 回复日期:2007-1-23 21:56:23 
  按照楼主的说法,没有学过这两门课的其他专业的学生不是更没有可能进入IT行业了?
  可根据我的观察,即使单单我们一个数学系,就有很多人进来了,有的估计技术比楼主还高一些呢,请教下为什么???
  任何科学的知识,要想学好,我觉得还是看个人自己的资质和努力的,和早学晚学没有多大联系


作者:天语蓝书 回复日期:2007-1-23 22:07:33 
  全是水货,所有回答的。
  
  看来真没什么计算机高手在这里。
  
  数据结构只是最基本的一些常用算法,那根本不是什么有用的东西,这东西不懂,你是学计算机的吗?
  
  编译原理意义也不大,但有些优化原理,是有价值的。有限自动机是其核心部分,这是这门课最有价值的东西。
  
  其实学计算机的不提操作系统,是学计算机的吗?
  
  
  操作系统里有很多算法思想,是很有价值的。但能动手的不多,我自己写过一个仿真,感觉得益很多。
  
  
  


作者:菩提道次第 回复日期:2007-1-24 09:39:58 
  作者:贝克街的亡灵 
  ————已经来了很多了,不过听说他们工资不高,而且他们找的应该不是专业人才
  
  作者:bao4567
  ————呵呵,我在讲计算机系的,数学系的搞计算机,有自己的优势,算法和逻辑比较强,如果能够很好的沟通以及把现实问题映射到计算机范畴,一般都是很好的选手
  
  作者:天语蓝书 
  ————厉害,总算见过一个写过操作系统的了,仿真到什么地步??
  


作者:capricorner 回复日期:2007-1-24 10:35:47 
  现在的大学生还是多在自己身上找原因吧,我在一国企,资源相关的。我们部门实施ERP,一方面缺人缺的厉害,另一方面又找不到合适的人顶上来,工作技能可以培养,不过能力如何看他说话办事就知道了。我认为既然上了大学就应该明确自己今后的发展方向,目的明确的充实自己,上大学不是度假,天天上网,约会。其实不是大学生找不到工作,而是现在的大学生不能胜任公司需要的工作。


作者:ahla8464 回复日期:2007-1-24 11:22:12 
  我是去年毕业的,在学校也没怎么玩,也没学到什么东西,也不知道自己的发展方向,迷茫....


作者:pwmodify 回复日期:2007-1-25 12:32:54 
  这里好热闹哦~~~~~~~~~~~~天涯让我认识了很多人.
  我明白了一个道理:林子大了,什么鸟都有。


作者:pwmodify 回复日期:2007-1-25 12:42:27 
  有很多大学生抱怨说,现在就业形势困难。计算机专业大学生人才饱和。
  其实,IT这一块根本不是人才饱和,而是人才奇缺。
  IT这一块是“人”饱和了,但是“人才”缺得厉害。就拿新疆地区来说,就有很多计算机专业大学毕业生不会安装操作系统。新疆很多计算机专业中专学历或者成人高职学历的程序员,搞jsp的,月薪都在2500以上。可以明确告诉你,如果你是学计算机的,你如果连操作系统都不会装,除了QQ什么都不会用,那你肯定找不到工作。


作者:mzj323 回复日期:2007-1-25 13:06:38 
  坐着看你讨论!
  我是今年刚毕业的学生,计算机本科,工作真的是很难找。我个人觉得不能怪用人单位,毕竟人家是以经商的,要考虑自己的利益,付钱不干活的,谁也不愿要。但从我们学生角度来讲呢,我觉得学生在学校学到的东西少的可怜,曾经的天之骄子变成了现在的迷途羔羊,学校没有尽到应有的教育责任,有的只是敷衍了事!或许有那么一部分人很清醒的知道自己的目标,可更多的人不知道,而学校总是尽量夸大自己学校的就业率,更让一小部分人认为混到毕业就可以了,再加上学校的教育体制本身的不健全,造成了这种毕业生与社会需求完全脱离的情况。
  没有太好的建议,用人单位急需人才的话,可以考虑自己培养!毕业生想找到好工作的话,尽量多动手实践,而不是蒙混过关!


作者:菩提道次第 回复日期:2007-1-25 13:43:05 
  作者:pwmodify
  新疆很多计算机专业中专学历或者成人高职学历的程序员
  ————你在新疆吗?
  我还没去过新疆呢,什么时候去的时候找你喝酒、、、
  


作者:pwmodify 回复日期:2007-1-25 13:44:58 
  闲谈菩提道次第做IT人的八大理由
  阿Q精神不是贬义词。对于当今社会,阿Q精神是正道,是王道,结合本帖子,可以看出菩提道次第和韦小
  
  宝两个人身上都映射出了华夏民族5000年的光辉思想.韦小宝这个人物是中国二十世纪继鲁迅笔下的阿Q之
  
  后,第二个最伟大最光辉的形象。我们可以说除了阿Q就是韦小宝,中国人的缺点、优点,各种东西都集中在
  
  韦小宝身上。我想,中国文学领域诞生了这两个天之骄子,我们后辈能够得以瞻仰,也算不枉了,一件物体,
  
  我们最多可以同时看到他的三个面,阿Q和韦小宝让我们看到了事物的第四个面.为此,我担忧,我亦欣喜.但
  
  最大的心愿,是希望看到第三个人.看到他的思想,理念,希望从中得到一些启示。
  很高兴,很幸运,我终于看到了。随着天涯这个绚丽的舞台,菩提道次第,这个集儒家、道家、佛家、IT于一
  
  体的世纪超人诞生了!世界上本没有神,拜的人多了,也就成了神。但,神毕竟是要拜的,因为有参拜者
  
  ,所以人们敬仰,我一想这样认为。但是,来到天涯,我发现我错了,大大的错了。因为,我真正的见识
  
  到了,不用参拜就能受到万人景仰的神:菩提道次第。虽然这位集儒士道为一体的神是无所不能的,但是
  
  我依然执著的说:菩提道次第更适合做IT人。我可以对着自己的良心高呼:
  古往今来,追古溯源,上下五千年,没有人比菩提道次第更适合做IT人。诸君不信?听我慢慢道来:
  
  理由一:彗眼识贤
  
  以实用主义人生观为准则,量才录用,因才而用,适合做IT人。IT对人力资本的强调无以复加。而菩提
  
  道次第审时度势,在用人方面是很有眼光。菩提道次第用人有3条准则:第一,不能给他赚钱的人不用。
  
  他要找的,是“能干活的人”。第二,没有奴性,不能逆来顺受,挨他骂名的人不用。在以前的帖子里,
  
  菩提道次第举过一个例子,说他公司以前有个人(用A代表),写程序调试调了很长时间,最后还没完成
  
  。菩提道次第又找了一个“思路好的人”,很快就写好了。后在A去了国外的公司“挑大梁”,菩提道次
  
  第做了一个评论“所以国外公司的水平也不是很高”。含沙射影地指出了“A的水平不是很高”。估计A挑
  
  了大梁以后,菩提道次第三天睡不着觉。为啥?嫉妒啊。为啥嫉妒,佛曰:嫉妒是前进的动力。第三,有门户之别的人不要。岳不群是气宗的,他就要求入门弟子必须先练气功,以气为主,剑为枝。违反这个路线,就说他“本末倒置”。菩提道次第是走编译原理,数据结构路线的。他要求底下的员工(他称之为选手)必须先掌握编译原理,数据结构,如果违反这个路线,就是本末倒置。他最害怕独孤九剑。一再强调:“工作单位能够积累的东西很少,或者说绝对是第二位的”。
  经过他的一番考察筛选,一批优秀的选手终于脱颖而去了。万岁!onlyyou!能为我的公司“干活”。
  
  (未完待续)
  
  
  
  


作者:菩提道次第 回复日期:2007-1-25 13:51:21 
  作者:pwmodify
  ————你前面怀疑我说得调程序不怎么花时间的问题,其实是一个很关键的问题,也是一个水平衡量的标志吧,我到现在对java和pascal的语法还不能说掌握很纯熟,很多时候要看看帮助,调程序和对语言的熟悉关系不大,语法错误可以很快借助编译器搞定
  结合上你说的另外一个疑问点,就是高手能够估计到可能发生的错误,从而降低程序的维护代价以及调试时间,这两个是一个问题
  
  经验积累到一定地步之后,不论搞什么领域的东西,都能够从计算机思维的角度估计出来将来可能发生问题的点,解决方法,可能面对的更加复杂的情况等等,前面数学系的兄弟说的时候,我还没有想到数学系在搞软件的时候有什么弱项,大概这个就是最主要的了
  
  和下棋很类似,面对某个棋局的时候,能够算几步是衡量水平的基本因素,你再努力几年,可能会达到这个境界,那个时候你就明白了


作者:pwmodify 回复日期:2007-1-25 13:54:15 
  ————你在新疆吗?
    我还没去过新疆呢,什么时候去的时候找你喝酒、、、
  
  卑职怎敢叨扰菩提大人的酒?莫要折杀了小人。。。。
  小人好怕怕。。。


作者:菩提道次第 回复日期:2007-1-25 13:56:30 
  作者:pwmodify 
  ————呵呵,继续,写得不错,给你贴一个别人调侃我的[那个比教皇厉害就是我],在百度贴吧里面
  
  
  教皇痛打小夫妻易辰出手救二小
  
  亵渎吧的格局,跟别处是差不多的:都是最上头高悬“**吧”几个大字,右侧竖立两面牌位:以前有个叫作精品人渣的,现在走了,来了一个形容猥琐的汉子,自称蚂蚁。
  
  来亵渎吧的人,有好事者调查得知,年轻人居多,又以大学生、白领人士为众。他们都是冲着享誉全国的饮品:亵渎啤酒来的。
  
  我来亵渎吧的时候,吧里面有无数高人,能够:颜射,放尿,痴汉,调教,OL,3P,诸如此类,不一而足。更要高人,创出BBWC大法,一旦被人逼到墙角,祭出此物,无不闻风丧胆。
  
  我那时候啥也不动,也不敢乱问,只是一味蒙头灌水。躲进小楼成一统,管他东南西北风。
  
  有个老九的,整天打扮得像个骑士,其实我看他更像个书生,每每来到吧里面激扬文字,惹来了无数fans。后来居然有人冒充老九,偷了他的马甲。在后来居然出现了一种行为艺术:人称马甲流。老九也从此销声匿迹。
  
  比教皇厉害这个人是很怪的,(中年怪叔叔??)他身材瘦长,青白脸色,黑眼窝里有双无神的眼睛,一头乱蓬蓬的头发。来了也不乱说话,可此人有个怪癖,每次来了以后,必要7瓶啤酒,而且早午晚各一次,每次来了都坐在同一个位置。喝完酒之后开始喃喃自语:什么大预言术、空间通道、魔法来源。再后来,居然因其行为古怪,语言怪状,也引来无数fans,人称:教皇流。
  
  最初我对此人的评价是:狂妄自大,思维混乱。并因此去招惹此人:做了他常用的板凳,可他居然也不怪,只笑笑道:无妨。
  此举让我摘下有色眼镜,重新打量。不过我向来不爱与人沟通,也不曾与之深谈。
  
  升龙道易尘,此人来历神秘,据说是从一个古老的宗教:天星宗来的,最初被掌门废了武功,后来机缘巧合,不但武功尽复,且公里大增。不过此人行事低调,我从未与之有过瓜葛。但是偶尔酒酣耳热之际在亵渎吧往往一言惊人。此人乃前任吧主人渣的拥趸,曾发帖揭露G点的秘密,一时间引来无数讨论,也促成了人渣下台,这是后话。
  
  
  本来此二人井水不犯河水,大路朝天各走一边,可偏偏比教皇厉害这天喝高了,无故痛骂住在我隔壁储藏室的大学刚毕业的小夫妻,一时引起了众人不满,各色啤酒瓶纷纷朝着这人砸去。其中,砸得最卖力的,居然是升龙道之易尘。
  
  这可让我很吃一惊,此人形式向来沉稳,怎么又如此举动,不禁私下揣测:莫非昨夜性生活质量不高?
  
  问了一下旁边看热闹的哄客,才知道,这小夫妻既老实又无能,来亵渎吧三年了,居然一个月还不足1K,让比教皇厉害看不下去,又兼两人有装B嫌疑,所以一时喝高了就打骂起二人。而升龙道之易尘偏偏看不得有人受苦,站出来维护他们,于是两人各持酒瓶互殴。
  
  正打得不亦乐乎,有好事者喊来了吧主蚂蚁,此人向来是非不分,随口说了句:比教皇厉害,以后别来这里喝酒。
  比教皇厉害虽然不把这厮放在眼里,却也给他几分面子,讪讪的走了。可别人不依不饶,还拿老大酒瓶朝他猛砸。
  
  比教皇厉害跑出去,脱了马甲又跑回来,说:把马甲拖了看你们还认识我?
  
  


作者:pwmodify 回复日期:2007-1-25 14:00:29 
  ————你前面怀疑我说得调程序不怎么花时间的问题,其实是一个很关键的问题,也是一个水平衡量的标志吧,我到现在对java和pascal的语法还不能说掌握很纯熟,很多时候要看看帮助,调程序和对语言的熟悉关系不大,语法错误可以很快借助编译器搞定
  
  哦,我还是那句老话:请搂住仔细看看我的帖子。关于调程序花费花费很多时间的问题,我前面专门打了一个括号,说:语法错误例外。
  
  我知道,语法错误可以很快借助编译器搞定,但是,我前面说的是逻辑错误。语法错误可以不花多少时间,甚至几分钟搞定,但是逻辑错误的调试要花费很多时间:比如,循环的结束条件没有设置正确。这个逻辑错误很难发现。
  
  “和下棋很类似,面对某个棋局的时候,能够算几步是衡量水平的基本因素,你再努力几年,可能会达到这个境界,那个时候你就明白了”
  你要下棋我奉陪。我也喜欢下棋。
  


作者:菩提道次第 回复日期:2007-1-25 14:18:38 
  作者:pwmodify
  比如,循环的结束条件没有设置正确。这个逻辑错误很难发现
  ————对,我的意思就是衡量水平的标志就是基本上不犯逻辑错误,即使犯了也能够在最多三五次尝试之内确定错误位置,当程序极大复杂化之后,这是一个根本能力
  


作者:pwmodify 回复日期:2007-1-25 14:32:57 
  其实,我也不想写文章调侃你。动机和你差不多。因为你公司找不到人,所以你才“有些话不吐不快”。
  
  我写文章,就是因为你太自大了。你看看你开的博客,说你精通诸子百家,说你什么都会。这让我觉得你很自大。你又不是万事通。
  你自己想想。佛经里面说,业果之前必有业因。
  想想你自己有什么不是之处。
  调侃你的文章,我再不想写了。因为我现在已经有些后悔。


作者:pwmodify 回复日期:2007-1-25 14:37:38 
  搂住说:“————对,我的意思就是衡量水平的标志就是基本上不犯逻辑错误,即使犯了也能够在最多三五次尝试之内确定错误位置,当程序极大复杂化之后,这是一个根本能力”
  
  三五次尝试就能确定错误位置?晕。这可能吗?逻辑错误三五次尝试根本不可能找出错误。有的时候,大型程序反复分析几百次都难以发现错误位置。就算你夸大事实,也不能无边无沿的乱吹。
  


作者:pwmodify 回复日期:2007-1-25 14:42:37 
  就算调程序是衡量水平的标志,就算是代表程序员的根本能力,也不能像“大跃进”一样,一亩地100斤报1000斤。
  
  如果一个大型系统程序,调试三五次就能发现错误,这样的人,我觉得就是有也不多。
  


作者:菩提道次第 回复日期:2007-1-25 14:45:55 
  作者:pwmodify
  大型程序反复分析几百次都难以发现错误位置
  ————这个时候一般就没戏了,因为即使改好这个错误,一定会产生新的错误,这一点不必争论了,意思不大,从两个角度可以给一个结论:
  第一个是你必须承认经验丰富的选手比刚开始搞的人确定逻辑错误快
  第二个就是我手下调试的东西,经常出现他搞两天找不到错误的地方,我去十分钟解决问题的情况,而且那个并不是我擅长的领域,比如用vml画图这样的东西,上周刚刚出过一次,这个时候效率差距就不是几倍了
  
  觉得我自大的人蛮多的,呵呵,这确实是我的缺点,要收敛一些了
  


作者:pwmodify 回复日期:2007-1-25 15:03:24 
  其实文章的论述你的八大主题已经写好了。我中午没有休息,一直在构思文章。
  不过你既然意识到了,所以。。。。。。文章就不发了。


作者:pwmodify 回复日期:2007-1-25 15:05:38 
   第一个是你必须承认经验丰富的选手比刚开始搞的人确定逻辑错误快
    第二个就是我手下调试的东西,经常出现他搞两天找不到错误的地方,我去十分钟解决问题的情况,而且那个并不是我擅长的领域,比如用vml画图这样的东西,上周刚刚出过一次,这个时候效率差距就不是几倍了
    
  
  第一点我承认,我赞成。
  你说的第二点,也可能会发生。但是概率不是100%的。


作者:菩提道次第 回复日期:2007-1-25 16:57:25 
  刚刚看到这个:
  作者:pwmodify 回复日期:2006-12-25 12:53:55 
  哪怕员工基础不好,你只要培训他,只要对他解衣衣之,推食食之,让他掌握技能,你想想,哪个员工还能忍心跳槽吗?
  ————呵呵,我一直以为只有我很理想化,没想到你更厉害、、
  你在管理的位置上再过几年再回头看看你这几句话、、


作者:pwmodify 回复日期:2007-1-26 17:03:26 
  菩提是一个很有意思的人...


作者:gentleiron 回复日期:2007-2-3 17:16:06 
  楼主一言中的,虽然个别细微之处不太认同,但一针见血地指出了现在大学教育和大学学习中的问题。有次我给学生说学好《数据结构》、《编译原理》和《操作系统》这些课会终身受益,可惜大多数学生当作耳边风。现在的社会太浮躁,能真正静得下心来坐在电脑边上写代码看书的人太少了。也不能全怪学生。


作者:xmmx123 回复日期:2007-2-3 17:30:24 
  看lz的公司开多少钱了
  
  很多学校的ACM的队员都具备你说的能力
  
  
  
  
  
  


作者:huiyan9011982 回复日期:2007-2-3 18:18:56 
  md,回想俺们学校里教这两门课的老师他们自己都不懂。


作者:打非办西西 回复日期:2007-2-3 19:58:02 
  To菩提道次第:
  菩提大哥,不知您愿不愿意收我这个徒弟!
  我觉得你说的很有道理!
  


作者:打非办西西 回复日期:2007-2-3 20:03:13 
  再拜菩提大师!
  可否愿意留个联系方式?
  我的QQ是22416298


作者:evilangell 回复日期:2007-2-4 1:03:57 
  靠,看到了很多牛人


作者:智慧元素 回复日期:2007-2-4 01:41:12 
  留个记号,问下LZ你门公司还要人不?(我是指贮备人才的那种的)要是可以的话我想过去,水平虽然不高但是,自认为比较有天赋,呵呵


作者:智慧元素 回复日期:2007-2-4 1:50:38 
  在说一个,现在的学生确实是很浮躁的,不能怪我们,整个社会就是这样。至于LZ说的要求现在说的本科生不太可能,研究生都作不到,不是危言耸听。我现在就在上研究生,感觉很多人没有把心思防在自己的专业上,他们的目的就是想着以后怎么能挣大钱,怎么能找个稳定的好工作,最好是公务员那种,买房子车,至于自己的技术怎么样,好象真的很少有人去关心。
  还有现在的企业也有点太浮躁了,你们给的那点工资,想找个有水平的还要对公司忠心的,你当我们是白痴啊,我承认现在的学生一毕业什么也做不了,但是你至少给够人家能够生活的钱吧。


作者:吾所胃巨 回复日期:2007-2-4 15:15:51 
  对LZ的大部观点我先赞同!但是:
  1。做好数据结构和编译原理和一个合格的程序员并不是等价的。
  学这两部课程主要是习惯以计算机的思维方式来解释现实。
  会数据结构和编译原理并不一定能写出良好的程序,不会数据结构和编译原来也不一定写不出良好的程序(这些在高级语言中都是有实现的)。
  2。楼主说03年以后的毕业生怎么怎么样。我也招过人(我是05年毕业的),只是楼主没有招到人,就说怎么样怎么样的。这个不符合程序员的严谨性啊!
  3。我也没有觉得国内以前毕业的学生怎么样呢,请问前辈为中国软件业留下过什么?
  4。不要说用javascript写个hashtable就怎么样了,这个是小孩子的玩意,这个就像写一个Helloword一样普通,你大叔级的前辈,居然。。。。还有java和javascript根本不是一回事。reflect反射这个是java最基础的东西,不会这个就不会java。如果你周围的学java的同事不会,那说明你的周围。。。。反射这东西很吃性能,反射虽好,但不要贪用哦!
  5。楼主说一个C++高手学java三天时间,三天能学会java,如果只是基本的语法,那我想信,不过那东西实在不用怎么学,因为只要会C就行了,我刚毕业学java的语法也只用了三天不到:)。要把java的反射,多线程,面向接口这些都弄通恐怕要花点时间吧。何况还不止这些呢!
  6。最后一点我以一个刚毕业一年多的二流大学的学生和广大的毕业生说:语言不是重点,关键是你的学习能力,你的计算机的思维方式,还有一点得指出,你要写好程序,第一步是搜索,有问题先问它:),不要指望学校的老师,工作中的同事,学习靠自己,这些才能慢慢的积累自己解决问题的能力,计算机并没有什么高深的东西,那些只是前辈们吓唬你的,在计算机这个领域,只有知道和不知道。知道了就简单了!人的职业生涯并不是一句ifelse能判断的!


作者:菩提道次第 回复日期:2007-2-4 15:48:05 
  作者:xmmx123 回复日期:2007-2-3 17:30:24 
  很多学校的ACM的队员都具备你说的能力
  ————前页就讨论过了,这里说的是及格水平,绝非高手要求
  
  作者:打非办西西 回复日期:2007-2-3
  不知您愿不愿意收我这个徒弟!
  ————晕,这个怎么收徒弟??
  明年大概我会写一本编译原理的教材或者说课程设计指导,应该首先会发在网上,那个大概可以算是比较全面地说出来我在这个方面想说的了
  我没有qq或者msn
  
  作者:智慧元素 
  ————大概下一个项目定下来会要四五个人
  


作者:菩提道次第 回复日期:2007-2-4 15:58:14 
  作者:吾所胃巨 回复日期:2007-2-4 15:15:51 
  会数据结构和编译原理并不一定能写出良好的程序,不会数据结构和编译原来也不一定写不出良好的程序(这些在高级语言中都是有实现的)
  ————括号里面那句话代表你理解错误的很离谱
  
  我也没有觉得国内以前毕业的学生怎么样呢,请问前辈为中国软件业留下过什么?
  ————我的产品快要发布了,不过可能不会在这里写网址了,不希望大家误会
  
  不要说用javascript写个hashtable就怎么样了,这个是小孩子的玩意,这个就像写一个Helloword一样普通,你大叔级的前辈,居然。。。。还有java和javascript根本不是一回事。reflect反射这个是java最基础的东西,不会这个就不会java。如果你周围的学java的同事不会,那说明你的周围。。。。反射这东西很吃性能,反射虽好,但不要贪用哦!
  ————js的那段代码,比较充分的利用了js的对象检测松懈性,还是有些问题点的
  reflect这个类我问过不下一百个人了,没有一个人了解的
  你说吃性能证明你也没用过
  
  楼主说一个C++高手学java三天时间,三天能学会java,如果只是基本的语法,那我想信,不过那东西实在不用怎么学,因为只要会C就行了,我刚毕业学java的语法也只用了三天不到:)。要把java的反射,多线程,面向接口这些都弄通恐怕要花点时间吧。何况还不止这些呢!
  ————多线程在java里面根本不需要关注,可以当成免维护的一个方面,面向接口除非你的团队很大,否则不赞成使用
  
  
  你要写好程序,第一步是搜索,有问题先问它:)
  ————这一点很有意思,我实际碰到的很多问题,怎样搜索都没有答案,一个简单的例子,js里面嵌套对象的事件发生次序,比如说一个div里面有一个table里面有一个input,那么,在鼠标点击input的时候,各个对象的onclick,onfocus事件是按照什么次序发生的?在鼠标点击其他对象的时候,onblur,以及被点击对象的onclick事件是按照什么次序发生的,在ie和ff里面一样吗、、、
  甚至于应该怎样通过测试了解这个东西本身都是一个问题,你千万不要告诉我用alert
  


作者:菩提道次第 回复日期:2007-2-4 16:03:00 
  加一句:
  java本身的类激活以及方法调用,就是直接调用自己的reflect里面的方法实现的,建议你直接看看java的源代码
  


作者:吾所胃巨 回复日期:2007-2-4 16:13:46 
  reflect不了解说明你周围的人根本不会玩JAVA,你说我没用过?我写的一个JAVA框架就是用这个机制完成的!而且不要说源码源码的,sun的jdk和ibm的jdk实现就不一样,你自己去测试下就知道了,最后一个,如果你那些都不知道,那你就不会玩DHTML。。。。。。


作者:吾所胃巨 回复日期:2007-2-4 16:15:54 
  还有一点,你居然说面向接口需要很大的团队,我真不明白,你做产品做项目,只有两个三个人??做程序之前不需要UML建模?拿到就来写,全用抽象类?


作者:吾所胃巨 回复日期:2007-2-4 16:20:10 
  还有一点,不是说写个产品出来就是给中国软件业留下什么了,你看看现在中国的软件业是什么样子!有几个公司是上档次的?重技术的。。。。。


作者:菩提道次第 回复日期:2007-2-4 16:21:59 
  作者:吾所胃巨 回复日期:2007-2-4 16:13:46 
  最后一个,如果你那些都不知道,那你就不会玩DHTML
  ————那你能不能说一下呢?
  不是我抬杠,给你一天的时间搜索,你要是能搜索出来我佩服你
  你要是马上能够说出来一个测试思路就已经算是非常不错了、、
  


作者:吾所胃巨 回复日期:2007-2-4 16:33:27 
  你说的测试我不知道是什么意思,如果我真的要搞清楚,那设一个全局list,事件触发时就写出对象不就行了!


作者:吾所胃巨 回复日期:2007-2-4 16:34:30 
  是写入对象!


作者:菩提道次第 回复日期:2007-2-4 16:48:40 
  作者:吾所胃巨
  那设一个全局list,事件触发时就写入对象不就行了
  ————基本正确,不过我是写了一个先进先出的堆栈,这个事件次序测试还包括了用代码改变焦点的情形,不能用alert的原因是提示框本身会严重影响事件发生次序
  
  


作者:吾所胃巨 回复日期:2007-2-4 17:00:05 
  不过呢我并不会玩DHTML,会玩DHTML的人是那些用JS来写RPG游戏的人,如果你想学这方面的知识可以请教他们哦!


作者:吾所胃巨 回复日期:2007-2-4 17:03:54 
  当然你说要这样的问题网上搜不到,我也没有办法,并不是所有的都能搜到,要不然大家就搜索就行了,就不要程序员了,但是,哪果没有这些的积累哪里来自己写出来的东西。当然像您一样十几年的工作经验,对于搜索可能是不屑一顾啦!:)


作者:菩提道次第 回复日期:2007-2-4 17:16:56 
  作者:吾所胃巨 
  ————确实搜索不到,大多数人并不会碰到这样的问题,dom模型里面也没有明确地谈到这个问题,ff和ie的实现也完全不一样
  dhtml并不仅仅是写游戏的人要用到,所有写bs的人,都应该要用到,否则基本可以断定作的不深
  
  这种问题没什么好争论的,比如你说用uml,实际上是我极端反对的东西,这个类似于对模式的看法,求同存异,不必争论
  


作者:吾所胃巨 回复日期:2007-2-4 17:20:39 
  我说的并不是说要不要用!只是术业有专攻!一个人不可能把所有的细节都能搞清楚。对于UML和模式我也不想争,因为在你面前,我似乎没有资格,本人05年毕来,是你口中所说的很差的那个差中的一员而已!


作者:陈可乐 回复日期:2007-2-4 17:29:25 
  楼主,感觉你不是个计算机毕业的。我数据结构还真是学的不错,不过也是后来工作中加深的,大学的时候也是皮毛,感觉很复杂,但是学得也还可以,那个狗屁编译原理我狗屁不懂,现在我也不懂,但是我现在是一个很出色的程序员,在一个中等城市年薪12万。
  所以,不同意因为一门。两门课程就断定程序员的前程,现在的编程不是10年前的程序了,可以不了解底层而干活很好,当然我知道要成为一个更高层次的软件高手需要搞明白这些。


作者:菩提道次第 回复日期:2007-2-4 18:18:23 
  作者:吾所胃巨
  本人05年毕来,是你口中所说的很差的那个差中的一员而已
  ————呵呵,只是否定一个平均水平,并没有否定全体,你应该算是一个不错的选手
  
  作者:陈可乐 
  可以不了解底层而干活很好
  ————我并不是说要了解编译原理,而是建议这个东西是非常好的编程训练题目
  


作者:tutanchamun 回复日期:2007-2-4 19:46:40 
  非常感谢楼主以及参与讨论的前辈,看完之后受益匪浅。


作者:pwmodify 回复日期:2007-2-5 18:56:04 
  好几天没来了。真是寂寞哦~~~!哈哈,我还是那句老话:
  本来身无物,何处惹尘埃。
  有菩提的地方我们就不会寂寞。
  
  现在谈论一下数据结构的课程设计和编译原理的可能设计真的可以一锤定音,决定计算机专业学生的命运吗?难道就没有其他方法吗?
  难道36行,行行出状元这句老话说错了吗?


作者:xiaohuaview 回复日期:2007-2-5 21:29:12 
  老实说,计算机从汇编语言学到C语言,95年的时候好像C语言算是不错的,包括数据结构,编译原理等等,该接触的都接触了,该学的我们都努力学了,老师甚至边学边教,以便把最新的知识传输给我们,但真的要在学校里学得怎样,我觉得是不可能的,只能是打一个基础吧.
  其实学计算机的学生挺累的,更新太快了,有些东西猛一抬头都不知道是什么时候冒出来的.急呀~~


作者:菩提道次第 回复日期:2007-2-6 9:15:37 
  作者:xiaohuaview 回复日期:2007-2-5 21:29:12 
  其实学计算机的学生挺累的,更新太快了,有些东西猛一抬头都不知道是什么时候冒出来的
  ————我负责任的跟你说,更新很慢
  


作者:双枪书生 回复日期:2007-2-6 20:06:20 
  楼主说的不错
  
  但是这样的人,楼主你准备开多少工资呢?你开3000一个月你想找这样的人,你去吃屎吧你


作者:铁兵X 回复日期:2007-2-6 21:50:25 
  楼主说的话我绝对同意!但不知道楼主听说过没有。一般的公司只用厉害的人。稍好点的公司用一边的人。最好的公司什么人都敢用。
  假如你的公司招聘的都是天才,成功很正常,没什么厉害的!因为都是高手呀!为什么说好的公司什么人都敢用呢?因为公司是可以帮任何人都变成高手!原话我不记得了!但我还清楚的知道这话是世界著名的公司老板说!IBM的蓝色文化让每个IBM人都是“蓝色”的。
  同样我记得优派的老板(朱家良)说过给公司员工评价时要用“加分原理”因为那样在你公司里的人会越来越厉害!
  当然我也许没资格说什么。因为没什么管理的经验!但我觉得他们说的是对的!好的公司是什么人都可以进去。而一般的公司只要“高手”。
  


作者:菩提道次第 回复日期:2007-2-7 9:39:58 
  作者:铁兵X 
  ————这个问题你的看法不对,ibm在国内实际上是一个销售公司,但是绝对不是什么人都找的,不多的开发团队每个团队都有精英在担纲,微软更是如此,把delphi的那老伙挖过去就是活生生的例子
  
  国内公司由于市场环境不好,更加无法承担长线培养人才的负担,这个是事实,没什么好辩解的
  


作者:菩提道次第 回复日期:2007-2-7 9:41:21 
  作者:铁兵X 
  ————还有,我一再强调的,这个要求是及格线,绝对绝对不是高手
  


作者:t403668225 回复日期:2007-2-7 17:15:24 
  f


作者:pwmodify 回复日期:2007-2-7 18:31:33 
  菩提道次第,人生如露亦如电。


作者:铁兵X 回复日期:2007-2-7 22:56:28 
  作者:菩提道次第
  楼主我针对的不是你。是我的一种个人想法!公司好不好和不是怪员工,老板要自己找责任的!好的老板可以让每个员工都很厉害!我想这点是很重要的!


作者:菩提道次第 回复日期:2007-2-8 09:12:40 
  作者:铁兵X 回复日期:200
  好的老板可以让每个员工都很厉害!
  ————达到及格线的在我手下干一两年,都能升一个档次,这个我做得到,但是差距太大的真的很难,还有,现在很多孩子很难让他们对工作有欲望
  


作者:pwmodify 回复日期:2007-2-8 09:47:11 
  作者:菩提道次第
  
  无缘慈悲大海观世音,无障智慧宗主文殊师,破除一切邪魔密藏主!
  雪域圣者之首宗喀巴,洛桑扎巴我向您祈祷,加持心事如愿得成就!
  
  嘿嘿.....


作者:提手旁上品下木 回复日期:2007-2-8 20:46:16 
  根据楼主的标准,我其实应该回家种地然后卖菜的。
  但是:LZ动辄拿编译原理平衡一个IT人士的标准是否有点错位了?就好比筷子本来拿来吃饭用的,你却要拿来挖鼻孔。
  
  你说的是很正确,但你确在误导他人。
  
  对于一个普通计算机学生来说,4年的时间研究编译原理是不现实的,而楼上各位对于编译这个玩意的接触只是一些最初的词法分析,语法分析或者语义分析,而这些功能就相当于我们登陆论坛需要验证一样。而中间的什么代码生成,代码优化,目标代码的生成等这些东西各位接触肯定很少。说白了,编译就是一些算法设计,这里涉及到了lz提到的数据结构,而lz在这过程中居然没有提到一丁点数学相关的东西。很抱歉,看了lz的大作,实在忍不住要多说2句。
  编译原理对于在中国环境下是可有可无,我们不需要关心他的编译过程,或者管你怎么生成目标代码,我只需要应用就行了。搞编译原理没有扎实的数学基础,完全是纸上谈兵。大学课程里,象数学分析,高等代数,高等数学,高等几何(注意区别),线性代数,线性规划,离散数学,图论,计算机图形学等这些课程没有达到熟练理解程度的话,你去搞什么编译啊??小波分析这些东西就不说了,微机原理没搞过的,也不要去了。数学建模这些应用没有得过什么大奖的也不要瞎参合了。还有就是没钱你也别搞这东西。有人18年才搞一个,你搞什么啊。编译这东西,大家其实只要知道它是怎么工作的了就行了,写代码写多了就知道他怎么工作了。就象吃猪肉吃多了,没见过猪也差不多知道猪是个什么样子了。
  至于楼主的JS版Hashtable可以说完全是鸡肋了,当然这是我的个人看法。
  还有楼主对于别人话3-5年学C++颇有微词,这点时间算什么,全中国又有谁敢说自己精通C++?你那个朋友3天学会JAVA的,你打死我我也不信。对于10年掌握C++的,你无话可说我理解,那你13年来你掌握了什么???你出来的时候离互联网还没有兴起,到了它疯狂的时候估计你也灭有把握,你拥有雄厚的技术,可是你却没有掘到你的第一桶金,可以理解你在研究编译原理,但你不可否认的是你错过了黄金时期。这说明什么问题?研究方向取决于应用领域。也许你现在月薪过几万,算个成功人士,但你想想13年来你做了些什么?从你手持编译原理棒打死天下众多IT民工的时候,你是否觉得有点落伍了?你的想法跟我有个高中同学一样,说搞IT的不懂汇编搞什么IT啊,你觉得你和他有什么区别??你的就是不懂编译搞什么IT。虽然汇编和编译原理一般都同时出现。
  这种现象说明什么?只能说明时代的进步与教育矛盾。你们当年的所受到的教育和今天是不同的。你们端的是黄金碗,我们是泥巴碗。这种现象其实还是你们造成的。你说你13年了都还没忘记,那你怎么不跟小学生比比背课文啊?都学过的。
  楼主在招聘的时候100个才招1个,不排除你夸张的说法。显然你不是一个合格的HR,浪费公司的资源是最大的失误。你也不适合招人,完全是根据个人喜好来决定。请问:你们公司的岗位需要这些人吗??你们公司的产品是什么?
  总之呢,你说的是没错,但是呢不要误导想从事IT的兄弟姐妹们。
  


作者:那年我十六 回复日期:2007-2-8 22:32:12 
  想到大学虚度的那几年,我那个悔啊,毕业三个月后,我又重新拿起数据结构,编译原理和操作系统疯狂的看,人啊就只有失去了才知道珍惜,可惜,有些东西是注定要不回来的,


作者:玄若冰ξ 回复日期:2007-2-8 23:18:39 
  先做个记号..继续当观众..
  


作者:菩提道次第 回复日期:2007-2-9 09:31:17 
  作者:提手旁上品下木 
  ————拜托看完再说话,哪里提到研究编译原理了??
  


作者:小雨青青 回复日期:2007-2-9 10:05:38 
  
  上大二时我谈恋爱了,成绩反而好了
  以前经常挂科后来经常有奖学金.
  呵呵我男朋友教我的学得怎么样跟谈恋爱打游戏没有绝对的联系
  关键是要有自控能力,学的时候提高效率好好学,玩的时候好好玩,
  工作也一样
  


作者:pwmodify 回复日期:2007-2-9 11:33:36 
  哦,看了楼上许多人的帖子,我再说两句。。。也就是重点表达一下我的观点:
  计算机专业必须要分类。就像软考,它是公认的“中国软件考试第一品牌”,使国产的所有计算机考试中,难度最大的。但是,它也分为好几种类型。比如说:软件测试工程师,需要考察编译原理,然而,比如多媒体设计师,就不考编译原理。所以,我始终认为,楼主菩提的言论是错的。所以,我一直不遗余力的反驳楼主。如果楼主菩提自以为个人的水平比“软考命题小组”的整体水平高,那我无话可说。
  
  还有,我2003年毕业以来,见过了很多程序员,没有一个人敢说:“我C++完全掌握了”。
  其实,我说过,C++需要10年左右的时间去学习,这很正常。你花10年时间,未必能学好C++,但是你如果想学好C++,你必须花10年工夫,必须!(C++的应用级开发除外,几个月就可以学会)不管你天分有多高,你也必须有时间投入。李小龙有武术天赋,但是,他上大学的时候,每天都要练数小时的“咏春粘手”。他从来没有说过“武术可以速成”这样的言论。
  
  我觉得,软件专业的学生学习编译原理和数据结构是很有必要的。掌握它们,也就为今后的编程打下了基础。但是,非软件专业的计算机类学生,没有必要学习数据结构和编译原理。
  
  我认为应该学习掌握编译原理、数据结构的有:
  
  人工智能专业、软件工程专业、计算机科学与技术专业
  
  不需要学习编译原理、数据结构的有:
  
  计算机信息管理专业、计算机信息安全专业、计算机多媒体设计专业。
  
  其实,谭浩强早在2001年就提出了“学习计算机必须要从2进制开始学起吗”这么一个疑问。
  他说:“学计算机为什么要先学枯燥的2进制呢?为什么要先学进位计算呢?为什么要先学DOS,再学windows呢?我们能不能换个方式,先学Word,先学windows视窗操作,然后根据情况进行深入?”
  
  他还说:“实际上,计算机的进制转换是在计算机系统内部自动完成的。不需要人工管理和干预。2进制为计算机的入门增加了难度。中国的计算机普及教育有必要改革一下。”
  
  其实,这就表达了一个思想:计算机教育,必须要分门别类!根据需要学习所需课程。楼主的看法,是以偏盖全了,太偏激了。。。其实,我周围的那些程序员,有些甚至还是数学专业的。他们大部分人都不会编译原理,但是他们编的程序都不错。
  
  
  
  

前方纵有浪百千,笑傲江湖冲向前

作者:菩提道次第 回复日期:2007-2-9 13:42:20 
  作者:pwmodify 
  ————我想你也明白我的意思是做编译原理的题目很重要,就是那个是非常好的程序设计习题
  
  这几天和我手下一个很强的但是不是计算机专业的选手交流了一些问题,回忆我一贯的感受,我觉得他和我的差距最大的地方就是思路不正规,大量的问题他都能直接反映一个解决方案在脑子里面,这个解决方案一般情况下也能解决问题,比起我脑子里面泛出来的解决思路简单,一般我泛出来的都是教科书类型的
  但是,在绝大多数情况下,我能够当成问题提出来的东西都很复杂,这种问题,在他的解决方案当中深入思考之后,总是有这样那样的考虑不周全的地方,并且是那种很难弥补的,思路上的缺陷,而我的解决方案,则是表面上看起来多绕了一些东西,但是深入思考下去,这些东西都是绕不过去的
  
  再换句话说,前面提的数学系的编程序,我一直觉得实际上优势不太大,其实最近才想清楚,他们的关键能力差距实际上在“科班出身的计算机系的教科书式的思考方式”上面,这个能力才是读大学时候应该掌握的能力,做好这两门课的课程设计是获得这个能力比较理想的途径
  


作者:xiaohui3064 回复日期:2007-2-9 14:04:24 
  dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd


作者:noooood 回复日期:2007-2-9 21:06:53 
  受益匪浅啊


作者:麻木小羔羊 回复日期:2007-2-9 22:17:56 
  我06年计算机科学与技术毕业
  楼主所说的专业知识我隐约有点印象,但具体是什么就不记得了
  或许是根本不知道(当时没认真学)
  所以我现在改行了


作者:你大爷很BT 回复日期:2007-2-9 22:43:59 
  
  抄袭加创新...
  


作者:kkyy 回复日期:2007-2-10 11:30:01 
  记号


作者:自由梦想 回复日期:2007-2-12 20:37:51 
  支持菩提道次第


作者:123变 回复日期:2007-2-12 20:53:18 
  :)


作者:海定则波宁 回复日期:2007-2-12 23:17:24 
  记号,回头再看,辩论出真知


作者:日三省 回复日期:2007-2-12 23:36:47 
  支持楼主.其实,楼主说了这么多,就是要指出,学生必须要珍惜在学校的时间,打好基础,不能太浮躁.
  至于指望毕业后公司培养,更是大笑话.国外公司有好的培训系统,但是招的要求很严,选中的人本身就基础就扎实,培训便是锦上添花.国内公司则是希望招之即来,挥之即去,你能指望他们雪中送炭,把你培养成人才吗?
  至于看到很多人都谈到工资问题,真是不懂事啊.你有没有本事,不关老板的事.老板只想知道你对公司有没有用.有用,工资几十K都没问题,没用,就是你能写出windows,也当废物.
  


作者:菩提道次第 回复日期:2007-2-13 9:08:17 
  作者:日三省 回复日期:2007-2-12 23:36:47 
  国外公司有好的培训系统
  ————其实我还想谈谈国外公司的培训问题,有空再说吧
  
  简单些的意见就是国外公司的培训在市场和管理上面确实有其独到之处,但是在技术上面我还没有看到有意义的培训,基本上都是产品使用培训,主要因为他们把中国当成市场,没有当成开发基地的想法
  


作者:heatonhaha 回复日期:2007-2-13 13:03:10 
  
  
  作者:菩提道次第 回复日期:2006-12-18 09:09:56 
    作者:webdelphi 回复日期:2006-12-17 22:26:36 
  
    ————我们试过培养,但是你说半年的时间连循环控制条件都搞不清楚的选手有什么培养前途呢,而且这个不是个别现象
  
  
  看过作者的这段话我真是再怀疑这个公司的实力,把员工培养成连循环都不会的公司,水平很值得怀疑,至少在培训方式以及方法上就有很大问题,比如如何提高员工的工作积极性以及淘汰机制上的问题,难道不是吗?
  
  
  


作者:zhaoquaner 回复日期:2007-2-13 21:47:57 
  偶也记号


作者:打非办西西 回复日期:2007-2-14 00:46:08 
  回菩提大师:
  小弟也学过一点计算机的皮毛,以下是小弟读大学以来的一些学习历程,但是小弟一直没有在编译远离上下过什么功夫,不知菩提大师可否对我提些中肯的建议。和我对计算机科学的看法。
  ============================================================
  在这里我想说一句,做一个普通的软件工程师和做一个精通计算机科学的大师完全是两条路。如果你想做一个软件工程师,你可以先学学J2EE或是NET的类库,然后找个公司做软件民工,一辈子也不可能做成大师。你的日子就是一天天的在无穷无尽的加班中过去,到头来可能什么是计算机你都不知道,所以如果你只是想做个软件工程师,我劝你就别学了,这条路一定没有你做医生来的舒服。
   如果你对计算机科学真的是出于爱好,那么你可以按我前面说的去做,花个四年左右的时间可以粗通计算机科学。
   第一阶段:主要打好计算机科学的基础,学习离散数学,图论和数学归纳法,这是整个算法理论的基础。同时学习C和C++语言以及STL,这可以让你初步具备编程能力。同时看几本关于计算机体系结构和组成原理方面的书,在脑子里建立一个计算机体系结构的印象。
   第二阶段:这是最重要的阶段,在这个阶段里你要学习数据结构,算法理论和编译原理这方面的课程。这是你软件能力的基础,也是你后续学习的基础。在这个阶段你要多做题,做大量的题,可以试着做一些ACM的题目。在学习编译原理的过程中可以试着写一个小的编译器,或者一些文法分析器去处理文本。同时学习汇编语言,并对照VC++产生的汇编代码深入的学习C++语言。
   第三阶段:在这一步,你就接触到操作系统一层了。你可以先学习操作系统原理和计算机网络的基本课程。在这个基础上可以以Linux系统为标准,通读它的内核并且学习一下POSIX标准。对于Windows系统可以按照操作系统理论来了解它的服务和它提供的API,对于两种操作系统不同的体系结构可以对比两者的优劣。对于TCP/IP协议你可以看看它们的实现。最后你可以试着写一个小的操作系统,使这实现一些TCP/IP协议。
   第四阶段:这个阶段主要以学习一套J2EE类库为主,这是你可以试着做一套自己的软件出来。
   在这四个阶段完成之后,你可以去Microsoft的ATC,Google的研发中心或是Intel的亚太研发中心,IBM的CDL找份工作,然后你会接触到最新的技术,并且会有很多时间来让你研究这些技术,记住一定要去大公司的研究院,否则你基本上没有时间研究你的技术。
   第五阶段:到了这个阶段,你就有利足够的基础去研究一些新的技术,这就看你自己的造化了。混好了,弄个中国的Intel,Microsoft,Google也不是不可能的。
   关键在于坚持,走自己的路,让别人去说吧。
   成就一个专家,没有十年是不可能的。
  


作者:打非办西西 回复日期:2007-2-14 00:46:53 
  以上是小弟一些学习的总结,也是我回答一些想学IT的人的帖子。
  有什么偏失的地方还请大师指名.


作者:菩提道次第 回复日期:2007-2-14 11:19:21 
  作者:打非办西西
  ————你想得也太乐观了,当初我倒是差一点负责一个ibm的研究部门
  
  扎扎实实的搞一个编译器基本上就足够了,后面我倒是感觉要看悟性和耐性,大概只有真正喜欢编程序的才有可能走到专家的地步
  
  能不能形成一个大视野,应该是最关键因素,在任何方面都可以,业务方面可以深入一下sap,操作系统方面深入一下unix,这个深入最好是仿造的那种深入,大视野形成之后,如果个人比较有创造力,基本上就成了专家了,不过我感觉创造力和耐性都好的选手不多
  


作者:打非办西西 回复日期:2007-2-14 18:29:39 
  呵呵,我现在倒是在IBM里面,选了IBM据了Intel和Microsoft主要是因为他和我家比较近,菩提大师是Google的吗?
  


作者:t20 回复日期:2007-2-15 00:14:23 
  阿菩阿
  
  不是你智商高
  
  实在是你们地球人智商低阿
  
  这么浅显滴东西都不知道
  
  阿菩你是不是觉得身为一个地球人好悲哀好悲哀阿
  
  习习习习习习习习
  
  


作者:菩提道次第 回复日期:2007-2-15 09:05:59 
  作者:打非办西西 
  ————在igs吗?北京的移动是你们在做吗?我现在自己做事情
  
  作者:t20 
  ————老兄一向可好?
  我现在在练功夫,满认真的
  产品发布之后给你一个地址你看看,三月份之内
  
  


作者:菩提道次第 回复日期:2007-2-15 09:12:44 
  有兄弟问:
  你觉得考计算机研究生有没有必要了
  ————我的看法是,如果你在本科的时候已经把上面两门课的习题实际做得很深入了,那么找份工作,不论什么起点,一年之内你必然脱颖而出,但是如果你没有做任何事情,那么,问问自己的内心,愿不愿意辛苦一点补课,如果愿意的话,研究生的两年里面可以把上面两门课的习题提高一些难度做掉,还是有点意义的
  工作之后要想有大块的时间学习实践,满困难的,读研的意义仅在于此了,如果你对某个方向及其有兴趣,最好的选择是找一个这个方向的公司,不论如何进去,有上面两门课习题做基础,在实际工作中深入才是最好的选择
  


作者:菩提道次第 回复日期:2007-2-15 09:15:40 
  作者:打非办西西 回复日期:2007-2-14 18:29:39 
  选了IBM据了Intel和Microsoft主要是因为他和我家比较近
  ————晕死,你家地理位置太好了吧,瑞安边上??
  还是在浦东,先到瑞安后到徐家汇??
  
  


作者:gimse7en 回复日期:2007-2-15 10:55:32 
  移动住房?


作者:t20 回复日期:2007-2-15 11:17:52 
  哈
  
  阿菩阿
  
  在你们地球人中你算是有点智商滴辣
  
  俺觉得你有资格看看维特根斯坦滴语言哲学著作<逻辑哲学论><哲学研究>辣
  
  前者是早期思想后者是晚期思想,
  
  以你现在滴计算机素养你看前者应该能够看进去,会有启发滴,
  
  不过真正高深滴是后者哦
  
  你还是很有希望上档次滴哦
  
  稀稀稀稀稀稀稀稀稀稀稀稀稀
  
  


作者:梁佩直 回复日期:2007-2-15 11:58:50 
  现在还学计算机是否过时?


作者:菩提道次第 回复日期:2007-2-15 12:06:23 
  作者:t20 
  ————现在喜欢看实体书,不太愿意看电脑上的了
  正在仔细阅读黑格尔的精神现象学和海德格尔的形而上学导论
  你说的我看看有没有,商务印书馆的版本比较舒服一些,翻译得也好,如果有就买两本看看
  
  实话说他们比佛经和道德经论语差很多倍
  
  


作者:t20 回复日期:2007-2-15 13:35:24 
  哈
  
  阿菩阿
  
  佛经和西洋哲学滴来源演变是一样滴辣
  
  这点你都不知道
  
  你还好意思叫自己阿菩阿
  
  不过涅
  
  虽然你数学和算学不行但计算机素养还是不错滴
  
  有朝一日由中国语言思维演化出来滴计算机思想
  
  就靠你这样滴既勤奋又好学还有智商滴辣
  
  这可是为你们地球人滴进化提供辣更多滴可能性哦
  
  搞个图灵奖玩玩也不错嘛
  
  佛门广度
  
  惟渡有缘
  
  稀稀稀稀稀稀稀稀稀
  
  


作者:菩提道次第 回复日期:2007-2-15 14:04:57 
  图灵奖没兴趣,搞一个超巨大的公司倒是有兴趣的
  
  今年冲刺千万销售额,搞定一定去请你喝酒
  


作者:Teawine 回复日期:2007-2-15 14:06:01 
  俺是04年的,计算机系的游戏氛围那叫狂热啊,我们这个全校最高分录取进来的许多尖子都在这里沉了,俺在学校时是动手能力非常强的学生,基本上课程设计都是独立完成让别人copy的,可是到最后课程成绩高分都让那些copier给拿了,老师还怀疑我是copy他们的。后来毕业时没能找到好工作,基本上和程序绝缘了,好在还会几个鸡肠,现在大转舵,做了外贸


作者:免通行证 回复日期:2007-2-15 15:45:08 
  
  
  真的很感谢LZ的指导,我是06级大学生,看了你的文章后很有感悟,以后我会注意自己的学习方法以及方向了。。。
  不管楼上那些骂楼主的猪怎么说,我还是认为你说的真的很对。。。赞。。。。。。。
  
  


作者:xwvcd 回复日期:2007-2-15 16:26:54 
  太长了,没看。。。


作者:长浪 回复日期:2007-2-15 16:28:38 
  回个帖子,仔细看下!


作者:benbenzhe 回复日期:2007-2-15 17:16:36 
  后悔啊!当时就这两门没有学啊!~我的大学啊!就这么过去了!如果上天再给我一个机会我会说我要做到一百分!!!!!


作者:kinkoyo 回复日期:2007-2-15 22:04:42 
  还在讨论??
  按打非办西西的分级,偶现在在第三级,努力向第四级靠拢。。。
  不过没研究系统,在看图形学


作者:汉族人民 回复日期:2007-2-15 22:51:13 
  楼主胡说八道,编译原理基本没用。
  数据结构还可以,是具体编程的技巧。
  
  你又不做编译器,考人家编译原理干吗?还什么词法,语法分析,现代语言用这些干吗?


作者:紫气浩荡 回复日期:2007-2-15 23:16:52 
  作者:t20 回复日期:2007-2-15 13:35:24 
    哈
    
    阿菩阿
    
    佛经和西洋哲学滴来源演变是一样滴辣
    
    这点你都不知道
    
    你还好意思叫自己阿菩阿
    
    不过涅
    
    虽然你数学和算学不行但计算机素养还是不错滴
    
    有朝一日由中国语言思维演化出来滴计算机思想
    
    就靠你这样滴既勤奋又好学还有智商滴辣
    
    这可是为你们地球人滴进化提供辣更多滴可能性哦
    
    搞个图灵奖玩玩也不错嘛
    
    佛门广度
    
    惟渡有缘
    
    稀稀稀稀稀稀稀
  ------------------------------------------------------
  没想到这贴把外星朋友都吸引过来了


作者:pwmodify 回复日期:2007-2-16 17:16:59 
  我的第二章到第四章已经写好了。。。。。。。。。。。
  
  


作者:tienya 回复日期:2007-2-16 18:04:42 
  北大青鸟哪家最好?北大青鸟是标准化管理的企业,教学水平当然都是没的说!既然教学水平都一样,为什么不挑一个硬件更好的中心学习?上海普陀中心,距离轻轨站仅100米,中山北路高架旁,37条公交线路到达,中关村科技大厦10楼全新装修。还有更好的选择?


作者:西西大师 回复日期:2007-2-17 11:04:48 
  回菩提大师:
  IBM是CDL的,我家住在大连路隧道边上。Microsoft和Intel都是紫竹园区里的,亚太研发中心和ATC。IBM在瑞安的那个叫做GBS,和我不是一个部门。以前在闵行念书,在Intel不觉得远,现在回家了再过去就太远了。
  菩提大师,您要收弟子的话就先考虑一下我吧。
  你的公司现在规模有多大?


作者:西西大师 回复日期:2007-2-17 11:06:53 
  To菩提大师:
  您说的那个在徐家汇的Microsoft叫作GTSC,是做全球技术支持的,里面不是很大,好像就两层楼吧。Microsoft在紫竹5号楼3-5层的那个叫做ATC,我在里面混过一段时间,总的来说里面的技术含量要稍微高一点。


作者:yf_1937 回复日期:2007-2-17 12:42:07 
  关注这贴也有好些时间了,贴是好贴,不过很多时候倒是怎么看怎么觉得别扭,有些话感觉是不吐不快:
  第一、对于大部分大学生来说,编译原理其实是最不受重视的一门重要的专业课程,至少对于我来说曾经就是这样。不是学不好,也不是不想学,而是要学的东西太多,腾不出时间来。数据结构还好,编译原理嘛,当时未必能看出它的重要性,不要告诉我天涯上就有人说过编译原理很重要,我上学时候压根不知道天涯是什么。不要把这些责任硬摊派给大学生。
  第二、不是所有大学生成天不学习,也不是所有大学生都成天玩游戏。我就没玩过。
  第三、现在的很多招聘的都希望学生们能精通或者至少熟悉招聘人自己感兴趣的东西,这其实根本不可能。我大学毕业以前只要是跟软件相关的基本都了解一点,C,C++,VC++,Java,C#,Delphi,VB都会一点,也都能像模像样地写一点程序,但却没有一样敢说精通的。除此以外,就连一个简单的HTML页面标记都不懂。如果我来应聘,你觉得我合格吗?
  第四、现在很多人不想招聘只会吹牛的,但却喜欢吹牛的,可是如果实话实说能找上工作吗?我去中兴应聘的时候,他们问我会什么,我当时就直接说什么都会一点,但都不精通,学得最好的也就是Delphi了,Windows比Linux熟,Linux下也就用C语言做过Socket编程。硬件就压根不懂了。结果他们问我说你既然说你懂Delphi,那么你列举一下Delphi的常用控件,我随口说了十来种,他们就说就这么点吗?我一时之间倒想不起许多,只好说别的我一下子倒说不出来了,不过你现在如果给我一个新控件,我半个小时之内基本上就能弄清楚怎么使用。他们就不说话了,过了一阵子才又说,你说你比较熟Windows,那么你说说Windows下编程最重要的是什么?我就说消息机制、内存管理和线程同步,他们听说以后的表现整个就像是谁在说鱼儿能在天上飞一样,过了半天才问诺大的一个Windows就这么点重要的东西吗?连着两次这样,我立马没了底气,只好再添上一个结构化异常处理。后面再没问什么,就说你回去吧,等我们消息,事情就到此结束了。后来我听说我们班大学四年只学会Photoshop的一个同学进了中兴了。不要再说哪个哪个毕业生大言炎炎了。
  第五、我对我的母校没有什么特别的看法,但是我可以很负责任地说,我大学里所学到的东西百分之八十五是我自学来的,从来没有谁用事实告诉我哪些东西很重要,哪些东西不重要,即便很多善意的老师给出的意见也仅仅停留在说教上。更没有谁能把数据结构和编译原理讲得透彻的,所以不要再说当今的大学生怎么怎么样,如果我只按照老师给我安排的路子走下去,也许我毕业了都不知道自己是学计算机的。
  该吃午饭去了,不写了,今天过年,祝各位新年快乐!


作者:pwmodify 回复日期:2007-2-26 11:15:44 
  晕哦~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


作者:菩提道次第 回复日期:2007-2-26 12:30:18 
  新年快乐
  


作者:菩提道次第 回复日期:2007-2-26 12:48:04 
  作者:西西大师 
  ————今年应该能在上海搞一个分部,到时候联系吧,工资上面应该比不上ibm,但是能力强的话差不了多少
  


作者:bu优忧 回复日期:2007-2-26 13:09:58 
  呃。。。。学电脑这么难哦。
  不过,我还没被吓到!我要继续努力!


作者:无敌羊毛 回复日期:2007-2-26 14:02:57 
  没说的.
  顶起来先......


作者:菩提道次第 回复日期:2007-3-3 13:25:13 
  upup



作者:吾所胃巨 回复日期:2007-3-9 09:53:54 
  这贴还有人在啊?其实我觉得作为程序员最主要的一个品质或是能力是能够静下心来思考一些东西,总结一些东西.有些东西没学好,或是没学并不关键,补上就行,但是少了上面说的,那么学什么也学不会,学什么也只是copy的份!


作者:hunterdong 回复日期:2007-3-11 1:31:00 
  搂住比较实在,不过层次一般。。。  
  
  踏实还是很可贵地,但是搂住有点显摆老资格用来压人的意思了(纸上调试,不在上海,想回母校读书blabla)
  
  问个问题:广东那个做hao123的人对词法分析了解多少?呵呵,搂住沉湎于辩论,强调某些并不是特别有价值的筛选细节,不敢苟同。勤劳,敬业,鞭策在校学生,出发点不错,可是打游戏的人能看到吗,有点怀疑
  
  t20你好闲阿。在这里再回你一下吧,你总是看好廉价出口型的中国。。。赫赫,最有价值的部分还是你透露的一些消息,这也印证了我判断你和体制有牵连的设想。。
  


作者:cjbbm 回复日期:2007-3-11 8:59:31 
  盘古说:我开;
  女娲说:我补;
  共工说:我撞;
  神农说:我尝;
  精卫说:我填;
  夸父说:我追;
  后羿说:我射;
  嫦娥说:没射着!
  黄帝说:我是老大;
  尧说:我让;
  舜说:我也让;
  禹说:治理灌水!
  启说:该我玩了!
  桀说:真好玩;
  汤说:造反有理了;
  夏亡了……
  纣说:痛快;
  武王说:我受不了啦;
  商亡了……
  幽王说:点火;
  褒姒说:刺激;
  周也亡了……
  干将说:我铸;
  专诸说:我舞;
  荆柯说:我刺;
  赢政一躲:没刺着……
  始皇说:我修;
  姜女说:我哭;
  陈胜说:有种;
  项羽说:我举;
  刘邦说:我斩;
  秦亡了……
  孔子说:我仁;
  孟子说:我义;
  老子说:我无为;
  庄子说:我逍遥;
  韩非子说:把他们全抓了。
  张良说:我出谋划策;
  韩信说:我统帅三军;
  萧何说:我运筹帷幄;
  高祖说:老婆,怎么办?
  吕后说:全喀嚓了。
  文景说:我治;
  武帝说:我兴;
  光武说:我中兴;
  献帝说:我说了不算。


作者:cjbbm 回复日期:2007-3-11 9:01:13 
  张骞说:我通;
  班超说:我也通;
  苏武说:发展畜牧业!
  司马迁说:要想成功,不怕被宫;
  班固说:我要出书;
  司马相如说:一首赋稿费一千;
  卫青说:我打;
  霍去病说:我也打;
  李广说:老子还打;
  昭君嫣然一笑,遂天下太平。
  董卓说:我势大;
  吕布说:我人帅;
  貂婵说:你们俩谁厉害?
  董卓完蛋了。
  曹操说:快帮我脱鞋迎老许;
  刘备说:快给我牵驴来访诸葛;
  孙权说:周郎自有妙计安天下;
  周瑜说:加油,烧死老曹;
  诸葛说:天下三分,人人有份;
  司马昭说:向刘备同志学习;
  晋开始了。
  朱温说:我同?ㄋ常?B>
  萧道成说:我一条顺;
  陈霸先说:重新洗牌……
  杨广说:去扬州观花;
  李渊说:来公费旅游;
  李世民说:魏征,你的意思;
  李治说:老婆,你的意思;
  武则天说:那还不如我说了算;
  薛刚说:反了你了!
  骆宾王说:鹅肥;
  王勃说:情深;
  李白说:酒美;
  王维说:景幽;
  孟浩然说:风流;
  杜甫说:屋漏;
  白居易说:抱着琵琶唱OK;
  李商隐:我没话说了。
  柴荣说:天下有我一份;
  赵匡胤说:今年流行黄袍子
  寇准说:带上瓶醋谈判去;
  李刚说:保家卫国;
  徽宗说:没保成;
  钦宗说:我想回家;
  金兀术说:没门
  赵构说:把姓岳的抓了;
  岳飞说:我有啥罪?
  秦桧说:也许有……
  陆游说:我要死了;
  文天祥说:死得好,我为你喝彩!
  完颜说:金大;
  耶律说:辽大;
  成吉思汗说:大你个毬!
  忽必烈说:亚欧大陆我说了算……
  朱元璋说:高筑墙;
  建文帝说:孙承祖业;
  朱棣说:我找我爹;
  严嵩说:清史留字;
  施耐庵说:天罡盖地煞;
  罗贯中说:曹刘震河腰;
  吴承恩说:全盘西化;
  曹雪芹说;读书人的事能算淫么?
  
  崇祯说:袁崇焕,你的良心大大地坏了……
  李自成说:歇会,找个小姐来;
  吴三桂说:敢泡我老婆?
  皇太极说:三桂是个好同志。
  顺治说:爱江山更爱美人;
  康熙说:江山好管儿幽呀蹋?BR>
  雍正说:说我狠,我就狠给你们看;
  乾隆说:我爹是谁?
  嘉庆说:和坤是我爹留给我的遗产!
  蒲松龄说:我是另类我怕谁?
  林则徐说:我销;
  洪秀全说:我反;
  康有为说:我变;
  孙中山说:我伐!!!
  慈禧说:木偶戏你当好演呀;
  李连英说:有奴才伺候;
  李鸿章说:九亿白银,小意思;
  袁世凯说:窃国者为诸候?
  蒋介石说:共党未灭何以家为?
  说:中国人民从此站起来了!
  说:让一部分人先富起来嘛。
  

作者:温尔刚 回复日期:2007-3-11 14:37:26 
  我第一次进这个版,刚进来发现水平低得不成样。
  
  楼主也算是矮子中高佬吧,但你这样摆显就不对了,这不就让老王同志给教育了一通?
  
  楼主强调的数据结构和编译原理这些细枝末节,别说本科生就是我们这样的专科生大老粗,也个个玩得转。也不知你是去哪个野鸡大学招的人,居然招到的都是不能干活的?不是学生们水平低,实在是你们的眼光太差。


作者:hli61 回复日期:2007-3-11 15:16:32 
  不知道怎么撞进了这个版块,计算机专业现在已经有好多的专业,楼主说的都是编程类的,针对的是以后出来从事编程的人。
  学校既是可以积累经验的地方却也不是,大部分的在校生都处于迷茫中,除非有些自己已经有很明确的目标就是喜欢搞编程的,那在学校他喜欢所以会去钻研,他在学校就已经可以作出项目来了,不用到社会。而很多人处于茫然的状态中,包括曾经在校的自己,在校喜欢编程,曾经痴迷于数据结构的求最短距离,那时好佩服想出那个算法的人,也做过交通灯的算法。在学汇编的时候,也沉迷于在为解决出一个问题而狂喜,为解不出一个问题而深锁,甚至连睡觉前都在想怎么编出算法,这些都只是为了形成一个编程的思维。
  可是最终从事的却是网络,一切都得从头开始学起,在工作上是全新的,而经验也是在工作中积累。不管怎样在学校的那种为想不出一个问题的算法而喜而忧那种美妙的感觉一生都不会忘。
  所以之前在学校没有学得那么好,只要他走到社会上他在从事一分工作,他能喜欢上他一定能做好,说这么多还是瞒希望给予机会的。毕竟自己是那么经历过来的,从不怎么了解到喜欢上网络。
  


作者:菩提道次第 回复日期:2007-3-11 15:53:24 
  作者:hli61 回复日期:2007-3-11 15:16:32 
  可是最终从事的却是网络
  ————你不会是搞工程地吧,我认识华为的搞网络的兄弟,统统都是写程序的,并且难度不低的那种
  


作者:lzyty 回复日期:2007-3-11 19:11:35 
  为解不出一个问题而深锁,甚至连睡觉前都在想怎么编出算法,这些都只是为了形成一个编程的思维。


作者:curse2006 回复日期:2007-3-12 01:52:01 
  楼主所说的要求确实不算太高,我大学毕业的时候基本上都能达到。我学的是信息安全专业,大学的时候除了码程序,还学了一些操作系统内核、密码学、密钥学、安全理论这些东西,基本上都是自学,而且也没有人来指点。而且我那时候的学习条件也很差,学校很变态,不让学生用个人电脑,我们也都是写出来程序在纸上分析好多遍再拿到机房去调试。所以说只要个人努力,大学里的完全能学到很多东西。
  惭愧的是,现在上研了,学习条件也好多了,真本事没学多少,申请国家项目坑蒙拐骗那一套倒学了不少,自己远没有大学时那么努力了。现在决定回头好好研究点东西,应该还不算晚。


作者:hli61 回复日期:2007-3-13 16:24:25 
  我也想去工地搞搞项目啊,不过没办法啊,现在只能在机房里扫地了罗,哈哈……
  
  
  作者:lzyty 回复日期:2007-3-11 19:11:35 
    为解不出一个问题而深锁,甚至连睡觉前都在想怎么编出算法,这些都只是为了形成一个编程的思维。
  我错了,应该是说当时很喜欢所以才会那样去思考,而这些对编程是很有好处的,以后碰到问题就会只顾着去想怎么解决、用什么方法。


作者:isepwolf 回复日期:2007-3-13 19:35:05 
  遇到高人了,受益非浅。


作者:2350054 回复日期:2007-3-15 18:12:00 
    一种不困难的语言定义,标识符,常量变量,控制语句,四则运算,一种循环语句
    输入是一段合法的程序,和一段不合法的程序
    输出是已经把四则运算转化成逆波兰式的包括符号表在内的东西
  ----------------------------------------
  
  兄弟对这个课程设计还没有理解透,希望楼主再仔细分析下.
  如果输入的是:doublem=2.1,n=4.5;
  doubles=m*(n+m);
  for(inti=0;i<=10;i++)
  {
  m=m+i;
  }
  那么输出的是什么呢?
  还有 符号表里存放的 只是标志符和他的类型吧?

前方纵有浪百千,笑傲江湖冲向前

作者:叶不落VIP 回复日期:2007-3-15 19:30:05 
  小弟刚做的网站请大家捧场www.dntt.cn


作者:菩提道次第 回复日期:2007-3-16 10:15:21 
  作者:2350054
  ————呵呵,最近太忙,没时间翻书了,你自己看吧,大概就做到除了运行代码生成和优化两个部分不做,其他都做,如果解释执行,可以考虑把执行也作了


作者:2350054 回复日期:2007-3-16 11:43:14 
   恩,词法分析器我已经做了,没看过书上的那些理论,只是搞清楚输入,输出,然后用自己的方法去实现他了,
  但是语法分析,输入一段语句,我都不知道要输出些什么东西,呵呵
  感觉看书上那些理论也没什么意义,加上书上那些理论好难,看起来挺费力的~~感觉只要搞清输入输出就可以做出来了.
  
  楼主,你的那个课程设计,并没有让你给我解释原理,只是想问下在输入一段程序的情况下  输出的就只是把四则运算转换为逆波兰式吗?其他的什么关键字,逻辑语句什么都不用处理吗?如果程序中没有四则运算,那输出就为空啊?


作者:菩提道次第 回复日期:2007-3-16 13:51:03 
  作者:2350054 回复日期:2007-3-16 11:43:14 
  输出的就只是把四则运算转换为逆波兰式吗?其他的什么关键字,逻辑语句什么都不用处理吗?
  ————呵呵,最简单的就是四则运算了,语句才是难处理的东西,还是看一下书,闷头做不太容易
  


作者:毒手观音 回复日期:2007-3-16 17:03:54 
  IT培训咨询,北京计算机学校实训且保证就业信息.知名网络教师.详情请登陆www.itet.cn查询.电话010-62112873-625李老师.


作者:莱鸟看看 回复日期:2007-3-16 21:52:52 
  我是大专生计算机系的莱鸟,不懂,谁能给我一点自信


作者:温尔刚 回复日期:2007-3-17 00:02:03 
  作者:2350054 回复日期:2007-3-16 11:43:14 
     恩,词法分析器我已经做了,没看过书上的那些理论,只是搞清楚输入,输出,然后用自己的方法去实现他了,
    但是语法分析,输入一段语句,我都不知道要输出些什么东西,呵呵
    感觉看书上那些理论也没什么意义,加上书上那些理论好难,看起来挺费力的~~感觉只要搞清输入输出就可以做出来了.
  楼主,你的那个课程设计,并没有让你给我解释原理,只是想问下在输入一段程序的情况下  输出的就只是把四则运算转换为逆波兰式吗?其他的什么关键字,逻辑语句什么都不用处理吗?如果程序中没有四则运算,那输出就为空啊?
  ________________________________________________________
  
  看你遇到楼主这个伪高手怪可怜的,就跟你说一下吧。
  
  逆波兰式是中间代码的一种表示方法。中间代码是语义分析的输出,而你理解为语法分析的输出是错误的。既然是中间代码,那它当然不只把四则运算转换为逆波兰式,而是所有的语句都要转换。比如“ifAthenBelseC”语句,转换成逆波兰式为ABC$;“for(A;B;C){D}”语句,转换成逆波兰式为ABCD*。$、*分别是代表if语句和for语句的三目、四目运算符(加减乘除为二目运算符)。
  
  由此可见,采用逆波兰式表示的中间代码,不但需要创造许多运算符,而且省去了临时变量和代码回填等细节,是相当粗糙的代码表示方式。学习编译的时候,老师都会要求你输出四元式而非逆波兰式来表示中间代码,因为四元式最直观、最接近汇编语言。
  
  顺便就这个帖子发表一点看法。数据结构和编译原理固然十分重要,但计算机系学生赖以生存的却是汇编和操作系统。当年教授是这么跟我说的,我认为他说得太对了。真正的高手在学习新技术的时候,头脑中首先跃出的是“程序的内存映像”和“软件的抽象层次”这两个概念,从这个角度看,汇编和操作系统远重要于数据结构和编译原理。


作者:菩提道次第 回复日期:2007-3-17 8:52:02 
  作者:温尔刚 
  ————解释得不错,不过最后这个太搞笑了:
  
  头脑中首先跃出的是“程序的内存映像”
  
  呵呵,怎么不跃出来二进制哪?
  
  不过四元式是对的


作者:温尔刚 回复日期:2007-3-17 14:05:37 
  作者:菩提道次第 回复日期:2007-3-17 8:52:02 
    作者:温尔刚 
    ————解释得不错,不过最后这个太搞笑了: 
    头脑中首先跃出的是“程序的内存映像” 
    呵呵,怎么不跃出来二进制哪? 
    不过四元式是对的
  ____________________________________________________
  
  所以说你根本就不懂什么是“软件的抽象层次”,你去看看哪本介绍编程技术的书会把程序具体化到0、1序列的?最多只需要画出程序运行时的内存映像就能把问题解释清楚了,此时便是把程序抽象到汇编和操作系统的层次。在我面前你没必要装,你是什么水平别人不清楚难道我还看不出来?
  


作者:菩提道次第 回复日期:2007-3-17 14:38:11 
  晕,我没有挑衅的意思,但是确实不明白您的内存映像在说什么、、


作者:木尧青 回复日期:2007-3-17 14:52:49 
  受教了!


作者:骇客帝王 回复日期:2007-3-17 15:11:01 
  1。“公司要能干活的人,或者一个星期之内能干活的人”
  2。不要拘泥于技术


作者:reginvalid 回复日期:2007-3-17 15:20:12 
  咦,给了红脸啦,恭喜lz.
  这个学期在讲编译原理了,虽然没计划写一整个,不过各阶段的核心还是会尝试去实现一下的.


作者:温尔刚 回复日期:2007-3-17 15:46:56 
  作者:菩提道次第 回复日期:2007-3-17 14:38:11 
    晕,我没有挑衅的意思,但是确实不明白您的内存映像在说什么、、
  ______________________________________________
  
  "呵呵,怎么不跃出来二进制哪?"——这是程序在硬盘里的映像,是0、1序列,它是死的。“程序的内存映像”就是程序运行时的样子。
  
  “程序的内存映像”、“软件的抽象层次”、“大问题的复杂性”、“绑定”等等,共有十多个计算机学科里最重要的概念。学编译的时候遇到最多,所以好一点的编译书开篇就会介绍这十多个概念。

前方纵有浪百千,笑傲江湖冲向前

作者:菩提道次第 回复日期:2007-3-17 17:19:03 
  作者:温尔刚 
  ————大问题的复杂性,绑定,还比较熟悉
  抽象层次还是不熟悉,可能我基础太差


作者:施墨 回复日期:2007-3-17 23:14:13 
  从内功心法追到这里


作者:dnas_2004 回复日期:2007-3-18 0:02:39 
  没办法.目前我国教育体系还相对落后.(国内采用文学性教育模式)
  第一,学习基础科目太多,时间太长.
  第二,目前国内教育体系就是通过考试成绩来判断优差.
  第三,实习.研究.讨论太少.
  第四,您必须要通过所有课程才能毕业.


作者:菩提道次第 回复日期:2007-3-18 10:15:56 
  作者:dnas_2004 
  ————其实我在很正式的考虑让不让我儿子上大学了,还有七八年时间好考虑,应该来得及
  
  如果在高中左右我儿子对航模和机器人的兴趣能够转化成能力,我想直接让他工作,仿佛不浪费时间一些
  


作者:菩提道次第 回复日期:2007-3-18 10:17:45 
  晕,一时冲动,上面一段话不适合大多数人,上面一段话的另外一个条件是我能够给他安排足够理想的和他兴趣完全符合的工作并且补充各类人文教育
  


作者:随便看看瞧瞧 回复日期:2007-3-18 15:38:26 
  。。。。


作者:湘西渔民 回复日期:2007-3-18 17:09:28 
  不错,俺彻底被你们说服了,


作者:tantanerle 回复日期:2007-3-18 21:09:32 
  没话说了!快毕业了,想入这行!也没学好!女怕嫁错郎,男怕入错行,哎...TMD编程把我折磨的人不人鬼不鬼的!看见代码就恶心


作者:tantanerle 回复日期:2007-3-18 21:12:44 
  我发誓绝对不让我的后代学电脑,除非他有特别的天赋.这行很挣钱,但是日子不是人过的,当你讨厌他时!


作者:菩提道次第 回复日期:2007-3-19 8:51:10 
  作者:tantanerle 
  ————呵呵,你没找到编程序的乐趣


作者:evilove 回复日期:2007-3-19 14:02:04 
  有喜有悲!。。。。。。。。。


作者:严肃处理 回复日期:2007-3-19 17:22:48 
  告诉LZ,我毕业时自信也达到你说的水平了。可是现实是,大部分公司只要代码工人……郁闷了快2年了。据说垃圾做多了自己也就慢慢变成垃圾了。还是机会要把握好呀。


作者:student2005 回复日期:2007-3-20 14:39:23 
  其实编译没有楼主说的这么深奥,把龙、虎、鲸三本书中的任何一本读完就可以编写编译程序,很多人学不下区是没选对教材,一般来说国内选折的是国防科大那本,那本书不好理解,缺少对形似机与自动机原理的详细分析,如果系统学习了离散数学就更好理解。数据结构更不用说,根本就不难。难的大多数程序员也遇不到,要看也只有再acmcommunication上才看的到。还有所谓的三天可以学好java是对java的无知(你这个是看情话哪个退学博士的拨客上看到的吧),只有学完了corejava2才能对java体系有一个初步的了解,而这本书有接近3000页,怎么样三天页看不完。另外告书楼主javareflect不是什么难东西,agent要比这个概念难多了。算法理论只要解决了算法导轮这本书就足足有余。操作系统只要把minix的代码(只有大约4000行)读一边就可以理解系统是如何运作的,微内核如何设计,不必要去分析unix代码(当然有时间是另外一回事)。
  楼主强调加强理论学习事对的,不过楼主再招程序员的时候,用编译原理去刁难别人说明楼主的为人确实难以叫人恭维。


作者:瞬J 回复日期:2007-3-20 15:30:40 
  恰恰这两门最让我头疼``


作者:fulljeangone 回复日期:2007-3-20 15:31:30 
  我也是计算机专业毕业的,可是我就是不想学,怎么办啊!!楼下的。我现在在一家网络公司做销售,现在广播一下。
  ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
  ┆〓〓〓〓〓〓〓私服一条龙服务〓〓〓〓〓〓〓〓〓┆
  ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
  ┆★域名注册★网站建设★虚拟主机★企业邮局★主机租用★vPS主机★主机托管★┆
  ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
  ┆▁▂▃▄郑州飞宇网络科技有限公司▅▄▃▂▁┆
  ┆www.fy371.com┆
  ┆┿QQ:502983111┆
  ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
  


作者:打非办西西 回复日期:2007-3-20 22:51:08 
  Tostudent2005:
  这位兄弟层次比较的高!
  兄弟也是ACM的队员吗?


作者:椰露雅兰 回复日期:2007-3-21 12:47:17 
  学了半期,还编不来程序,郁闷啊!楼主我该怎么办?


作者:yf_1937 回复日期:2007-3-21 14:07:53 
  前面几次没怎么好好看过这帖子,今天再看的时候,怎么就觉得楼主压根就是做作。也许本意是要在这发点感慨的,到后面就变了味,纯粹就在表现,难道现代人都有这么强的表现欲么?真不知道你大学刚毕业的时候会些什么?也许也就会发个贴吧,不然怎么你就不是比尔盖茨呢?


作者:菩提道次第 回复日期:2007-3-21 14:10:12 
  作者:椰露雅兰 
  ————这里已经说得很清楚了,投入的干任何一件事情都行,不要光看书,实际编程序最重要


作者:yf_1937 回复日期:2007-3-21 14:20:06 
  不要再在这里谈什么思想,谈什么对象,谈什么方法...,我看倒还真没有什么思想对象,或者说你们所谓的思想对象都不过一种手段,真正的思想只有两点,一是实用,二是高效。想想底层实现,这里大部分人压根就在扯蛋。不要再在这里搬出一些所谓新名词来误导人、迷惑人、甚至压迫人----中国人向来只擅长这一点。
  至此以后,不再回复。


作者:出来咂道008 回复日期:2007-3-21 15:25:11 
  飘过!!
  小声的顶下楼主!


作者:菩提道次第 回复日期:2007-3-22 09:36:28 
  作者:yf_1937 回复日期:2007-3-21 14:20:06 
  不要再在这里谈什么思想,谈什么对象,谈什么方法...,我看倒还真没有什么思想对象,或者说你们所谓的思想对象都不过一种手段,真正的思想只有两点,一是实用,二是高效。想想底层实现,这里大部分人压根就在扯蛋。不要再在这里搬出一些所谓新名词来误导人、迷惑人、甚至压迫人
  ————晕,怎么看都不像是在说我


作者:scnu_xiaokun 回复日期:2007-3-23 9:39:50 
  我现在还是在校的软件工程的学生,有幸看到楼主的贴子。数据结构学了,但只考了80多分。确实班上有不少人不及格的。和我一起考试的师兄还有100多个呢。编译原理还没学到。也不好说。不知道我以后能不能成为贵公司的合格成员。我现在是一边搞ACM程序设计的,一边做jsp的小项目。我也担心以后出去工作不好混,贴子有不少是公司的高级人员特此请教。我现在是大二,得到各位的指点应该可以走得更好。有时我比较困惑,到底是深入去搞ACM程序设计最后去参加国际赛(至少国内赛),还是去做多点项目开发,像楼主说的,积累多点经验好。我不是像楼主说的那种整天玩乐的大学生。虽然我现在有一星期没去上课了,但我是一直呆在宿舍编程的。。

作者:菩提道次第 回复日期:2007-3-23 15:47:03 
  作者:scnu_xiaokun 
  ————就这里看到的acm题目来说,难度有,但是不系统,不容易培养整体感觉,这种题目应该放在把编译原理的题目做的复杂一点之后再搞,甚至于可以考虑不搞,深入操作系统更好一些,方法也是自己尝试写一个简单的
  


作者:世界杯1029 回复日期:2007-3-24 00:01:08 
  我是去年毕业的CS硕士,也算是信息领域TOP2学校毕业的吧。楼主说的编译原理和数据结构题目我想在我找工作的时候我能作出来,不过我现在在甲方工作当个系统管理员(也算硬件的项目经理吧),好久都不写程序也不写SQL了,感觉自己的技术都退化了,搞系统搞久了业务流程也不是很了解,很担心自己以后的竞争力。还好工作目前看起来还比较稳定。这里的IT业内人士挺多,能不能给我点未来职业规划的建议呢?比较迷茫,感觉和去外企的同学比,现在能力肯定差很多了。
  
  PS:看了上面这些帖子,我觉得还是比较支持股民老王的看法,对于做软件的来说,用到算法的还是少数,如果能明白电信的综合营帐或者银行的综合业务系统的业务流程再加上有设计软件体系架构的能力的话找的一份比较满意的工作的概率肯定比搞算法的概率大多了吧。尽管我觉得大多数应用系统程序写得真的很烂。
  
  
  
  
  


作者:世界杯1029 回复日期:2007-3-24 0:05:22 
  当然,对于一个本科生来说很难有机会接触到业务流程商业逻辑,但是假如读研的话,出去实习下还是有机会接触到的。


作者:世界杯1029 回复日期:2007-3-24 0:14:17 
  楼主和股民老王说的职业进化路线是完全不同的两条,在现在的中国,似乎楼主这条路挑战更多点吧。


作者:深圳华强北 回复日期:2007-3-24 9:05:29 
  感觉楼主像个'孔乙己',口口声声什么'数据结构','编译原理'满口都是什么'题目',真是垃圾的可爱哦!有本事把你的成果介绍下让大家看有什么技术含量,还不是草包一个!最鄙视这种家伙~


作者:黄小三 回复日期:2007-3-24 10:22:41 
  LZ,这两门能学好的,都考研去了,达到你说的那个程度,基本够上博士的.


作者:菩提道次第 回复日期:2007-3-24 10:32:00 
  作者:深圳华强北 回复日期:2007-3-24 9:05:29 
    感觉楼主像个'孔乙己'
  ————哈哈,你是第一百个说我像孔乙己的,这页中间一个笑话我的文字你看一下,原型就是孔乙己
  可是实际生活中我可不像


作者:sdscx0530 回复日期:2007-3-25 17:51:42 
  楼主说的大概是实话


作者:songsAndMorning 回复日期:2007-3-26 00:03:53 
  >>student2005
  
  本来不太喜欢回帖,看了你的忍不住回帖。
  
  你说到我心里去了,知音!
  
  这几门课我都是无视老师的教材,选的。
  
  现在没事做做topcoder上的题,挺不错的。
  
  其实你们说的都对!


作者:songsAndMorning 回复日期:2007-3-26 0:11:07 
  >>菩提道次第
  
  问一下,你人不认识我们老师啊。
  
  他叫陈龙。11年开发经验了,华中科技大毕业的。
  
  我只是好奇。希望他不要看道。
  
  给你的建议,你说话抽象一点估计就没这么多人反对你了,或许也找不到理由反对:)


作者:songsAndMorning 回复日期:2007-3-26 0:18:38 
  今天话比较多。
  
  不过还是人不住说:
  
  其实从事软件开发,对程序员来说,关键是相互之间的沟通,人与人之间的相处。
  
  然而就我目前看道的,从论坛上也好,现实中也好,程序员大多比较孤傲,不是“孤”,就是“傲”,他们总以为自己是主宰一切的,自己的智力是任何人都不及的......
  
  实际上,这些是很不好的。


作者:菩提道次第 回复日期:2007-3-26 09:21:43 
  作者:songsAndMorning
  ————呵呵,孤傲有些赞美了,自以为是更好一些
  现在想找几个小弟,当成衣钵传人培养,自以为是和不能吃苦是最大的问题,甚至于连世界观都要培养,也没办法,我要准备用三年的时间退下来
  corejava这种东西好处不大,把java当成一种语言来使用,能够把对象思想最大化的语言就对了,没有太多别的
  


作者:pwmodify 回复日期:2007-3-26 10:28:01 
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~``


作者:清夜沉沉 回复日期:2007-3-26 10:30:09 
  .............


作者:luxiao_qq 回复日期:2007-3-26 12:18:22 
  作者:pwmodify 回复日期:2006-12-28 17:28:29 
    楼主菩提你听着:我来教育你:^_^
    
    菩提本无树,明镜亦非台.
    本来身无物,何处惹尘埃.
  
  作者:pwmodify 回复日期:2007-1-23 18:13:32 
    道可道,非常道,名可名,非常名。呵呵。
    菩提本无树,明镜亦非台.
    本来身无物,何处惹尘埃.
  
  ===========================================================
  
  树本无菩提,台亦非明镜。
  物本来无身,尘埃惹何处?
  
  色即是空
  空即是色
  
  我还入地狱,谁入地狱
  
  --------------------------
  
  道本有无
  无名可名
  道即自然
  
  有即是无
  无即是有
  
  --------------------------
  
  pwmodify~~~你还教育别人呢~
  
  楼主说得很有道理~
  
  不过~计算机的~干嘛扯得这种来了~


作者:小风暴 回复日期:2007-3-26 21:58:34 
  这么重要呀,看来要再好好学了,这年头混口饭吃也不容易啊……


作者:yuA317 回复日期:2007-3-27 13:41:49 
  多两年就要出去混了,感觉过去的一年半过的十分快,看了这些观点之后,觉得很有味道.


作者:pwmodify 回复日期:2007-3-29 01:03:53 
  luxiao_qq
  
  孔子曰:莫装B,装B遭雷劈。你不就是30年前给乌龟擦皮鞋的那个龟儿吗?
  
  
  


作者:pwmodify 回复日期:2007-3-29 01:06:29 
  luxiao_qq
  
  我懒得和你辩论。我之所以和菩提楼主有一番舌战,是因为菩提还值得我费脑子“文斗”。你根本不值得我费唇舌。
  
  


作者:pwmodify 回复日期:2007-3-29 01:14:24 
  luxiao_qq,这句话是古人给人说的,不是给你说的。我是给菩提的,不是给你的。虽然佛说众生平等,但是畜牲是看不懂人话的。luxiao_qq,无风不起浪,少来!!!!!
  
  作者:pwmodify 回复日期:2007-1-23 18:13:32 
      道可道,非常道,名可名,非常名。呵呵。
      菩提本无树,明镜亦非台.
      本来身无物,何处惹尘埃.
  


作者:菩提道次第 回复日期:2007-3-29 9:48:19 
  作者:pwmodify 
  ————莫非你们有什么恩怨??
  一个月内给你一个站内短信,把我的产品的网址告诉你,你试用一下,提点意见、、


作者:wsdlx 回复日期:2007-3-29 20:19:08 
  to菩提:
  虽然我很支持你,但是你却从来不提操作系统,这让我有点疑问。是因为它不重要,还是因为只有少数少数的人去接触它,或者是其他原因?
作者:专门踩B提交日期:2007-3-2922:01:00

  pwmodify你这五十步笑百步龟儿
  孔子曰:只准你装B,装得你妈B遭雷劈。你不就是03年前给龟儿擦皮鞋的那个吗?
  孔子妈装的B,日出全天涯都在买你妈B的账
  俺只骂你几句~可别要浪费你昂贵的口水来骂俺几十句啊
  --------------
  《数据结构》《编译原理》《操作系统》
  很难吗?
  逃避吗?



作者:菩提道次第 回复日期:2007-3-30 8:01:58 
  操作系统的很多东西在编译里面包括了,更复杂的东西要试验有些困难
  
  如果说上面两门试验是及格水平,那么能够做一个操作系统就是优秀了,但是现在绝大多数人连及格都很远


作者:菩提道次第 回复日期:2007-3-30 9:15:48 
  写delphi的老伙叫什么名字来着?
  除了数据连结和实时修改这些错误思路他死不放弃之外,这老伙的总体规划能力是相当强劲的,貌似现在在微软作.net的总架构
  
  现在正在从老伙的思想里面寻找自己没考虑细致的地方、、、、
  


作者:菩提道次第 回复日期:2007-3-30 9:26:48 
  我在严肃地考虑抄袭这老伙的思路构造一个js版本的delphi前台核心
  


作者:菩提道次第 回复日期:2007-3-30 9:50:51 
  转一个故事:
  LinoTadros是第一个使用Delphi2创建ActiveX的程序员,并因此被Delphi总设计师AndersHejlsberg请到Delphi开发组负责ActiveX开发!下面是他对Delphi总设计师AndersHejlsberg和ChuckJazdzewski、DannyThorpe的回忆:
  Delphi2上市后OLE和COM还是一个神秘的技术。那时我对ActiveX控件的所有东西都非常有兴趣学习。我在Borland的停车场等AndersHejlsberg,当时他正抽着一支香烟走出来,我问我心目中的“神”:他能否给我一些指点如何用Delphi2写一个OCX控件,他告诉我说:“很有趣!!!你为什么不自己找出来并告诉我呢”。然后我们约好每天在Borland停车场碰面(抽一支烟的时间),我向他请教一些问题并告诉他我正在做的研究成果。我们每天碰面的次数越来越多,我们都越来越有兴趣来实现该技术。在1995年夏天,我终于用Delphi2写出了第一个ActiveX控件!它是令人惊异的、有趣的和有益的。
  最有趣的事情发生在Delphi3的开发时期,当我在自己的电脑上运行编译一个程序时遇到一个严重的问题并且已经浪费了我大约4个小时,我只好去找Anders和Chuck寻求帮助,Anders和Chuck来到我的办公室,他们差不多同时坐在我的电脑前面并开始用TD32调试delphi32.exe,我坐在他们后面看着。
  几乎没用几分钟时间,Anders指着屏幕上的CPU窗口中的几个二进制位并且告诉Chuck:“看!Chuck,这个比特好像不应该在这儿,这是一个记录。”Chuck看了5秒钟并证实了Anders的意见。然后Anders看
  着我并说:“利诺,在从网络安装期间,其中一个包由于某些原因向左偏离了一个字节,删除这个包并重新安装。”
  这很好笑并且我感觉我好象从事了一份错误的工作,我开始考虑我应该开一个热狗店代替我的软件开发工作(译者:LinoTadros可能因此自信心大减因而离开了Borland)。这些家伙简直就是“神”。
  看DannyThorpe(译者:是他提议用Delphi这个名字的)调试别人的代码绝对是有趣的事情,他放进大脑里的不仅仅是正在调试的代码还包括写这些代码的开发者的技术水平和个性。令人惊异的是他从不猜想代码的细节问题仅仅因为他一眼就能看出代码是谁写的!他是世界上最好的程序员之一(译者:Danny也是李维最佩服的Borland工程师),我很幸运能认识他!
  当然我个人认为最好的程序员是:AndersHejlsberg。
  附注:LinoTadros在Borland作为一个“声名狼藉的恶作剧者”而著称。SteveTeixeira(著名的Delphi5开发者指南作者)回忆说:“当我们已经准备好发布一个Delphi4的新版本时,LinoTadros开始跑去告诉研究&开发部和质量控制部的每一个人说他发现了一个系统崩溃的大BUG!他开始把每一个人都带到他的办公桌前展示他的“系统崩溃”,它好像是一个系统访问违例对话框,地址是:0x8004235Z."Z,"当然这不是一个合法的16进制字符,LinoTadros想通过这个“恶作剧玩笑”看看谁能发现它。Chuck和Danny当然立刻就看出来并戳
  穿了这个“恶作剧”(译者:Anders为什么没有来?因为他这时已经被M$挖走了!),然后回到了自己的办公室。该死的Lino!只有很少几个开发组成员没有如此迅速的发现这个伪造的地址。这个恶作剧极大地放松了产品发布前的巨大压力。”
  (摘译自Borland开发者社区专访文章)
  ————呵呵,我也有些晕,这个水准仿佛也和我的常识相悖
  不过也有可能,这帮家伙是做编译器的,二进制是他们的产品运行结果,应该非常熟悉吧,不过我感觉这个文字的作者神化了某些东西,一眼看得出的二进制错误应该仅限于文件头
  
  我一般是根据错误表现推算错误发生地点,现在准确率已经高达第一次99%了,不管什么语言,js,java,delphi

前方纵有浪百千,笑傲江湖冲向前

作者:菩提道次第 回复日期:2007-3-30 10:40:04 
  构造一个js版本的delphi前台核心
  ————工程浩大,慎重


作者:luxiao_qq 回复日期:2007-3-30 15:43:19 
  pwmodify 
  
  ------------------
  
  对不起~
  我前边大部分的话~是跟老子和六祖说的~不是和你说的
  也不是留给你看的~是留给懂得尊敬人的朋友和未来的我~看的
  后边仅倒数第三句话才是说你的
  
  孔子~谈过:择其善者而从之,其不善者而改之
  但丁~聊过:只要问心无愧,管他爱曰爱日爱装的
  老子~教过:视而不见,听而不闻
  
  无风不起浪
  无浪不起风
  风浪心中起
  (自寻烦恼)
  
  众生是佛
  佛是众生
  不知佛云
  人云亦云
  
  这是我发给你的最后一贴~
  你也别费你那生锈的脑子批斗了~
  我以后对你~都是视而不见~听而不闻~
  
  视而不见~听而不闻~
  视而不见~听而不闻~
  视而不见~听而不闻~
  视而不见~听而不闻~
  视而不见~听而不闻~

前方纵有浪百千,笑傲江湖冲向前

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页