跳到主要內容

快速學習一個程式語言

想要快速學習一個程式語言,我會採用如下幾個階段的作法。

第一階段,了解基礎語法:

  1. 先看一個Hello world的範例,了解一個基本的程式的結構大概長怎樣。
  2. 看它的的基本變數用法。像是支援的變數型態,整數,浮點數及字串的使用。
  3. 看他的直述式,條件跳躍,迴圈,函數的語法怎麼寫。
  4. 其他進階概念的語法。像是物件導向的語法,functional programming的語法等等。(如果你之前沒有接觸過這些進階概念,那就跳過第四步,以後再說。)

第二階段,使用編譯環及小範例練習:

  1. 每個語言應該都有一個編譯環境或是執行環境。常見的也有一個語言,但是很多廠商都出了編譯環境及執行環境。就挑一個來熟習。
  2. 找幾個小題目,就像是學校課本裡面那種練習題,磨練一下手感。


第三階段,了解基礎程式庫:

  1. 把基礎程式庫的大分類先整理出來,只需要知道名稱及主要用途即可。
  2. 把所有的函式都看過一遍,只要看名稱跟用途就可以了。

這個階段最忌諱看的過於深入,也忌諱去背誦。只要有名稱跟用途的印象就可以了。

第四階段,找個有點規模的題目來練習:

  1. 找個大點的題目。比如說,數值計算機程式,迷宮程式。
  2. 規劃一下怎麼在這個語言下把程式模組切割。
  3. 規劃一下可能會用到的函式。像是接受使用者輸入,檔案存取。
  4. 開始寫!!因為不熟,會遇到很多困難。或是不知道該用什麼函式庫。不要有挫折感,好好利用網路或是help查詢。

 
第五階段,進階項目的熟悉:

  1. 如果你前面跳過第一階段的進階概念語法,這個時候你可以開始先進階概念開始了解。再來了解這個語言是以怎樣的語法實現這些概念。
  2. 列出前面所沒有的項目以及一些這個語言專有的特性進行了解。

以上,如果有其他程式語言的基礎,第一~二階段半天就可搞定。沒有的話,兩天也應該可以搞定。第三階段,看程式語言本身程式庫的龐大與否,大約會是兩天到一週的時間。第四階段可能是二到七天。第五階段則不一定,但是也不應該超過一週。所以一個語言,花一個月理解及上手是很OK的。至於要熟悉那就只有不斷的累積了。

整個的重點是『知道』就好,千萬不要花時間死背硬記。不斷練習或實做才能更快熟悉。

留言

這個網誌中的熱門文章

Portable Python

我常常需要把Python寫的script帶到其他電腦使用,因此,一個免安裝,可攜帶的Python就顯得十分重要。最近看過了幾個可攜式Python的方案,下面這個PortablePython是我覺得最合我意的方案。因為它提供了大部分會用到的Python module及工具,甚至連wxPython及PyGame也有。同時也有好用的Python編輯器PyScripter。所有開發Python所需的開發工具都一應俱全了!把它放到隨身碟中,就不用到處幫人安裝Python了。 PortablePython : http://www.portablepython.com/

一個Python程式可幫檔名加上日期與時間

很多時候,我們希望能夠將檔案或是目錄名稱加上一個時間及日期,以便release。所以,我就寫了一個小小的程式來達到這個目的。我把這個程式貼上來,讓有興趣的人可以拿去使用。 -- #!/usr/bin/env python # -*- coding: ascii -*- """ Usage: cfgfn.py [filename or directory list] """ import sys import os import time import re import glob ro = re.compile(r'(?P<FN> .*)-[0-9]{8}-[0-9]{4}(?P<EXT> .*)') for fnl in sys.argv[1:]: for fn in glob.glob(fnl): mo = ro.match(fn) if mo: pre = mo.group('FN') ext = mo.group('EXT') else: pre, ext = os.path.splitext(fn) newFn = pre + time.strftime('-%Y%m%d-%H%M') + ext os.rename(fn, newFn) print 'Rename %s -> %s' % (fn, newFn)