这是一封QQ上的留言,这位同学看起来是很好学的,但是,目前有点找不到学习的方向,希望我帮忙解答一下。我呢,觉得这个问题还是有一定代表性,因此在此公开作答。
还是那句话哈,一家之言,欢迎拍砖。
原文如下:
肖老师,您好.我是一名专科生.今年毕业之后在一家网络公司做网站开发asp.net,不过工作中遇到很多问题我也都解决了但就是不明白为什么那样做,我承认上学那会我没怎么去过学校,数据结构,计算机组成原理什么的我基本都不知道.(年少轻狂只知道玩= =b).现在我觉得我不能这样下去了,上次做一个进销存,数据库就重构了三次..现在我不能说我很迷茫这样显得很无能,我阅读了您和很多大师的文章之后我觉得,我应该再去学习,虽然现在学习不如在校园那会时间多,但是现在是自己想学,所以我看了众多资料之后,准备买一些参考书然后从0开始学起,书名如下,有点长:
1:C语言程序设计
《C程序设计语言》,作者: Brian W. Kernighan / Dennis M. Ritchie
《C 陷阱与缺陷》 作者:(美)凯尼格 著,高巍 译 出版社:人民邮电出版社
《编程之美――微软技术面试心得》作者:《编程之美》小组著 出版社: 电子工业出版社
2:数据结构与算法
《数据结构与算法(C++版)》数据结构与算法分析,Mark Allen Weiss,
3:编译原理
《编译原理》,机械工业出版社出版
4:汇编语言和微机接口技术:暂缺
5:计算机组成原理与体系结构
《计算机组织与体系结构:性能设计(第7版)》
(美)WILLIAM STALLINGS著,清华大学出版社出版
《计算机组成原理(第2版)》高等教育出版社 出版
6:计算机操作系统
《操作系统――精髓与设计原理(第五版)》
作者William Stallings ,电子工业出版社出版
7:数据库系统:暂缺
8:计算机网络:
《计算机网络自顶向下方法(第4版或者第5版)》
作者:(美)James F. Kurose;Keith W. Ross
机械工业出版社出版。
9:C++程序设计:
《C++ Primer》 作者:Stanley B.Lippman 人民邮电出版社
我准备用2年时间去看这些书,然后加以练习,很想现在开始,不过10号才发工资而我又是月光.所以..只有等10号了,我想请老师评论下,我这样做对还是不对,有什么不足的地方还请老师指点,
我的回答:
这位同学你好,你的这个问题呢,我觉得还是有一定代表性,我尽量回答,如果有不到之处,我们再讨论哈。
其实,从你问题中,我觉得你还是很好学的,尤其是毕业后进入工作岗位,觉得知识不够用了,职业道路提升能力有限,心里面比较焦急,因此,急于马上开始学习,提升自己,这个心情,我完全能理解,因为我也是这么过来的。呵呵。
有紧迫感,主动希望学习是好事,不过呢,我也要提醒一句话,不要“病急乱投医”。
你是做asp的,并且以数据库开发为主,但你列的书目,一大堆都是C和C++相关的,不但跨方向,而且广度,深度都很大,这无形中,会造成你学习的困难,甚至取不到很好的学习效果。
你到这里来,我和很多老师都在帮同学解答问题,我呢,是专攻C和C++方向的,而且我的帖子比较多,可能会给你一个误导,误以为C和C++学好了,才有可能成为牛人,我感觉,你给自己开列了一大堆C和C++的书籍,有这方面的情节在里面。
这里我一定要澄清一下,“
不是说,C和C++学好了,才可以成为编程牛人的,任何一门语言都可以成为牛人的”。我还见过一个美国的家伙,到现在只会玩FoxPro,写点简单的小企业数据应用,可人家开了两家公司,年收入在100w美元以上,你说这怎么看?
嗯,你急于学习算法和数据结构,于是要买这两本书的C++版本来学习,我再给你说一句话哈:“
不是只有C和C++,才可以玩数据结构和算法的,任何一门语言都可以的”。
明白吗?
我以前有讲过,大学毕业,仅仅是学习的开始。不过呢,企业中学习,和学校学习是不一样的,企业学习,更多的是干中学,是用以致学,而不是学以致用,因此,一定要贴合自己的本职工作来学习,现在本行业,本领域混成专家,才有可能实现成功的职业之路。
因此,既然你已经在做asp的工作,我的建议,就围绕这个专业,努力深钻,把它学好了,你一样是牛人,专家的。
另外,根据你的工作特点,我也提点建议,你做的工作,我前面有帖子讲过,应该是“中小规模企业数据应用数据市场”,这个市场始终是存在的,而且很容易赚钱,好好做,能有一番成就的。
但,这个工作其实也有特点,很显然,这是一个“量身定做”的市场,主要的客户价值就是体现在,对客户细分需求的深入了解,对客户业务流程的深入了解,能做出最适合客户需求的产品,这样才能赚钱。
因此,这份工作,对计算数学的理论要求其实很少,因为具体算法,数据结构的实现细节,脚本语言内部的库已经实现差不多了,对程序员要求并不高,它真正要求高的,是需要程序员对客户的业务(与计算机无关的),有深刻的了解,实际上要求程序员是客户行业的专家。
你在文中提出你的数据库重构了三遍,觉得自己水平不行。呵呵,我告诉你,我以前,30遍都重构过,很多时候,是一开始和客户沟通不清楚,自己没有理解客户需求,导致做错了,只有推翻重来的,这怎么办?没有办法,只有努力和客户多沟通,努力多帮助客户了解一点他的业务,当你比你的客户还了解他的业务时,你就是专家,你就不会有重构了。
因此,我建议你也不必10号马上去买书,书买回来,不看到脑子里,等于白买,叫做浪费钱。很多时候,看透一本书,好过翻烂10本书,你能理解什么意思吗?
还有就是,不要好高骛远,不要这山望着那山高,肖老师我是C和C++的“牛人”(呵呵,引号啊,我自己不同意我是牛人),你就一定要做C和C++吗?那万一哪天来个王老师是.net的牛人,你是不是又要改回去?没必要的,坚持自己的路,努力学习,就能成功,你说呢?
我建议你,就着asp的书籍,数据库的书籍,买两本看看,技术上的东西不难的,不需要10本8本的看,有个两本我觉得就ok。
然后,你需要大量的思考,可不是让你思考怎么写程序,你去思考你做的工程,数据库中的每一项字段,每一个表,为什么客户要这么设计?他的业务中,这个表,这个字段,到底代表什么意思?这个问题,你甚至可以直接问客户,我想,他会回答的,因为,你越了解他的工作流程,你的程序就越好,对他的工作就越有保障。
当你做了大量的行业用户特性思考,可以归纳行业客户的特点,有了抽象性,我相信,即使你的语言技术再烂,你也能写出非常漂亮的,客户用了就说好的系统的。
你觉得呢?
=======================================================
在线底价购买《0bug-C/C++商用工程之道》
(直接点击下面链接或拷贝到浏览器地址栏)
http://s.click.taobao.com/t_3?&p=mm_13866629_0_0&n=23&l=http%3A%2F%2Fsearch8.taobao.com%2Fbrowse%2F0%2Fn-g%2Corvv64tborsvwmjvgawdkmbqgboq---g%2Cgaqge5lhebbs6qzlfmqmttgtyo42jm6m22xllqa-------------1%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C10%2C11%2C12%2C13%2C14%2C15%2C16%2C17%2C18%2C19%2C20---40--coefp-0-all-0.htm%3Fpid%3Dmm_13866629_0_0
肖舸