2013年1月12日 星期六

ExtJS 暫別了

        週二去文化中心還書時看到一本 ExtJS 開發的書, 我知道那是一個 Javascript 框架, 於是好奇地借回來, 看看跟 jQuery 有何不同. 看了兩三天, 先說結論 : 博大精深, 入門難, 但基礎打好後將如倒吃甘蔗. 它最吸引人的是標準化的各式元件, 像資料表格, 繪圖等等, 總之學通之後就不用花時間在網頁美工上, 而能專注於商業邏輯. 但是, 它借鏡 Java 的架構, 以類似 Java 的物件導向來開發, 所以, 對已有 Java/C#/C++ 基礎的人會比較容易入手, 但是新的玩意總還是有許多新的東西要熟悉, 學習曲線還蠻陡的哩, 所以即使考過 SCJP, 我別再妄想無痛入門啦. 本來想換 ExtJS 來開發, 我看還是暫緩, 繼續把 jQuery 搞熟再說吧! 因為還有更重要的事要做--PHP 專案.
        只有專注與聚焦才能幹出一些事來.
       

2013年1月11日 星期五

為自己寫程式

今日收到 MIS 的一封信, 要大家給個人使用的電腦每日掃毒 (強調--"特別是程式撰寫者"),  因為上頭通知有電腦被駭. 且最近有人反應工作日誌主機很慢, 檢查才知 CPU 使用率接近 100%, 懷疑是病毒作祟, 所以主機已經重開機 ... 云云. 其實是我在主機上寫的兩三個機器人程式, 定期抓營運系統資料後進行運算所致, 並非病毒. 被懷疑是放毒者或是駭客, 其實早已習以為常 (但, 我夠格被稱為駭客嗎?). 工作日誌系統是我寫的, 我難道不知道用那台主機做運算會影響效能嗎? 實在是不得已啊, 什麼資源都沒有, 想幫公司作營運輔助系統還要這麼辛苦地找機器, 也不能架設測試用伺服器 (資安大旗啊), 逼得我自己買一台小筆電安裝伺服器帶去公司用, 要不然就程式邊改邊丟上主機活線作業, 但一出問題馬上就會接到詢問電話. "特別是程式撰寫者" 這是在說我吧! 真的看了很傷, 提過幾次要在工作主機安裝 Apache, 準備將系統換裝為 PHP, 但 MIS 就是紋風不動, 我也死心了. 好吧, 就到此為止, 以後我只要安份做本業工作, 不再額外抽時間幫公司寫資訊系統了.
吐完苦水, 還是得面對自己的弱點 ... 心軟. 好吧, 寫完手上這個, 就此打住, OK? 我自己不是還有一堆程式要寫嗎?

2013年1月9日 星期三

開始寫程式

        這是我在 Google 建立的第二個網誌, 主要是記錄我在學習各種程式語言與新技術的經驗, 將來遺忘時可以隨時翻找, 畢竟人的記憶力有限啊. 如果還有一點參考價值, 或許也可以讓初學程式的入門者減少摸索的時間, 因為我自己也是透過網路搜尋找到許多其他程式員不吝提供的寶貴經驗, 雖然這些片斷仍須自己串聯貫通, 但這在以前可是得花不少錢買書看 (呵, 通常只為了其中一章), 花不少時間上圖書館查咧, 所以網際網路真是偉大的發明啊! 真是感恩.
        其實我以前是做硬體的, 除了以前學校要交 Fortran 作業外, 從來不寫程式. 1988 年我從空軍預官退伍後, 在一家電腦公司的 IC 設計部門從事 ASIC 設計. 雖然每天都要用電腦, 但那都只是使用電路模擬器軟體進行 IC 設計, 不需要寫程式. 而且我也討厭寫程式, 因為遇到難關或查不出臭蟲時, 即使是下班回家, 腦子裡還是在想問題, 這多難受啊.
        會開始想要學習寫程式是因為後來我去中山大學外文系進修, 蔡清元教授規定每週要交一篇英文期刊閱讀報告, 於是訂閱了 Reader's Digest 與 Newsweek 來看. 一個學期過後發現, 寫作業時常常要找之前看過的相關文章, 但隨著期數愈來愈多, 得花很多時間一本一本翻查才行, 很沒效率. 我就想, 何不將每一期前面的文章目錄掃描成檔案, 這樣以後只要搜尋關鍵字, 就可以很快查到該篇文章在第幾期了不是嗎? 於是動手掃描了幾本試試, 發現辨識後的文檔格式凌亂, 還要花時間編輯很麻煩. 我就問一位會寫程式的同事, 看看可否幫我寫個簡單的文字處理程式, 但因為他很忙拖了一段時間沒動靜. 有一天, 我突然想到, 嘿, 我不是念電機的嗎? 為什麼寫一個文字處理程式還要拜託別人? 就這樣, 我才移除了心中抗拒寫程式的大石頭.
        但是真正開始提筆寫程式, 是在 1999 年於高師大念碩士的時候. 入學前的暑夏, 我買了一本 Java 2 的書來看, 很快就看完了, 發現寫程式似乎也不難嘛! 比起英文這種自然語言來說, 程式語言這種語法固定有限的機器語言是再簡單不過了. 後來又學了 HTML 與 Javascript, 對程式是愈來愈熱中了. 碩二時選修莊教授的計算語言學, 他用了一本 ASP 網頁設計的書當教科書, 我又學會了伺服器端的技術, 但我不是使用書裡面的 VB Script, 而是早先已經用於前端的 Javascript, 也就是前後端都使用 Javascript, 這樣我就不必多學一個 VB Script 啦!
        後來為了寫 Google 的 GAE 專案, 又學了 Python 與 PHP, 總之語言似乎愈學愈多, 那會不會搞混呢? 我覺得半生不熟時會, 但常用就不會. 這些年來幫公司寫了幾個系統下來, 發覺刀要越麼才會越利, 而且一定要搞個專案來做, 才能真正會使這把刀, 只有透過實作一個系統才能真正學會一種程式語言.