`
cyj1988jyc
  • 浏览: 20046 次
  • 性别: Icon_minigender_1
  • 来自: 荆州
最近访客 更多访客>>
社区版块
存档分类
最新评论

给所有入门程序员的建议(1)--句句是诤言 希望大家认真读完

阅读更多
编了这么久的程序,一直想找机会总结下其中的心得和方法,但回想我这段编程道路,又很难说清楚,如果按照我走过的所有路来说,显然是不可能的!当我看完了云风的《游戏之旅--编程感悟》和梁肇新的《编程高手箴言》我突然知道我要从何说起,我要怎么说了!

从接触编程到现在已经至少要6年,虽然时间短,但我几乎每天都在编,而编程上突飞猛进的还是最近一两年,单纯编程上的进步,很简单就是经验,但你要理解才可以进步的快!这就是说,你的理论课要学好,才能学好编程,操作系统,网络原理,计算机体系结构,数据结构,编译原理,你哪个学的不好,你根本不配成为编程高手,我见过的高手,这些学的都不错!这些都是计算机的支柱,你连它的支柱都不了解,怎么编程,即使你编写的程序好——只有一个原因,你用的是高级语言或脚本语言,因为它们封闭大量低层语言细节,让你不用了解就可以编写,你不了解低层细节你杂成为高手!

解释什么叫编程?

我觉得现在很多同学,根本不知道什么叫编程!我现在告诉你,单纯的编程,也就是就知道语法知识的编程,根本不叫编程,只会单纯的语法的编程连低级程序员都不如!
编程不仅仅是你对语法的掌握,你还要把各种技术混合到里面,这样才叫编程,你编程的时候,你应该问问自己,你的程序有算法吗?你的程序写的够简单吗?速度足够快吗?占用空间足够少吗?代码写的规范吗?语句写的标准吗?你的程序之间的结构合理吗?你类定义的合适吗?方法和属性合理吗?接口合理吗?等等等,包含很多东西!这就是高级程序员为什么赚这么多钱!要付出相当大的脑力劳动!
调试对你也很重要,一个程序高手,也是调试专家,其实调试很多方法,但大多数都是实践中得到的!
指正现在人对学计算机误区
现在我每天在和汇编,硬件指令 ,c和c++或一些低层API打交道,有些时候编程这个东西很难说清楚,只有你经历了,你才能感受到,你没有经历,就永远体验不到!
我现在要更正几个现在学计算机人的误区,我想回答的是,学什么才是学计算机!
学计算机的两个方向:一个是纯搞理论的,一个是搞实践的。搞理论的无可厚非的,大家都承认是学计算机。那么实践呢?我很难给出一个定义,但我会列出那些才是真正学计算机学的:
(1)编程,这里的编程,我要抛出FLASH,PHOTOSHOP,3DMAX等,它们虽然也有语言,但都是为了给美术人员提供的!也就是几乎封闭了大量的低层细节,对于一个学计算机的人来说,如果你努力学它们,你还是不要学计算机了,去学美术把!网页编程能接触到至少两种类型语言,,HTML和ASP或JSP(PHP),HTML说实话,不应该是计算机人学的,你应该学的是ASP,JSP等!
按严格意义上讲(但实际没有这么严格)如果你的主要必修语言,不是c ,c++,JAVA,或者硬件指令,都不算是真正学计算机的,之所以这么说,我举个例子,比如你用JSP,它是一个脚本语言,如果你用过这个语言,你认为你用好这门语言需要了解硬件结构知识吗?显然不用,如果你纯是JSP程序员,你需要只是,JSP语法,一些简单的JAVA语言,SQL之类的数据库知识,其余的你什么都不需要,至于分析流程,那是系统分析师的事,不要和编程混为一谈,我学JSP学了3个月,现学现买就做出了功能齐全的网上书店(当时是老师布置的作业),如果再努点力,就可以投如使用!所以说,学JSP根本就不需要太多的专业知识,不是学计算机的也很容易就学会!

学c++,我都学了好几年了,用它写程序都几十万行,我也不敢说我学的精通!就是因为它太灵活了!不同人,用的效果就是不一样!

所以按严格意义上讲,如果你的主要必修语言,不是c ,c++,JAVA,或者硬件指令,都不算是真正学计算机的,也就是说,学那些对计算机专业知识不需要太多了解的语言,就不叫学计算机的!
(2)从事软件方法实践研究,这个纯是软件工程方面的,如果你没有容入一个大项目中很难体会它的重要性,想一想,一个程序,几十万,几百万行代码,能这么好的实现,并运行,它的功劳不小!
(3)从事低层硬件开发,这里可能和搞电子的专业有些重叠,但事实就是这样,他们也是学计算机的!
其余的,装系统了,装电脑了,用人家编好的软件实现些图片音乐等功能的,那都是计算机的门外汉,不要和真正学计算机的混为一谈!
我经常被问到:
你会盗qq不?我晕,学计算机的就要会盗qq?
你会装电脑不?虽然我会,但不会并不可耻
你会装系统不?虽然我会,但不会并不可耻
'''''''''''''''''''''''
'''''''''''''
等等把,有好多,通过我上面解释,你应该理解学计算机的应该会什么,不会什么也是应该的!

正式入题,怎么学好编程!

, 世面上好象只有这两本是中国人写的关于编程心得的书,中国编程好的人很多,但写出方法很难!第一本《游戏之旅--编程感悟》前面几章写的是云风的编程经历,后面几章写的是编程经验!总的来说本书很容易读懂!《编程高手箴言》书很难,尤其写操作系统那章!正如作者所说,真正写一门编程方法学的书很难!本书前几张概括了当前中国软件面临的形式,我强烈建议看一下,写的很经典!以前我不知道程序和软件的区别是什么,现在我知道了!后面几张写的都是编程方法和编程要具备的知识!

总结他们两人所说的,我准备按照下面提纲来写编程方法!

1。如果你感兴趣,学计算机是一种光荣,如果你不感兴趣,那么它是地狱!
2。理论对你很重要,尤其是你一名搞技术的程序工程师!
3。学会自学,学会思考,学会合作与交流!
4。要想成为高手,一定要从底层学起,底层是什么?CPU,汇编等硬件指令!
5。编程需要经验积累,学会调试对你尤其重要!
6。全局把握整个工程,具体到每个类的属性和方法以及各个类的关系!一定确保你设计的类和类模式和类间关系能够有效,利于修改和升级!概括说就是软件工程
下面我就分别说一下
一。如果你感兴趣,学计算机是一种光荣,如果你不感兴趣,那么它是地狱!
我经常听很多同学说,开始他对计算机很感兴趣,但随着大学里的学习,越来越感觉无聊甚至厌烦!你之所以这么想,其实一点也不怪你!从高中的应试教育到大学里的自由学习方式上的转变,我们几乎都不适应,一到大学,突然有一种解放的感觉,没有老师的强硬指示学习,自己根本不知道怎么学,学什么!所以说,教育对我们很不负责任!
如果你在大学以前已经知道编程怎么回事,那到没什么事情!但好象很少有人象云风这样从小就接触了编程教育!所以我们在没有上大学前几乎是零起步!
其实,按我的理解,刚上大学开始学编程有些晚了,之所以这么说,不是因为单纯的编程很难,如果你很努力,几年完全可以搞定,其他的你去公司的经验可以弥补!我这里想说的是,一个真正的程序员不单单要有强硬的编程实力,还要有强大的理论后盾!你只会编程,没有强大的理论做后盾,你也就不会把理论转化成实际的代码,你也不会做出高效,高技能的程序!在计算机理论中,图论,人工智能等等都是很难的理论,但如果你能把它们有效的用在计算机领域,功德无量!国人能做这点的很少,本来厉害的程序员就很少,有高尖端理论技术并把它应用的更是凤毛麟角!
(这里可以推荐大家一本书《游戏编程中的人工智能技术》,这本书抛开了传统的自动机,产生式,各种规则的传统的人工智能理论,而是讲的更前沿的计算智能——生物遗传算法,人工神经网络!这本书,不单纯讲理论,还用c++语言结合理论实现各种游戏程序!有时抽象的理论都是基于数学基础之上,如果没有一定数学基础是很难看懂的,但正因为它有数学证明是正确的,所以它是可行的!能把它用语言实现更是可观!)
所以,如果你热爱计算机,在大学以前,就应该成为一个程序高手,而大学以后,主要专研各种技术的实现,和各种技术的学习,如果你把他留在工作里,可能很难,我的同学在参加工作后,很少有继续看技术书籍,因为技术书籍很难,不是一下两下就看懂的,有几个还有这样的耐力和精力去搞!这些怎么在编程上实现,都在等着老外,咱们COPY,这样我们的软件技术能强大吗?
可是在大学以前成为一个编程高手几乎不可能,我们没有良好的学习编程的环境,而且面对着中考,高考的各种压力,几乎没有机会去学习编程!其实,小学,初中,高学,那些课程没有必要象我们这样反复的复习,反复的作题,浪费了大量时间,我们要学会什么?学会一种技能,能够应付各种变化的技能,就是自学,学会思考,学会自己解决问题,学会团结合作!初等教育,打的口号很好,实际上,完全压制了这种学习方式!
所以我们应该以最快的速度,在大学里容入一个热爱计算机的氛围!说到这又很难,当代大学生迷茫呀!不知道作什么,有些知道自己该好好编程,但光说不做!有些人,写了几段代码,出现了问题,不会调试,就放弃了!大家都这样,所以以寝室为单位没有人编程,逐渐以整个计算机学院为单位逐渐编程!确实我们的计算机老师,会编程的很少,我们应该知道,中国计算机引进并发展才短短20年,正是这样老一辈的,把这些计算机理论上确立,他们不会编程理所当然,大学的老师主要研究理论,国外的也是,因为理论太难了!
所以大学里学习编程要完全考自己,你要有信心,有意志把它学好才可以,而且这个过程是循序渐进的!以最快方式,找到你编程的爱好和兴趣!
我介绍几个方法,学习方式,希望你能找到兴趣,起码我是这样做的,记住如果跌倒了,你要站起来

    1。一定要和喜欢编程的,或编程厉害的,或经常编程的人,在一起,经常探讨问题!初学编程会有很多问题出现,你自己很    难解决
    2。我建议VB和c一起学习,这个只是我的建议!我为什么这样说呢?如果你开始只学c,你会厌烦整天在DOS下,没有图象的    程序!如果你直接学WINDOW编程会很难,所以我建议学VB,VB这是个语法简单,很快可以见到你编写程序的画面,这样你就会逐渐喜    欢编程,没有画面很枯燥的,你不这样认为吗?反正我是这样认为的,你编写的好坏,没有画面也很难用眼睛直接看出来!VB是最简    单的语言了!不存在c的复杂语法结构,程序出错概率相对c 来说很少,因为VB封状的很好,帮你解决了复杂的过程!其实象JAVA,MFC,    c#完全可以作到VB效果,但上手相对困难!
    c是我们一定要学的,它是一种很接近底层的语言!如果你要成为高手,应该学这个!C是个纯面向过程的语言,它的语法不    是很难,你用它大约一年半多左右,就完全可以掌握它,记住这需要你的实践,多做程序,主要是算法程序,最好把你教科书的后的    的习题都做了。大家几乎学的都是潭浩强的书,这本书我开始认为很 好,但我看了很多国外的书,和很多国外人所打的代码后,    和国内高级程序员所说的话,我只能说这本书,只能是你的开端,但不能 让你更深层次了解语言。但你要问我初学者用什么    书,我还会介绍这本书。C的精髓在于指针,你能灵活运用指针就几乎等于你掌握了 C语言,这是一种高效的语法支持,快的让    你无法想象,我很有感触,在VB下要慢的多。
    那么我们学VB究竟做什么,很简单,做WINDOWS程序,控件的使用,数据库的使用等等,还有一个很重要的是,你可以练习你     学的数据结构,各种计算机算法,很快就可以用图形的方式显现出来!你现在知道这些就可以,等你以后学了真正WINDOWS编    程,你会对你以前所实现的东西有很深的理解,究竟什么是API,什么是动态连接库,什么是控件,象VB,MFC这样的东西,究竟封状    了什么让我们用起来这么简单!
3如果你能作到,以上两点,(加上你学的专业,如果你很努力,课大约1年)我想你会对计算机感兴趣的!你逐渐容入爱学    计算机的氛围!接下来有两个方向你要去做,一个是努力学好其他计算机专业课,二是在巩固c 语言的基础上,你可以选择学习c++     或者WINDWOS编程!这两个先学哪个都无所谓。记住你大学时学的10大专业课,数学,离散数学,数据结构,编译原理,汇编,数据库    ,计算机体系结构,操作系统,计算机网络,软件工程,你要尽力把它们学好,这个是整个计算机系统的精髓,这些都是相互贯穿的    ,相互联系的,你可能学某科没学懂,但学了别的后,可能会懂的!切记,在你学好编程的同时,一定要学好这些理论,以后你会受    益匪浅的。
    4。在你觉的c或者VB学的没什么问题,或者你学会WINDOWS编程,记住一定要自己有个想法,做个小的可视化程序,小游戏也    好,小应用软件也好,都可以,这个步骤,你一定要做,你会学到很多东西!在这期间,你还会遇到很多问题,你要自己多想,多问    别人,多去网上查资料!但你做的程序,最好不要COPY别人的,如果都是你自己做的,自己想的,你收获最大,哪怕你是模仿别人的 程序,你用你自己的想法实现了,也是厉害的!其次,你可以COPY部分代码,作为自己的。在你对你的想法,知道怎么实现后,写代    码只是浪费时间的时候,而且你写的效率没有现成的代码效率高,你就可以完全COPY,但如果你是初学者,你千万不要这么做!否则 你会对它产生依赖,有一天真正让你自己去写,你会无从下手!所以开始时,你可以试着COPY,逐渐摆脱对它们的依赖,以后摆脱了 ,这个时候,你才可以总依赖它们。
    5。大学期间,有很多程序的实验课,你要认真做,做出来收获是自己的,也可以作为自己的一个小项目!大学期间加上实验 课,基本上自主编程或者团队自主编写的总小软件数目应该不少于7,8个,如果你做的程序很大,可以少些!
以上,我把如果学习计算机入门 和提起 你兴趣的方法告诉你了!我相信你按照我的去做,应该没有问题的!对于每个细节,我会在接下来详细为你们写出的!
分享到:
评论

相关推荐

    给所有入门程序员的建议(1)--句句是诤言.wps

    给所有入门程序员的建议(1)--句句是诤言.wps

    管理诤言.doc

    【管理诤言】文档主要探讨了企业管理中的关键原则和策略,包括如何有效地激励员工、领导者的示范作用、责任承担、人才培养、人际关系处理、决策选择以及目标设定等方面。 1. **踏弱音板**:这个比喻强调了在管理中...

    管理诤言

    《管理诤言》这份文档,正如其名,旨在提供一系列关于企业管理的真知灼见,以期帮助读者在实践中找到成功的路径。管理是一门既艺术又科学的领域,涵盖广泛,包括领导力、团队建设、决策制定、组织文化、人力资源管理...

    关于企业管理的诤言.doc

    【企业管理的诤言】 在企业管理中,有许多策略和原则至关重要,这些原则可以帮助领导者塑造高效、和谐的工作环境。首先,管理者需要“踏弱音板”,即关注企业的优点而非过分强调缺点。这有助于提升员工的士气,使...

    常见易错字词、趣味语文题1.ppt

    1. 成语填空: - 胆子最大:胆大包天 - 看得最远:一望无际 - 力气最大:力拔山河 - 行走最快:一日千里 - 胸怀最广:虚怀若谷 - 学识最多:学富五车 - 根据最足:引经据典 - 分量最重:重如泰山 - 胆子...

    管理诤言DOC

    10. **职业道德与社会责任**:作为管理者,道德规范和社会责任的履行至关重要,文档可能强调这一点,并给出实践建议。 这份《管理诤言DOC》是管理资源的精华,它不仅提供了理论知识,更注重实践应用,旨在帮助管理...

    巫山事业编招聘2016年考试真题及答案解析最全版.docx

    1. 房价理性回调:这段话的核心观点是希望房价下跌,因为房价下跌能够让普通百姓用合理的价格购房,从而刺激他们的消费和开支。房价下跌被认为是房地产市场良性发展的关键,因为它可以让更多人承受得起住房,促进...

    2020高考语文二轮复习板块一语言文字运用9正确使用标点符号课件

    1. **标点符号的作用**:标点符号是辅助文字记录语言的符号,用于表示停顿、语气以及词语的性质和作用。在书面语中,它们是不可或缺的组成部分,帮助读者理解文本的结构和含义。 2. **高考命题特点**:近年来高考...

    【备战2014】高考语文基础拔高训练4.doc

    这考察了学生对多音字的掌握,例如A项中的"狰狞"、"诤言"、"挣脱"、"峥嵘岁月"、"铁骨铮铮",其中"zhēng"是正确的读音。正确答案是B项,因为"撩拨"、"潦倒"、"燎原"、"眼花缭乱"、"寥若晨星"的"liáo"发音都相同。 ...

    成功经理人课程讲义

    在描述中提到的“诤言”,即坦诚直接的建议,是这份讲义的核心精神,它鼓励读者勇于面对自己的不足,从中学习并成长。 首先,作为一个成功的经理人,必须具备清晰的目标设定能力。这包括设定部门目标、员工个人目标...

    当涂事业编招聘2020年考试真题及答案解析完整版.docx

    12. 推论(1)(2)(3)(4)中,(1)和(2)并不矛盾,(3)和(4)也没有逻辑上的错误,但(1)并不必然成立,因为高房价可能是由多种因素引起的,不一定是合理的。因此,错误的推论是1个。 13. 《雷雨》中的...

    凉州2018年事业编招聘考试真题及答案解析网友整理版.docx

    1. 做事态度:第一题提到的“跳舞、唱歌别在意是否有他人关注;做事不要计较别人议论;参加竞聘面试别担心强手的对抗”,主要强调的是做事时应保持自信、独立的态度,不受他人看法的影响,尤其是面对竞争和挑战时要...

    社会舆论的正负功能PPT学习教案.pptx

    1. 追求真理的诤言:这是正向舆论的基本形式,表现为真实、诚恳地揭示事实和道理。讲真话不仅是认识世界和改造世界的基础,也是参与舆论活动的基本准则,同时是社会清明和进步的标志。讲真话有助于预测和决策,促进...

    成人高考高起点《语文》模拟试题和答案(二).pdf

    1. 成人高考:成人高考是中国成人高等学校的入学考试,主要针对成年人提供继续教育的机会,测试考生的基础知识和能力。 2. 高起点《语文》:高起点指的是成人高考中的高中起点层次,意味着考试内容相当于普通高中的...

    四年级语文下册 2.2 言字的研究教案2 长春版-长春版小学四年级下册语文教案.doc

    最后,板书设计列出了核心概念,如“预言”、“忠言”、“直言”、“真言”、“诤言”、“诺言”、“赠言”和“格言”,以便学生记忆和复习。课后,学生还将完成练习题,选择并背诵一句喜欢的格言,以深化对“言”字...

    2013年普通高等学校招生全国统一考试语文试题(广东卷,含答案)

    1. 语文试题结构:语文试题通常包括多个部分,如选择题、阅读理解、诗词鉴赏、作文等,旨在考察学生的语言运用、理解、分析和创新能力。 2. 词语辨析:题目中涉及到汉字的读音比较,如A选项中的“崇”与“祟”,...

    小学四年级下学期期中考试题.docx

    1. 语文基础知识:这部分包含了汉字拼音和词语的书写,比如“歇蹄翱首苍穹泯嫩崩吠”。这些都是对小学四年级学生基本的语文能力的考察,要求学生掌握汉字的基本拼写和词语的正确使用。 2. 语音知识:题目要求划去...

    初一上册政治知识点总结.doc

    1. **适应中学生活**:中学生活与小学相比,变化体现在学习科目增多、难度加大、自主管理要求提高以及社团活动丰富。为了积极适应新生活,学生需要做到自觉遵守规章制度、建立新的人际关系和主动迎接学习挑战。 2. ...

Global site tag (gtag.js) - Google Analytics