2013年7月1日 星期一

談程式學習…初學與教學 — 學習篇(一)

緣起…學程式也好幾個年頭,有感程式領域之廣,讓人能夠同時體會老手與新手的感覺。
心中的一些想法,想要訴諸文字,希望分享給在程式路上的舊雨新知。
也期望能夠帶給人一些不一樣的想法,也歡迎批評,指教。

先簡單介紹一下自己…
  • 不是生在程式之家,也不是相關科系畢業,學習程式是前半段,只有電腦書而沒有別人討論。
  • 學習程式的資質並不高,常對人說「光一個 Class 的概念,就花了我一年的時間才了解」。
  • 對於自己經歷過一點命令列時代感到幸運,對於下指令,以及之後學習其它作業系統有很大的幫助。
  • 玩遊戲的功力很差,所以常用修改軟體,誤打誤撞讓我明白了記憶、變數的使用。
  • 程式功力不曾進入「高手」的領域,一直在數種不同的程式語言間打轉,被不同平台、框架玩了許多年。
  • 在某種語言前,會是完全的新手,但是在另一種語言前,經驗足夠讓我指導新人、完成專案。
  • 除非是常在講的專有名詞,否則完全記不起來,徹底表現出「看過即忘」的特質。

2013年1月13日 星期日

悲劇導演

記得相聲段子裡頭有這麼一段,說中國人愛比較,尤其愛比慘,當慘到一種境界就不再是「慘」,而是「美」了。人們會說︰「要不是當年怎麼怎麼,我就不會怎樣怎樣。」要先描繪出那個時代的慘,再說明自己的無奈與苦處,至於狀況最後有沒有變好,並不是比較的重點,重點是「我比較慘」。

生活不全然悲劇,所以不總是有「比慘」的素材可以用,因此有人就開始「創造」屬於自己的悲劇。有些人只是自怨,有些人則是想著要把身邊的人也拖進悲劇中。書上說這種人喜歡沉浸在這種悲觀的環境和情緒中,藉此來加強自己的存在感。

自己曾經的日子中,也有過一段覺得自己人生黑白的日子,慢慢走出之後再看看其它人,卻依然不能夠理解那種自找罪受的行為,到底有什麼魔力讓人沉迷在其中。明明幾個簡單改變能夠解決的問題,更願意蒙上自己的眼睛,下錯誤的決定來讓問題擴大。我猜是為了創造出自己心的希望的那一種悲劇吧!

2012年12月31日 星期一

迷路記(下)

以為螢幕出現閃爍的白線只是因為天氣冷還沒暖機完成,因為放著不理就會恢復正常。誰知道在準備出門的前夕,它症狀變得越來越嚴重,花了一些時間去查 HP 的保固方式,浪費了一些時間,急急忙忙的印好 Notebook 的購買證明以及地圖後就匆匆出門。

九點多的台北交通不如預期中的順暢,讓人有種還在上下班車潮的感覺。順利在銀行刷完存摺後就往維修站前進。維修站是在科學園區周邊的住宅區裡,但是意外的難找車位,確定維修站位置後,在隔一段距離的地方找到車位,徒步走到目的地。

心目中的維修站,應該是有著明亮燈光的大廳,一邊坐著幾個工程師在處理之前客戶留下的機器,面對的幾位客服人員,其中幾位正在向客戶進行維修的說明。不過在我踏進門口之後,看到的卻是似乎為了節能減碳而沒開大燈的大廳,看不到工程師,只看到一個好像是行政人員來客串服務人員,正在印著一張一張的單據。

迷路記(上)

十二月二十八號,是今年最後一天上班日,我請了一天特休。

除了能比別人多一天的連假的理由之外,也希望能把一些拖了很久沒動的事情。在別人最後一天上班日處理掉,當作這一年的一些收尾。

行程排得很「充實」,先去銀行刷本子,再到內湖的 HP 維修站去檢查 Notebook,接著到板橋去換機車置物箱,再回到台北市,到光華商場裡找那家不知道有沒有開門的樂材行,看看有沒有機會拿一陣子動的吉他去作健康檢查。

2012年10月31日 星期三

聽 iOS 分享

一直以來就想要看看那個「封閉」作業系統所使用的語言,倒底是什麼魔力讓許多 App 願意使用先使用它來開發。雖然看過一些相關的文件,雖然曾經接觸過它的底層 C 和 C++ ,但是對於 Objective-C 和 iOS 的程式開發一直都是一知半解,總是擠不出足夠完整的時間來學習它。

一個機緣下,安排公司一位同事去學習,要求在到一段學習之後進行分享。一來作為替代自己 K 書學習的替代,二來自負自己的程式的理解程度,應該能夠給同事一些看待程式的觀點,不至於全然浪費時間在教我。

今天是第一次分享,看了一個 Hello World 的程式,對於大家都看不懂的程式作了些許的猜測,總體而言還算滿意這次的分享結果,因為除了看到也學到了一些新東西之外,也發現了幾件沒注意到的事情。

2012年10月29日 星期一

初學 python

好像是一兩年前聽到這個程式語言,說來特別,是在 JavaOne 的聚會。記得是當時公司同事對這個會議有興趣,後來我也被拖去參加。本來的開場是要找「Thinking in Java」的作者來演講,結果好像是因為他去滑雪腳受傷不克前往,後來就拍了一部片子來代替演講。對我而言最幸運的是因為是錄影帶,貼心的主辦單位還幫忙加上了字幕,要不然,我可能聽不進十分之一的內容。

那位作者說有些人建議一年學一種新的程式語言,他認為不必,但是由學習新的程式語言可以得到許多不同的想法。而最近讓他著迷的程式語言,是以 Java 作的 Python 引擎︰Jython。

老實說對於後來的介紹,現在還能記得片斷已經少得可憐。只記得有個叫作 Python 的東東,是一個新的程式語言,其思考方式和 PHP 類型,是動態型別的直譯語言。但是似乎能作的事情更多,也更強大。

中間的一兩年間,不時的聽到或是看到一些由 Python 寫出來的程式,給人的感覺評價都不錯。在一次機會下在歐萊禮的書單中看到「深入淺出 Python」,就入手將它買下來。又再隔了一兩個月後才真正把它拿起來看。

2012年10月28日 星期日

練習打字

有人說︰「世上沒有早知道」,真是不錯,如果早知道的話我就會多等個幾天,而不是買現在這個黑軸的鍵盤,記得當時還說服自己「黑軸的鍵盤比較安靜,在家裡打字的聲音會小一點」。不過事實證明,聲音沒小多少,但是打字真的費力許多。

寫程式是自己的主要工作之一,所以敲打鍵般是已經習慣到不能再習慣的事情。有時候思緒一來,可以一連打個幾個小時不停,打上一整天其實沒有什麼大不了。而在這隻黑軸鍵盤上打上半個小時,就會開始覺得吃力,再久一點就會覺得手指有點發麻。

雖然天天在打程式,但是覺得自己的打字速度變慢了許多。至少和自己在大學時候相比差了不少。記得一個晚上可以將自己的胡思亂想打成一篇超過一百行的 BBS 文章,記得那時候真的是作到「我手寫我口」的地步,每一個心中想到文字都能夠在下一刻出現在畫面上。

不知道是因為當時的輸入法,輸入的時候字根是顯示在畫面下方,而不是一直出現在輸入點的邊邊,少了許多閃爍、讓人煩燥的東西,讓人可以更專心於自己要輸入的東西。又再加上 Windows 的倉頡輸入法越改越難用,加上許多的罕用字本身並不是什麼問題,問題出在罕用字的選字順序居然在常用字之前,導致要花費更多的時間刪除錯字重新輸入。讓人的思緒很難連貫。