balabala~

导航

关于一些编程语言的学习方法和心得

由于本人还算有些编程语言基础,故还跟得上老师进度。通过一个星期的学习发现,编程还是特别注重平时的积累,一定要多敲多练,老师讲的每一个练习一定要搞懂,并且要在不看源代码的情况下独立的敲出来,这样才能达到消化掌握的目的。

编程语言与外语一样,首先是作为一个庞大的学科而建立起来的,之前对其过于轻视。不同的语种,对应java,C++等有着完全不同的使用习惯和内容。就连基于C和C++的软件也有matlab,qt,vc等等不同的版本,虽然if,while等都存在,但使用的方法有着各自不同的区别。就像一门语言的不同方言,听着差不多,但真的去使用还要有一个过程。
    那么,在重视了编程语言的学习态度之后,如何很好的掌握这门语言呢?首先回顾一下我之前的学习方法。第一次接触编程应该是在学校的时候学习C++,完全是按着教材老师在上面讲课我们在下面听,然后把教材给的例子搞懂敲到电脑上。熟练了以后再根据例子做一些改变编自己的程序。这种学习方法为以后埋下了隐患,因为养成了面对一个新的问题先去找相应类似的例子再修改的习惯,极其低效。
    那么如何能够脱开例子独立的完成一段程序或者至少是一个功能呢?我想最重要的有几点:
    1. 了解所有程序共通的基本框架。对于QT来说,就是ui,cpp和头文件之间的关系以及初始定义。
    2. 要能对于几个基本的常用的类及其常用的函数很熟悉。能够熟练运用。比如qpaint,qevent等。
    3. 要能在需要的时候找到相关的类(注意,不是相关的例子),并能够通过QT帮助读懂,知道怎么在程序中使用,并确切的落实下来。
    在搭建一个完整的程序的过程中也要注意:
    a. 由简单到复杂,逐渐增加程序的功能。先搭出基本框架,再在其上添枝加叶。这个过程可以不断的自己做一些小的程序来试,最后整合成一个具有多种功能的完整project。
    b. 也是所有类似的项目共通的,做一件事的时候专心做,比如今天的任务就是里面的一个小功能,那做的时候就不要老想着和其他功能的衔接啊什么的,只做一件事,并且做好。
    说了这么多,我们回过头来看如何达到上述的目标。1很简单,hello world看懂就行,每一本教材的第一章基本都会给出这方面说明。2和3就比较难了,从书中很难快速的达到我们的要求。想想有什么常规的学习手段:
    I. 书本及其后附例子,这无疑是最多人使用的方法。然而看书太慢,而且编程主要还是要会用。而且千万别用电子书,这种严肃的学习一定是要用实体书的。书的作用主要是对这个语言有一个初步的系统了解,并完成要求1,然后在一些和课题很相关的书上又正好有这方面内容的地方(这种可能性极少)仔细翻阅,了解原理。
    II. 网上资源:
    国内个人博客:优秀的个人博客是一个牛人的成长史,看看这些可以少走很多弯路。
    国内论坛:交流经验和问题,共享资源。缺点是里面的水平参差不齐,且找到的问题很多也没有人给出解决方法。可以在上面找找资料。源代码的话最好不要从上面下,可能会被误导。
    国外论坛:这是重头,要想真正学好一门语言,我觉得这很重要。以前没有重视。
    官方网站:多半是一些帮助和下载。
    III. 一个好的软件本身就应该会教你怎么使用它,去学。
    IV. 高校网络可以找到一些优秀的论文。
    确定了基本的学习途径之后我们如何来学习?基本的思路是:先了解基础,再在战斗中学。具体的想法我也只是一个初步构想:
    1)先找最经典的教材,看头几章了解一下这个软件。
    2)搜索优秀的论坛和博客,看看上面有什么好的学习建议。
    3)按照软件的指导来学。
    4)找到常用的类,并看几遍例子,懂了以后抛开例子自己写一段稍加修改的程序。
    5)了解能够被利用的类,在真正用到的时候能知道怎么找出来并会用。
    6)给一些大型程序写注释,时间允许的话自己编一个一样的。
    7)开始着手做项目,先在上述的资源里找类似的以启发灵感避免重复劳动,然后get to work。

posted on 2015-04-19 15:44  balabala~  阅读(251)  评论(0编辑  收藏  举报