关闭

关闭

封号提示

内容

首页 如何自学编程.doc

如何自学编程.doc

如何自学编程.doc

上传者: 明明伤的很深却还保持微笑 2017-10-27 评分 4.5 0 55 7 249 暂无简介 简介 举报

简介:本文档为《如何自学编程doc》,可适用于财会税务领域,主题内容包含如何自学编程学习编程已经不再是少数计算机专业人员的事情了就如同计算机深氲轿颐巧畹拿恳桓鼋锹湟谎氨喑痰娜艘彩窃嚼丛蕉唷,捎谙衷谕缧畔试捶岣淮蠖嗍硕佳窳符等。

如何自学编程学习编程已经不再是少数计算机专业人员的事情了就如同计算机深氲轿颐巧畹拿恳桓鼋锹湟谎氨喑痰娜艘彩窃嚼丛蕉唷,捎谙衷谕缧畔试捶岣淮蠖嗍硕佳窳aname=baidusnap>自学。我自幼自学编程十余年多少积累了一些经验和方法想通过这里给这些初学的编程自学者一些个人的建议。建议一自学也需要看书自学只是说没有专门的老师手把手教你并不是说连书本都可以不要了。有人天天来问我一些很基础的概念问题我问他“这些概念书上不都写得很明白吗”他回答“我没有书。”如果没有书那么你很难在脑子里形成一个较为整体性的认识所有了解到的知识都是支离破碎的。且不说大多数人没有精力回答你这些问题即使回答了很多东西也不是三言两语就能说清的很多高手说出来的都是他们自己的理解这些理解或许很有意味但也许费了你半天的脑子却怎么也搞不明白。一本书即使不是什么经典之著它也可以向你提供一个大体完整的框架成为你自学过程中的一个向导。这里要说的是网上电子教程资源丰富看看无妨但手中至少应有一本印刷的书毕竟网上的教程鱼龙混杂其作者也许并不精通此道很难分辨其质量好坏。建议二学编程更需要实践书是有了可是整天抱着书也不成。编程最怕的就是纸上谈兵我看到有的初学者看完了大半本书和我说起循环函数来头头是道却连编译器长什么样都没有见过。真要他写几行程序便是错误百出。我的建议是无论你涉及编程的时间是多么地短无论你目前学到的知识多么地少你都应该不断地尽自己所能去编写一些小程序即使是把书上的“HelloWorld”亲手输入进去运行一遍都能让你的编程能力有着极速地提高。建议三编程是创造不是默写有人甚至打算用题海战术来学习编程这完全没有理解编程的内涵。仅仅通过“欣赏”别人写的代码也无法学好编程。有一点需要明白编程是一个创造的过程。编程的意义在于通过程序的形式教计算机如何去完成一项任务。写代码只是形式真正重要的是如何完成特定的任务。学习别人的代码固然是很有用的可以学习别人的思想但是如果仅仅是记忆了一些别人写好的代码就希望能通过拼拼凑凑成为自己的程序那是基本不可能的。我的建议是在自己编写程序进行创造的过程中借鉴前人程序中的思想方法而不是整天处于复制粘贴的状态中。建议四好习惯要从开始做起所谓“不以善小而不为”等坏习惯养成了再改就困难了。因此类似写程序要注意缩进、为变量和函数起有意义的名字、大小写的使用、行末分号的注意等等要从一开始做起。很多人对这些善意的提醒不屑一顾觉得多此一举浪费时间。其实如果真的能严格地去做它们反而可以帮你节省许多时间。建议五不必太刨根问底“打破沙锅问到底”确实表现了一种钻研的精神不过我还是建议初者学有的时候不必太刨根问底。编程的相关知识都是盘根错节交织在一起的大多数问题深挖下去会越说越复杂对于知识掌握不多的初学者来说只能是越来越糊涂。很多东西时间长了随着知识了解得深入自然而然会明白。就像刚刚学英语的时候你知道“goodbye”是再见就足够了难道非要把这个good和再见的关系先弄个水落石出吗作为初学者最重要的是尽快地能全面地了解整个知识的全貌在单独的知识点上暂时不需要太深入。可以等知识经验丰富之后再回头来研究。如何自学编程个人日记::阅读评论字号大中小订阅在中国大多数程序员都是自学成材的这其中的艰辛自不必多言如果能够有一个正确的学习步骤循序渐进便能省却不少力气了在此我顺便说说我的学习步骤希望能够抛砖引玉和大家共同探讨以下仅代表我一家之言如果你能够熟练的使用Windows的话你就可以开始你的程序生涯了首先从C语言开始。有的朋友可能认为C语言太难了应该从VB开始。虽然对于一个初学者来说用一些控件堆砌成一个小软件是有一些成就感但是基础才是最重要的C语言对于数据类型的描叙远比VB里面说的更为全面清楚明白而这些却是编程中的根本学C语言从数据类型基本表达式再到条件语句循环语句然后学习函数再加上一些简单的数组知识就可以了一句话到现在为止你只要理解结构化程序设计的思想也就够了有了以上的基础就要开始学汇编了。汇编开始的时候是很难那些各种各样的寄存器分段的内存地址是很难理解可是这些知识理解了以后后面的内容就简单了学习的那些指令再加上一些伪操作还有DOS和BIOS中断的调用就可以看懂书上的汇编程序了。着重是理解算法对于后面的那些汇编的应用有兴趣的可以看一下到此你应该会对计算机的理解更深一层有了汇编的基础再来学习C语言中的精华部分指针可谓如鱼得水了。现在你要对C语言全全面面的学一遍了谭版的教材要从头到尾认认真真的看两遍以上。学完以上的内容有必要研究一下数据结构了线性表堆栈队列树图二叉树等等都要滚瓜烂熟最好是清华严蔚敏老师的那本教材请时刻记住浮躁是学习编程的大忌现在你应该学习一些数据库的知识还有一些常用的算法了如果以上的知识你都学精通的话就可以开始C的课程了找本C上手的书用一个星期的时间大概了解一下C然后找一本VC上手的书再花一个星期的时间学习VC的界面和用法就可以做一些简单的应用了要想学好VC没有扎实的C知识是不行的以下书籍是VC程序员必须翻的烂熟的CPrimerEffectiveCThinkinginCMoreEffectiveC深入浅出MFC。深刻理解C面向对象的思想编程的时候出错是难免的所以MSDN一定要熟练使用好的代码风格会使调试的时候更加简单的查错所以一定要养成良好的编程风格如果你严格的走好了以上的每一步你才踏上了编程的门槛可以混口饭吃了至于在以后编译原理操作系统还有软件工程等等基础知识是必不可少的如果现在再来学习JAVAC等别的语言的话应该是触类旁通拿来就用了到此你才可以称得上是一个高手如何自学编程如何学习编程也是见仁见智的话题。每个人都有自己的特点因此不存在一条放之四海而皆准的道路。在这里我所能贡献的也仅仅是从我自己的经历得来的一点见解。希望能给刚刚入门的朋友提供一些有益参考避免不必要的弯路这也是我写了这么多的目的。为了能给删繁就简我把我设想的的学习道路概括为一条stepbystep的路让各位捧场的朋友有个直接明确的理解。在实际学习过程中并没有这样一条一路走到底的途径而是不断反复温故而知新的过程。入门尤其是自学一本好的入门书是很重要的。不同基础的读者应该选择不同的书来学习。如果是没有任何基础的读者应该找一本薄的浅显的讲基本语法的书作为入门而不该挑厚的“宝典”或“圣经”。因为厚的书没有几个初学者能真正吃下来往往把人吓回去或者半途而废。如果是C语言和C谭浩强的那两本书还是不错的。不少高手都骂这两本书写的臭但是从入门来看这两本还是很合适的。C语言还有一本是《Cprogramming》也是很不错的一本入门书而且只有页的样子很薄作者是unix的设计者书中结合了不少unix设计中的例子很有实用性。但是我自己的感觉是这本书有点太凝练了除非一字一字的去体会否则初读这本书根本没法感悟出作者要表达的C语言的精髓。对于Java语言我觉得Sun网站上的在线教程Javatutorial是最好的很简单实用其次就是《ThinkinJava》适合作为初级的进阶读物。反面的例子就是我读过的《MFC深入简出》《WindowsprogrammingwithMFC》和《Windowsprogramming》这三本书我最初读了不下遍但是每次都没突破过页就放弃了。这些书在后来我的编程学习中觉得的确是经典但是如果作为入门书籍绝对是误人子弟的。所以对于没有任何基础的初学者而言入门最好是找本薄的简单的书来入门我学C的入门书是《一周学会C》就页厚。现在看来那本书里面很多对C的说明都是不准确甚至是错误的而且里面对于泛型和STL都没有介绍到。但是这样的书特别管用让读者在尽可能短的实际里面能对一门语言的主要概念有一个全面的了解。这点是那些经典之作所做不到的。另外选择这些书的一个原因是这些书往往因为其粗浅或者过时可以很容易借到或者在旧书摊上找到便宜实惠物美价廉。而且这些书都没有收藏价值等你真正上路之后没有任何作为工具书的价值所以尽量不要花冤枉钱就好像没有人会收藏自己当年的奶瓶一样有变态嗜好的人除外。、可以考虑先学习C大多数时候我们学习语言的目的不是为了成为一个语言专家而是希望成为一个解决问题的专家。做一个有用的程序员做一个赚钱的程序员。我们的价值将体现在客户价值上而不是语言写得好不好看。C是C的一个面向对象的解释C为C扩充了大规模工程应用复杂的系统结构的组织和掌控方法但是我认为C骨子里还是C的。毕竟解决具体问题每个函数内部都是用C的方式写程序还是面向过程的。因此想要学习好C我的建议先学习C先学解决问题的能力再讨论解决大问题的能力。就是先学习怎么走路再学习怎么跑步。、学习C的过程中一定要理解结构化编程思维。为什么呢我前面有文章说过软件语言的发展过程就是一个数据私有化的过程大型工程应用强调高内聚低耦合模块化设计保持代码最大的灵活性和安全性。这是现代工程化开发的核心和灵魂。因此利用C这门语言入门借此理解结构化开发思维可以说是个很方便的路子。因为C的函数本来就是为重用做准备的。同时全局变量和cpp内部私有变量的差别其使用原则这些都能学到很多结构化开发思维。、开始学习CC不难学的很多人觉得C难学其实是因为它在C之外又提供了很多的概念尤其是对象很难以理解。不过我经过这么多年把这个问题反而看淡了我认为面向对象相对面向过程仅仅是结构化程序设计的一个具体体现是编译器提供手段强迫程序员必须遵循数据私有化的一个实例C和C的关系最核心的莫过于此。现在我们回到C再看看如果我们把一个全局变量写到一个cpp里面并且在对应的h文件中不声明它是不是就只有这个模块可以使用它是不是就是私有变量以这个理解类能明白了吗、学习C的深入技巧C在类的基础上经过这么多年的发展其实提供了很多深入的概念看起来很复杂其实我看也很简单。比如模板我的理解就是“类的类”大家说是不是既然模板理解了STLATL这些静态模板库动态模板库还难理解吗就是一大堆类的类可以借此实现很多应用中需要的类不需要程序员再自己写而已。okSTL都理解了泛型开发还难吗所谓泛型开发其实就是我做一个模板来定义一套算法规则但是呢我希望这个算法规则能进一步抽象对核心数据类型不要限死我把各种数据套进去都可以用这样仅算法这部分我不需要重写了。你想想是不是这个道理学到这里C和C其实已经差不多了。再学语言就是求全责备过于钻牛角尖了。、学习应用开发前面说了学习语言目的不是让别人认为自己是专家是为了写程序赚钱。因此语言学完要学习应用开发。什么叫应用开发呢我会一门语言但是客户不懂客户说的很直接在Windows下给我写个程序我要什么什么功能。为啥Windows呢因为我习惯。OK很多时候应用开发要尊重客户习惯一般说来语言这个东东还是要结合具体平台的开发才能开发出有意义的应用程序卖钱。那么一般说来客户端是Windows系统服务器是Linux这些都是行业习惯嵌入式不好说各种平台都有PalmSLinuxWinCE等等。要根据自己的目标客户来定。当我们选定目标平台后有一个问题选什么语言很多时候学生和商用程序员差别就在这里学生一般没得选自己会啥就用啥呗企业里的程序员不会要先评估需求看哪个语言更合适不会的语言要去学。ok假定我们选了C和C那么我们需要选择开发平台Windows下不用说了VC这是最好用的Linux下呢gcc其他的也差不多。假如我们开发VC并且使用C这个时候才需要考虑学习MFC了因为这是微软的标准类库至少Windows平台下它最权威你看见没有我们从学习开始走了多少步才走到MFC是不是MFC不是学习C上来就必须学的、学习MFC学习MFC很多人一上来就开始看其体系架构看得一头雾水那个模块关系依赖图我到现在都看不懂。呵呵其实不是啦和学语言一样我们学MFC的目的也不是希望成为MFC的专家而是要利用MFC开发Windows应用程序为我们赚钱。看见没MFC是手段不是目的目的是开发Windows程序。其实Windows下有一套很标准的C接口叫WinAPI这个才是Windows的标准编程核心因此学习MFC真实的目的是理解Windows程序开发建议可以先学习WinAPI看来我们又回到C了哈呵呵。刚开始学C有用吧、WinAPI其实WinAPi不难学的因为虽然它很大有很多接口但不是必须的我们真正做个简单的Windows应用其实用不到这么多的。做个简单的Dialog然后实现个功能你遇到的接口函数其实绝大多数就是以后常用的了。把常用的记熟练就ok了。关键是这个时候要通过WinMain方式去理解Windows的事件机制这是核心其实说起来简单得要死。就是以前你的程序由于没有系统支撑很多事必须自己做比如检查鼠标和键盘输入你需要写个死循环自己不断去看而Windows说这些事你不要做了我来做比你好。你没事就玩去吧我把和你相关的消息放到一个队列里就是你的事件队列你自己没事去找找看有没有新消息来有就做事没事就玩好了。很简单是不当然Windows是多任务操作系统有时候我们的逻辑需要并发一些功能比如说我在等鼠标键盘消息的时候需要再看看打印机准备好了没有这里就需要理解并行计算了这和语言无关和操作系统无关这是另外一个话题这里不多说了你可以自己找找线程开发的相关资料看。看见没为了学习好Windows编程其实我们不仅仅需要学习语言还要学习操作系统并行计算原理内存原理可能有时候还需要学习网络通信等很多知识所以说单凭学习语言是成不了商用程序员的一个合格的程序员需要理解的东西太多了要广为学习。当我们把WinAPI以及基本的窗口化程序设计理解了就可以回到MFC继续学习了。是不是有点递归返回的意思呵呵。、回到MFC个人感觉应该回到VS原来学MFC很难的因为其封装了太多细节很难理解透彻。不过还好我们有侯老师的深入浅出MFC去找本来看看如何从WinAPI的纯C编程改变为MFC的C方式看这个最快基本上前章看完已经会了这里我就不多说了。、COMCOM、COM、COM我最头疼的COM呵呵。COM就是一种远程过程调用即你请求的代码是在另外一个进程中运行的通过某种通信协议来回传递参数和结果。仅此而已。DCOM进了一步服务者可以在另外一台计算机上。在公司开发中大家可能各做一块如果要合作Windows下建议多使用COM我个人喜欢socket通信哈简单说COM提供了一种机制可以跨进程通信甚至跨机器通信。不过为了传递各种类型的参数COM可谓是无所不用其极它发明了智能指针可以指向任何类型的数据同时为了实现智能指针它使用了大量的C泛型设计看见没C的基本功就起作用了还用到了ATL学习COM要注意一个接口的概念。由于开发者是不同的人调用程序和服务程序可能不是同一种语言OK不能简单提供一个C或C的。h文件来解答接口因此COM提供了标准接口使用者在程序内部以查询方式获得可用接口进而以接口ID调用。很累人的。学会了COM就可以多理解一点ActiveX了那么再学习一点dll动态链接库的知识我们就已经可以写OCX控件了。一般说来OCX控件是个很好的设计哪都能用一个软件的模块最理想是开发成这个样子比exe灵活。、没了。按少林派说法学了上述这些其实已经算打过铜人阵了已经可以下山助明主扫奸佞扭转乾坤解万民于倒悬了。不过关键是你通过上面的过程是不是已经学会了学习的方法再遇到新的东东是不是已经不难学了这大概就是武学中的悟性了有了这个根基以后只要慢慢修炼估计年后可与天下英雄一较短长了。、可以考虑先学习C大多数时候我们学习语言的目的不是为了成为一个语言专家而是希望成为一个解决问题的专家。做一个有用的程序员做一个赚钱的程序员。我们的价值将体现在客户价值上而不是语言写得好不好看。C是C的一个面向对象的解释C为C扩充了大规模工程应用复杂的系统结构的组织和掌控方法但是我认为C骨子里还是C的。毕竟解决具体问题每个函数内部都是用C的方式写程序还是面向过程的。因此想要学习好C我的建议先学习C先学解决问题的能力再讨论解决大问题的能力。就是先学习怎么走路再学习怎么跑步。、学习C的过程中一定要理解结构化编程思维。为什么呢我前面有文章说过软件语言的发展过程就是一个数据私有化的过程大型工程应用强调高内聚低耦合模块化设计保持代码最大的灵活性和安全性。这是现代工程化开发的核心和灵魂。因此利用C这门语言入门借此理解结构化开发思维可以说是个很方便的路子。因为C的函数本来就是为重用做准备的。同时全局变量和cpp内部私有变量的差别其使用原则这些都能学到很多结构化开发思维。、开始学习CC不难学的很多人觉得C难学其实是因为它在C之外又提供了很多的概念尤其是对象很难以理解。不过我经过这么多年把这个问题反而看淡了我认为面向对象相对面向过程仅仅是结构化程序设计的一个具体体现是编译器提供手段强迫程序员必须遵循数据私有化的一个实例C和C的关系最核心的莫过于此。现在我们回到C再看看如果我们把一个全局变量写到一个cpp里面并且在对应的h文件中不声明它是不是就只有这个模块可以使用它是不是就是私有变量以这个理解类能明白了吗、学习C的深入技巧C在类的基础上经过这么多年的发展其实提供了很多深入的概念看起来很复杂其实我看也很简单。比如模板我的理解就是“类的类”大家说是不是既然模板理解了STLATL这些静态模板库动态模板库还难理解吗就是一大堆类的类可以借此实现很多应用中需要的类不需要程序员再自己写而已。okSTL都理解了泛型开发还难吗所谓泛型开发其实就是我做一个模板来定义一套算法规则但是呢我希望这个算法规则能进一步抽象对核心数据类型不要限死我把各种数据套进去都可以用这样仅算法这部分我不需要重写了。你想想是不是这个道理学到这里C和C其实已经差不多了。再学语言就是求全责备过于钻牛角尖了。、学习应用开发前面说了学习语言目的不是让别人认为自己是专家是为了写程序赚钱。因此语言学完要学习应用开发。什么叫应用开发呢我会一门语言但是客户不懂客户说的很直接在Windows下给我写个程序我要什么什么功能。为啥Windows呢因为我习惯。OK很多时候应用开发要尊重客户习惯一般说来语言这个故且岷暇咛迤教ǖ目拍芸鲇幸庖宓挠τ贸绦蚵羟,敲匆话闼道纯突Ф耸荳indows系统服务器是Linux这些都是行业习惯嵌入式不好说各种平台都有PalmSLinuxWinCE等等。要根据自己的目标客户来定。当我们选定目标平台后有一个问题选什么语言很多时候学生和商用程序员差别就在这里学生一般没得选自己会啥就用啥呗企业里的程序员不会要先评估需求看哪个语言更合适不会的语言要去学。ok假定我们选了C和C那么我们需要选择开发平台Windows下不用说了VC这是最好用的Linux下呢gc

类似资料

该用户的其他资料

《走进葫芦丝》导学案.doc

出师表练习.doc

兰陵王鉴赏.doc

[大全]增广贤言.doc

[汇总]海洋研究院2012年专职校聘岗位聘任方案.doc

职业精品

精彩专题

如何成为一名合格的房地产经纪人

随着房地产市场的火热,房地产经纪人在房屋的租赁、买卖及转让中扮演着越来越重要的角色,接受委托,撮合,促成房地产交易,也正因为如此,成为一名合格甚至优秀的房地产经纪人需要付出更多的努力。

用户评论

0/200
    暂无评论
上传我的资料

精选资料

热门资料排行换一换

  • 《军事运筹学教程》.pdf

  • 中国少数民族介绍(全).ppt

  • 电影剧本《低俗小说》.pdf

  • 李普曼:公众舆论.pdf

  • 发现妇女的历史——中国妇女史论集…

  • [图解伤寒论].刘越.扫描版.p…

  • 宁德市虹梁式木构廊屋桥考古调查与…

  • 鸟仑尾与狗头山.pdf

  • 小河公主.pdf

  • 资料评价:

    / 10
    所需积分:0 立即下载

    意见
    反馈

    返回
    顶部