编程的学习跟许多其他技艺的学习一样,首先必不可少的就是理论基础,其次就是需要大量的、不断地练习。老生常谈,这也许是每个人都懂得的道理,但说起来容易做起来难。所以想要学好编程,还需要些方法和毅力才行。
对于编程来说,理论阶段的学习相对比较抽象。过早地就希望一口气掌握所有理论知识然后再开始实践,往往会越学越迷茫。因此从大的方面来说,比较好的方法是理论学习-实践-总结-理论学习-实践...... 这样周而复始地不断学习,不断练习,这样是比较高效的学习方法。根据我自身的学习经验,有一些学习方法以及工具推荐给你,希望对你有用。
1. 确定学习方针和路线
首先要想好自己的学习之路该怎么走。比如学习一门语言,开始之前要制定好计划。多上网看看别人(特别是那些已经学成的牛人)是怎么学习的,推荐了哪些经典书籍,有哪些告诫。然后再根据自己现阶段的水平,制定适合自己的学习计划,这样才能少走冤枉路。
在这里推荐一些不错的帖子,希望有适合你的:
小小程序员的学习计划 
程序员技术练级攻略 
C语言经典著作导读 
读S计划-C方向详细计划 
初级程序员书单 
2.一定要做好笔记
选好路线后,就可以先开始理论的学习了,就是看书,看好书。以前,我是个爱看实体书的人,喜欢看书时把各种感悟都记在书的空白处。这样做的好处是再翻书查找时不仅可以找到相关知识,还可以方便地看到当时对这段文字的理解。但当看的书多起来,五本、十本、二十本... 这种零零碎碎的批注就变得比较零散,不成体系了。因此可以在书上做批注,但一定要及时的总结,将每一章的知识网络都统一记在一个地方,这样比较容易融会贯通,以后查找每一章大体内容时也有个大纲。
3. 多看原版的电子书
以前我很爱看实体书,拿在手里很有质感,而且还可以让自己暂时离开电脑屏幕,短暂地休息一会。但现在我的想法有了一些变化,原因主要有三。第一,很多技术书籍都是老外们先写出英文版的,然后N年后我们才能买到中文版的,因此实体书(除了国产原创的)往往滞后于英文原版的很多。第二,看电子书时做笔记和摘录会更容易些,也方便日后将自己的心得发到博客中与其他人分享。第三,在电脑上看电子书,能更及时地完成书上的各种练习。以前我看实体书时,经常先把碰到的想做的练习记下来,想等最后看完整本书时一起完成。但结果是或者书没有完完全全地看完,或者有些练习到最后看完书时印象不深了,因此练习很容易就被搁浅了。
现在网上又多了很多名校的公开课课程,这同样是很好的学习资源。感受感受名校的课堂气氛,练习了英语听力,又学到了喜欢的技术,何乐而不为呢?
斯坦福《编程方法学》公开课 
4. 多总结,多分享
写博客记录下看书和编程实践的心得是很好的方法。既通过不断发博客来激励自己不断地学习和总结,又在写博客分享给别人的过程验证自己是否已经真的懂了。博客可以分为两种:一种是读书笔记或摘录,起到备忘的作用;另一种是比较原创性的,如编程学习过程中自身的感悟,对某源码的剖析。
5. 自律自信,戒骄戒躁
学习是个苦差事,没有一定毅力和自我控制力是很难长久坚持下去的。唯一能有帮助的应该就是兴趣了吧,对技术学习的狂热,对知识的渴望可以让你苦中作乐,甚至都不觉得寂寞和艰苦。除了自律,学习过程中一定会碰到种种困难,相信自己可以学会,可以解决问题。虽然每个人的资质不同,但我始终相信一个道理,只要肯学,资质差就比别人多付出努力,笨鸟先飞,你一定有厚积薄发、一鸣惊人的那一天,是金子一定会发光的。此外还要戒骄戒躁,不能急于求成。如果你真的喜欢技术,很简单的一个问题研究很久花了很多时间又能怎样呢,只要你学的开心就够了。当一个简简单单、朴实无华,每天沉浸在自己的世界里的程序员也是令人羡慕的。
还有一点要注意的就是学习效率。要劳逸结合,累了就放松会儿再学,比一味地回到家就开始学,一直学到看不进去了为止要好很多。
6. 软件和工具
对于不同技术的学习,要搭建不同的开发环境来帮助我们学习。
对于Java来说,Eclipse是必不可少的。此外,练习的代码放在本地并不保险,所以还需要个免费的代码管理服务,如Google Code的SVN服务以及GitHub。自己编写好的程序也可以部署到免费的服务器,Google的AppEngine支持Python和Java开发,国内的Sina AppEngine目前只支持PHP,是个学习PHP的不错选择。
对于C语言的学习,在Windows平台上当然是微软的Visual Studio集成开发环境。可以结合C语言的学习,方便地学习Win32的开发。但更好的学习平台还是Unix和Linux。我一直用VirtualBox上的Ubuntu Server版虚拟机来帮助我练习C语言,再加上个SSH客户端,就可以轻松地在本机和虚拟机之间传递源文件。
学习工具方面,Evernote当然是做笔记必不可少的工具。按学习主题分门别类,你会爱上做笔记、网摘的感觉。此外还可以用Google Reader订阅一些热门站点、博客的RSS输出,每天上去看一下了解最新的动态。
用互联网帮助你学习编程 
以上是本人一些学习经验的总结,希望对你有些许帮助,同样也欢迎你的有关编程学习方面的好建议。

学习编程的方法、软件和工具相关推荐

  1. 7种从头开始免费学习编程的方法

    我们曾在一篇文章中讨论过不会编程算不算是文盲的问题,虽然有人认为这样有点说过头,但同时也不可否认如今编程确实显得越来越重要.比如作为设计师,懂一些编程可能会帮你更好地理解自己工作内容:而如果你想从头开 ...

  2. 5种让你入门免费学习编程的方法

    对于一个懂计算机的人来说,不会编程算不算是文盲呢?->是,觉得有点过了,但是不可否认如今编程确实显得越来越重要,作为入门编程的新手,很多人很茫然,不知到从那里开始.下面介绍几种让你入门免费学习编 ...

  3. 免费学习编程的10个好工具

    互联网时代的快速发展,很多人都在学习编程技术,小编今天为大家推荐的就是学习编程技术会用到的一些编程工具,免费学习编程的10个好工具!希望能够帮助到正在学习的小伙伴们. 免费学习编程的10个好工具: 1 ...

  4. 免费学习编程的10个好工具!

    互联网时代的快速发展,很多人都在学习编程技术,小千今天为大家推荐的就是学习编程技术会用到的一些编程工具,免费学习编程的10个好工具!希望能够帮助到正在学习的小伙伴们. 免费学习编程的10个好工具: 1 ...

  5. 不会编程也文盲?盘点7种免费学习编程的方法开启浏览器javascr

    我们曾在一篇文章中讨论过不会编程算不算是文盲的问题,虽然有人认为这样有点说过头,但同时也不可否不会编程也文盲?盘点7种免费学习编程的方法开启浏览器javascr认如今编程确实显得越来越重要.比如作为设 ...

  6. 单片机编程可以使用的软件开发工具有哪些?这个办法可以帮你解决。

    经常有同学问芯哥,某款单片机是使用Keil来完成程序设计的吗?其实这个问题需要查阅相关单片机官方信息,因为任何一款单片机出世后,官方毕竟会给开发者提供有些编程开发环境去使用.否则这些单片机怎么去设计程 ...

  7. 学习编程的方法与建议

    编程技术学习方法与建议 通用学习方法 学习最有效的方法 预习 学习 复习 练习 语言最有效的学习方法 多说 多用 多练 沉浸式学习 孟母三迁 姚明学英语 1 五笔打字学习 学习要求 每日总结当天知识点 ...

  8. 学习编程的方法西安尚学堂

    从多角度去学习和领悟 充分调动你所学的东西,从多角度去做某一功能,如:以前你是从面向过程角度做的,现在改为从面向对象的角度再来做,或者继续做成可以直接使用的插件,提供属性.方法等出来.争取让你做的这个 ...

  9. 学习编程的过程中可能会走哪些弯路,有哪些经验可以参考?

    1. 在学习编程之前,想清楚自己到底想写什么程序. 学习编程基本就是在学习建造东西.如果你知道你到底想造什么,你的编程学习之路将会豁然开朗.如果你的目标只是"学习如何编程",却不知 ...

最新文章

  1. .net知识和学习方法系列(十五)类型,对象,堆栈和托管堆
  2. 【Java 并发编程】线程锁机制 ( 线程安全 | 锁机制 | 类锁 | 对象锁 | 轻量级锁 | 重量级锁 )
  3. JS数组遍历的几种方式
  4. 程序员面试100题之八:不要被阶乘吓倒(二进制表示中最低位1的位置 )
  5. 更新!在线状态和用户的共存模式保持一致
  6. Qt学习笔记-QSqlModel的事物操作
  7. Android 在系统启动时设置声卡权限,[RK3288][Android7.1]强制使用默认声卡播放声音...
  8. iphone屏幕自定义排版_如何使用小部件和图标自定义iPhone主屏幕
  9. plink格式文件的介绍及相互转换
  10. python--len函数的用法
  11. 西瓜书学习笔记第2章(模型评估与选择)
  12. 直击人心的数据可视化设计作品
  13. 简述docx文档格式-CTF竞赛专用
  14. 关于内外网数据同步解决方案
  15. 新版经营级秀出打赏系统源码+带支付模块/视频教程
  16. [每日一氵] BERT下游二分类任务精确率P约为0.5,召回率R约为1的问题
  17. 携程java面经 一二HR面面经
  18. 抓包工具fiddler
  19. ez wifibroadcast 学习2
  20. 函数的单调性与曲线的凹凸性

热门文章

  1. 当前 IT 行业,软件开发应该掌握的几种编程语言,你学会了几种?
  2. 彻底解决电脑弹出USB设备时:提示该设备正在使用中无法弹出问题
  3. 腾讯云的ping检测
  4. java集合框架学习笔记
  5. 同学们 给你十个理由别去买iPad
  6. 爬虫时候遇到python connection error max retries exceeded whith url 怎么解决?
  7. 【TIPC】五、Cluster
  8. 华为应用市场Android客户端,华为应用市场官方安卓最新版
  9. HDU 6130 Kolakoski
  10. NAB展会BOSMA博冠8K全系8K摄像机产品惊艳亮相