我出書了

寫了一陣子的Python入門書,終於上線了。

這書是我這幾年自學Python語言,並用來教授大學生財務應用的程式語言教材。因為我沒有計算機程式背景,所以非常知道外行人初學程式語言的辛苦過程,我很確定完全沒有背景的朋友,也可以自學上手。這書適合什麼人?社會科學、管理相關科系大三、大四以上,或是研究所,相要自學Python,而且未來工作會用到數據分析,但完全沒有經驗的學生。

我要講一下我從學習到出書的過程。

現代社會都強調懂得電腦程式語言的重要性,連中小學生都在強調課程裡要加入電腦程式語言的元素,因為「軟體正在吃掉全世界」。但這種呼聲,反而給家長和學生,許多的無形壓力。要學習的話,就要投入時間和資源,學的好壞,也不是馬上看得到結果,而一旦有個程度很高的同儕在旁,那更會把壓力拉到最高點,「怎麼同學這麼厲害?」「我已經花了這麼多時間,怎麼還差這麼多?」最後不是放棄了這個「夢想」,就是對這個過程充滿反感,成功者幾稀。

我也受過這個苦。我們那個時代的理工科系大學生,PC才剛從286、386一路進到家庭、教室和公司,但已經有同學寫了程式多年。大學的好友,整天在耳邊講「劉燈、賀元、資迅人」,要我也去逛天龍書局,然後有一堆人整天在計算機終端室打MUD,我對科技沒有恐懼感,我還寫了台大化工系的第一個HTML首頁,但就因為這些超強同學的存在,「寫程式」一事,就變成令人敬畏,甚至令人望之怯步的一條路。

但電腦程式語言的學習和應用,不應該是這樣。十幾、二十歲的大學生,學什麼都可以,沒有太晚這種事,只要有心,不要管這些同儕壓力,一步一步來,把程式從無弄到可以跑,那是一個很有滿足感的過程。這是我會給二十歲的我的建言,畢竟軟體真的在吃掉全世界。

電腦程式就這樣和我,「你不認識我,我也不想理你」地經過了十幾年,後來三十多歲開始唸經濟學博士班,才又碰頭。博士班正式開學前的暑假,學校開了數學先修班,一個很厲害的老師,快速地教過博士班要用的線性代數和微積分,同時也讓我們上機用MATLAB。一用不得了,原來有目的地編寫程式,是這麼有趣的事。所以博士班的時候,同學都在學Stata,我則是想把所有的回歸分析,通通用MATLAB處理。

博士班畢業後來到敝小學校教書,一人獨攬所有財務課程,包含計量方法在內,我也讓學校買了幾套學生版的MATLAB,用來教學。但在美國會唸商管、經濟的學生,數理程度是比理工科系的稍差一點,所以教計量方法有些吃力,但也就是這樣,我得確定我的教材適合門外漢。後來發現MATLAB還是太貴,學生畢業了,可能也是一輩子都用不到,所以我想找個開放的程式語言作為代替。稍作一下研究,很快就選定Python,這語言和MATLAB的共通性不小,又容易上手,還有一大堆前人寫就的函數可以用,所以我很快就自學學會,再把MATLAB的知識、教材轉過來Python。Python因為開放,又容易學習,所以學了以後,還有許多用途,資料分析只是Python的一小部份應用,寫網頁、寫遊戲、做手機app,都是Python可以做的事。

我就這樣不小心地打開了這個奇異世界的大門。

雖然學生不是人人都能理解程式語言的美妙和功效,但每次教這課,總有一、兩個學生因為我而開始走這條路,我心裡都很開心,看著「青出於藍,而勝於藍」的學生,那是相當令人滿足的經驗。經過幾年的教學,我決定把教材編寫成書,讓更多人可以走入這門。二年斷斷續續的編寫,終於成就了這本入門書。

寫書,當然不是作功德,是要賺錢來的。所以,大德們,買一本吧,雖然是英文版,但程式碼比英文字多很多,很好懂的。亞馬遜的連結在上方。