脚本语言程序员怎么学习程序设计?

简介:
这是一封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。
然后,你需要大量的思考,可不是让你思考怎么写程序,你去思考你做的工程,数据库中的每一项字段,每一个表,为什么客户要这么设计?他的业务中,这个表,这个字段,到底代表什么意思?这个问题,你甚至可以直接问客户,我想,他会回答的,因为,你越了解他的工作流程,你的程序就越好,对他的工作就越有保障。
当你做了大量的行业用户特性思考,可以归纳行业客户的特点,有了抽象性,我相信,即使你的语言技术再烂,你也能写出非常漂亮的,客户用了就说好的系统的。
你觉得呢?

本文转自 tonyxiaohome  51CTO博客,原文链接:http://blog.51cto.com/tonyxiaohome/255946 ,如需转载请自行联系原作者

相关文章
|
6月前
|
存储 数据格式
|
6月前
|
存储 程序员
程序设计语言基础知识
程序设计语言是计算机程序员用来编写计算机程序的语言。它们是由计算机科学家和工程师开发的,用于描述计算机程序的结构、语法和语义。程序设计语言是计算机科学中的核心概念之一,因为它们允许程序员使用抽象概念来描述计算机程序,从而使程序员能够更容易地编写、理解和维护程序。本文将介绍程序设计语言的基础知识,包括语法、语义、数据类型和控制结构等。 1. 语法 程序设计语言的语法是描述程序结构的规则集合。语法规则定义了程序中的元素,如变量、常量、运算符、函数和语句等,并规定了这些元素如何组合成程序。语法规则通常由一组文法规则来描述,这些规则用于指定程序中的符号、终止符号和非终止符号等。例如,下面是一个简单
78 0
|
人工智能 前端开发 搜索推荐
程序初学者推荐学习的三种热门编程语言
在当前的社会需求中,市场上运用最多的、最为广泛的、最热门的、最常用的编程语言可以大致分为一下三种:C语言、JAVA语言、Python语言。
|
存储 自然语言处理 编译器
【程序设计语言】基础知识
【程序设计语言】基础知识
195 0
|
设计模式 算法 程序员
【译】需要学习的是编程,而不是编程语言
我们不仅是程序员,而且是个(与时俱进的)学习者。鲜见的是有多少人认为他们是在学习编程的呢。
|
Java 程序员 编译器
Yin 语言:学习设计和实现一门编程语言
大多数语言没能吸取历史教训 大多数语言受到宗教性的推崇,拥有一个过于狂热的社区,因此难以改正自己的错误 有些语言为程序员做得太少,有些语言为程序员做得太多 有些语言提供了太少的抽象,有些语言提供了太多的抽象 有些语言太不顾及可用性,游戏语言过于重视可用性而忽视了可用性之外的东西 有些语言从数学和逻辑那里学得太少,有些语言学得太多 有些语言太不顾及类型,有些语言对类型考虑过多
514 0
Yin 语言:学习设计和实现一门编程语言
|
程序员 Python Java
一个不被程序员认为是编程语言的语言
HTML究竟算不算是一门编程语言,这是争执已久的话题。其实,从本质来讲,HTML确实算不上是一门编程语言。关注我,发现更多互联网有趣的无聊的! HTML全称,HyperText Markup Language。
软件设计师08-程序语言基础知识
第一次作章节的的思维导图,写的有点过于细了(⊙﹏⊙)
929 0
软件设计师07-程序语言基础知识
1 状态转换图要求:状态(结点)个数有限、至少一个初始状态,若干终止状态、每条边上标有字符(可为空字符) *即舍弃多读的字符 确定的有限自动机(DFA)五元组: 2...
815 0
|
Java 程序员
程序员编程,你的练习是不是有效的?
 对于我来说,提升技能的项目会有四种:   纯兴趣驱动的项目。即我的Idea列表上的一个个酷炫的项目,先满足自己再说。   理论驱动的项目。
1521 0