📄 subject_15133.htm
字号:
<p>
序号:15133 发表者:ating 发表日期:2002-09-14 23:29:36
<br>主题:我现在该怎样走!该看什么书??/!!
<br>内容:我学了《数据结构》后,我还是不会编程!到底学数据结构学点什么?<BR>我学了之后很迷茫!有很多不解!花了一答堆时间下去,好象````````````<BR>以下是我学后对他的一些看法:<BR>A。是学习其中的算法,<BR>B。学习里面树,图,串等在内存是怎样表示的,怎样分配内存,<BR>C。解决问题时,首先分析问题是属于数据结构中那种的问题,是树,图等。然后用算法描述!<BR><BR>有人(啊linda )说数据结构是编程思想的高度抽象,是一切编程的指导思想,我不认为它里面有哪些部分不重要或者可以不学。学这门课时大家都觉得不知何用,但其实它的内容已经深入到你的思维中,可以在以后你的学习中使你举一反三。如果想很快投入实用,那就A吧<BR><BR>我还是不怎么明白!<BR>算了!我还是问一下我现在该怎样走!有睡告诉我???????<BR>我的程序员之梦如何才能实现!<BR>——首先1.学高数(必修),2.学线性代数(必修),3.学数学概率论(必修),<BR>4.学离散数学(必修),,5.到学数字电子技术简明教程(自学),6.学计算机组成原理(自学),7.学微型计算机技术(自学-看不明-白学),8.学c(自学),9.学c++(旁听),10.学学数据结构(旁听)————学了一大堆<BR>接着我该学什么??????<BR>我不想急进,我想漫漫来!!我的目的不是为了考证之类的,我也不打算考证,我想学点真真正正的东西!!我也不打算靠做个程序员吃饭!<BR>我是为了我的兴趣而学!!我想在大学剩下的一年半的时间里学多点东西,因为在学校有很多时间,我不想把他给浪费掉,加上那有免费的课上;我想先打好基础,毕业后在用一两年的时间学习(当然为了生计已没什么时间可用了),就可以做些小项目,呵呵!!你们说我是不是太天真了,太理想化了!<BR>不过不管怎样我都不会放弃,我的兴趣。我会一直走下去!<BR>顺便问一下!做一般的项目需要怎样的水平?有个大四的朋友,他说导师有部分项目给他做,但他没时间做,但又不敢推,他问我做不做!!我没做过!!也不敢接!<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:雷神 回复日期:2002-09-14 23:44:22
<br>内容:数据结构和算法是编程的基础,掌握了他们才可能高效的开发计算机程序。最好的学习方法或者说实现你的程序员之梦是实践。你已经会了C++,并且学了数据结构,你可以做一些很有意思的程序来熟练他们,注意是熟练。刀不磨会生锈,学会的知识不用也同样。例如一些趣味数学问题都可以用来让你体验你在C++和数据结构算法方面的知识。汉诺塔,迷宫,最短路径,八王后、象棋残局等等。<BR>同时你可以选择一个你喜欢的编译器,如VC,然后学习WIN32编程。或者你可以选择KDE,完全由你自己来决定。但C++和数据结构是你的程序员之梦的必要基础,正如你的朋友(啊linda )说数据结构是编程思想的高度抽象,是一切编程的指导思想,我不认为它里面有哪些部分不重要或者可以不学。学这门课时大家都觉得不知何用,但其实它的内容已经深入到你的思维中,可以在以后你的学习中使你举一反三。<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:雷神 回复日期:2002-09-14 23:46:45
<br>内容:关于项目的问题。如果你从没有动手尝试过,你永远不会变成一个有项目经验的人。也就会出现:“我没做过!!也不敢接!”。记住失败也是一种经验,更何况也许你能够成功。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:史列因 回复日期:2002-09-15 07:30:26
<br>内容: 动手写程序。最好先写上几十个以二十行的小程序。完成简单算法,字符串处理,简单图形绘制之类的基本功能。然后将每个程序反复优化。直到你觉着给一个小问题就能很快找到解答方法,并能将思路很快的转化为程序为止。<BR> 然后学学Win32,MFC之类的,开始写一个2、3千行左右的程序。写程序不再多,而在精。反复对程序进行改进和优化,将代码写的漂亮一些。将结构改上5、6遍不算多。<BR> 再这之间多看些书。等这个程序完成后你的水平会有质的提高的。<BR><BR> 另外,1.学高数(必修),2.学线性代数(必修),3.学数学概率论(必修),4.学离散数学(必修),,5.到学数字电子技术简明教程(自学),6.学计算机组成原理(自学),7.学微型计算机技术(自学-看不明-白学)对你现在的编程都没什么用处,而且现在学效果也不好。建议将来有时间再翻出来看看。不过前3个对别的方面会很有帮助。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:xiongli 回复日期:2002-09-15 10:07:33
<br>内容:silent_wing,你认为以后有时间来看1.学高数(必修),2.学线性代数(必修),3.学数学概率论(必修),4.学离散数学(必修),,5.到学数字电子技术简明教程(自学),6.学计算机组成原理(自学),7.学微型计算机技术(自学-看不明-白学)???<BR><BR>以后你根本意识不到你欠缺的就是这些东西,你只会拼命追赶最新的技术,因为你当初就是这样起家的!!!<BR><BR>所以中国好多程序员的失败,是由于误导和过分的激情做出来的!所谓厚积才有薄发,君不见像《史记》这样的东西需要作者长期的努力和积累,而不是一时的热情就要去忙着做个东西出来。<BR><BR>或许现在你看看mfc/win32,可以做个东西出来,可以炫耀一下,但是,pc上的程序只有计算机科学的10%,何况pc 上也不是只有windows一个操作系统!现在就给别人把方向定死了,是不是要等到他老了,找不到出路的时候,又来讨论什么程序员跟青春饭的问题???!!!<BR><BR>授人以鱼,不如授人以渔。你以为bill 是因为技术起家才有的今天??那才不是,他的专业是经济和管理,所以现在他的公司才是最求利润,而不是技术!那我们呢?往往都是非常理想的建议别人先做个东西出来,然后看基础的东西,却不知一个人做了点东西出来,想的事去做另外一个新的。然后一辈子都是做,做到不能不学的时候才来学,等学不动了,就抱怨老了......<BR><BR>可能我说的话很多是错的,但这是我的体会。我是一个大学生,一年级的时候也是热衷于win32/mfc/com 也写出了你说的几千行的程序,而且还放到vchelp 上一两次。等我做完,我也知道里面有很多错误,但是,我却不想去改正,因为我认为还有更多的东西,更多的技术等我去学......然后我学累了,看看我学过的计算机原理(因为这学期又很难的试验,就是要我们做一个计算机出来),才发现我以前学得win32好简单。在半个世纪前,有了很伟大的想法,才把那些门电路做成了一个计算机,现在呢?学点函数调用而已,就觉得自己合格了!所以我认为中国程序员的热情太高,方法太差,需要重新思考!<BR><BR>大学计算机学生分成两类。1,成绩不好,但是可以写出很多程序,特别是win32的,动手能力,调试能力很强,这种人往往看不起只学习的.2,学习很好,自己却不会做东西,一行老师布置以外的代码都没有写过,买电脑都要别人来帮忙,这种人很为自己的前途悲哀,很想学点实用的,但是却没有门路<BR><BR>我以前是第一种,现在却想变成第二种!其实我鼓励大家往第二种发展,但是千万不要失去信心,因为等你工作一年过后,你的技术基础,将会给你以后的发展,提供比别人多10被的动力,而那些所谓的高手,可以再几年级就写出什么程序的人,会,很快地老去......<BR><BR>希望得到大家的指教
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:史列因 回复日期:2002-09-15 14:34:15
<br>内容: 正如你说的,这些东西是一种基础。没有基础,要有大发展可能会面临许多困难。现在虽然我认为我的设计算法能力已经不错了,还是买了本《计算方法导引》,看那些图灵机之类的东西。我始终认为那些知识没有直接的使用价值,但我知道那些东西会影响我的思想。我也一直在留意有没有好的介绍计算机原理的书籍。<BR><BR> 底层的东西往往是很抽象的,高层的东西往往是很具体的。如果上来就学底层,会觉得很枯燥,而且常常会很费解:这么干有什么用?如果先学好了高层再来学底层,就会觉着,原来这东西是这么实现的呀,有一种顿悟的感觉。<BR><BR> 从学习效率上讲,如果有许多经验,就可能在几天之内看完计算机原理,而且理解的很透彻。如果一点经验都没有,可能看上一年还不得要领。有人说学过汇编后学C++会对指针理解的很透彻,鼓动人们先学汇编,简直是坑人。没错,学过汇编后学C++会对指针理解的很透彻.可要达到同样的效果,所花的时间可能是先学C++后学汇编的几倍。有些东西,没有编程经验几乎没法学,只能打击信心。<BR><BR> 反正现在我看《计算方法导引》就像是一种休闲,几乎不用动脑子。而且不时发现其中的妙处真是一种享受。<BR><BR> 因为这个原因,ating 会觉着:<BR><BR> “我学了《数据结构》后,我还是不会编程!到底学数据结构学点什么?我学了之后很迷茫!有很多不解!花了一答堆时间下去,好象````````````”<BR><BR> 没有程序设计经验,自然不知道数据结构是干什么用的。我学数据结构时已经写过许多算法了,所以我看数据结构时很清楚都讲了什么,哪些东西干什么用。而且,现在回过头来再看一边数据结构,又发现那时的很多理解是不准确的。<BR><BR> 至于“发现我以前学得win32好简单”,那不是因为你攒了一台机器,而是因为你写了那么多程序。我没学计算机原理,也没做出一台计算机,但我也觉着我以前学的win32好简单。我相信,过一阵你会发现“我以前学的计算机原理好简单”(至少是那本书好简单).<BR><BR> 总追求新技术而忽略基础不好,会缺乏后劲。但第二种就绝对不可取了。那不能叫“学的很好”,只能叫“成绩很好”。只知道书本,而不能实践,那学东西还有什么用。不实践,永远无法真正理解所学的知识,更别说创造了。我想着那些什么程序都写不出来,却抱着大厚本的软件工程的人就觉着可笑。再说,别人教一点就学一点,不然就“没有门路”,有前途才有鬼。<BR><BR> 关于研究方向,我要做PC程序员,所以电路设计与我无关,我只要了解其中对编程有帮助的就行了。其他东西,知道有那么回事就行了。共通的基础也就是那几本书,看完还得选一个方向。总不可能Unix, Windows, C, Java...一起学吧?我猜你选的方向还是Win32.确实,眼光应该放广一些,不要总盯着Win32.但各种语言和平台基本还是相通的.对于初学者,还是学Win32 + C++较为实在,也比较容易(资料很多)。即使将来改变方向,这些经验也会很有帮助的。另外,如果一辈子猛攻一个方向到老了都找不到出路,东抓一把西抓一把的效果就可想而知了。当然,要是那东西过时了还抱着不放就怨不得别人了。<BR><BR> 关于bill,我想他是个企业家(还是个滑头)。如果有一天发现自己很适合经商,那就立即转行赚大钱,这很好。可是这和学技术好像扯不上关系。<BR><BR> 最后说一下数学.我是想,既然大学开了课,那就跟着学下来,当时能学懂就行了。最重要的是学习时它会影响自己的思想(不过这应该是对世界观和思维能力的影响,编程的思路与求解数学题可不一样)。具体的解题能力是很次要的。除非自己感兴趣,否则没必要深钻。将来需要你亲手解题的可能性很小,一般的工作数学家都已经做好了,我们只要拿来用。就算真用到了,大学学的那点东西能干什么?再加上时间一长,也就忘得差不多了。不信你问问那些30岁的人,除了整天同数学打交道的,谁还会求微积分?以后用到了再现学或干脆找那些专攻数学的人干就是了,这就是社会的分工。如果真的想在这方面发展,那就应当以毕生的精力进行研究,而不是只学那么几本书了。<BR><BR> 这是我的看法,还请指正。<BR><BR><BR><BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:xiongli 回复日期:2002-09-15 15:41:30
<br>内容:其实我认为问题的关键是在为什么学习了数据结构以后,就一定要会编程?了数据结构跟不同操作系统的api学习,完全是两个概念,但是ating和很多人就混为一谈。认为写一个在windows上面有窗口的东西才是编程序。数据结构的内容大家都知道,而windows api/unix shell 要到大三才学习,那个时候不过是把数据结构放到不同的地方运用而已,所以一定要分开利用。<BR>所以,我想强调的是,编程,不是写一个windows程序。学习了数据结构,如果学得很好,完全可以完成很多工作,加密/下棋的算法等等,可以说软件最难的部分,最有价值的部分,就在这里,这是整个系统的效率来源。问题是,现在大家都认为用数据结构写出了一个console程序,更本不能叫做编程!!!!如果让这种想法继续下去,造成的,就是一位最求“新”技术,因为在他们看来,数据结构这样几十年前就完成的东西,比c#老多了,完全不是新技术,没有太多太多的价值,不能用来炫耀!!<BR>好,现在我来说是什么东西造成了这种错误的导向,就是舆论,是论坛上无休无止的讨论,看看现在的技术论坛,人气最旺的就是新技术!最少人去的就是数据结构!所以我还建议vchelp取消或者限制一些无聊的讨论!<BR>其实,在基础课程开始的时候,老师就介绍了课程有什么用,但是老师往往没有你们什么版主,大虾,有说服力,所以用console就可以证明数据结构价值的,非要用什么win32 来证明,有什么用????<BR>明白了这些,再去讨论什么学习的顺序,就没有意思了.因为现在你们建议的什么先学习win32一点点阿,是因为好像不明白win32也就好像感觉差了点什么,这恰恰是误导造成的!如果每个人都明白了数据结构的真正意思和这门科学是最有挑战性的东西以后,相信人人都不会问这种低级问题"为什么学了数据结构不会写程序"<BR>对于成绩很好和能力很好的看法,我的意思是,要想成绩好,很难,要想会做东西,不是很难.成绩好的,基础就很好,内力深厚,就是没有开窍而已,只要他不是永远不开窍,把他逼急了,他也就会做东西了.<BR>所以说,我最反感的,就是现在的舆论,比如讨论.net/je22那个好,中国人根本没有能力做一个frame work出来,只有评论,还带坏了下一代.<BR><BR>至于ating, 告诉你一个证明自己的好方法:再多学一点你可能认为没有用的"编译原理",然后写一个c++编译器出来,用法 cc <source file name > <obj file name>里面不需要任何win32,你做出来了,这里任何一个看帖子的人,只要你发言,目光都在你那里!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -