買 Mac 來寫程式

每隔一陣子,就會在 Mac 討論區看到有網友問「我想寫程式,我要買 Mac 嗎?」或其他類似的問題。在這裡先講結論:根據不同的程式類型,會有不同的答案。有經驗的程式設計者,通常都知道自己需要什麼,不太會在這個問題上糾結;但對程式設計初學者來說,這個過於空泛的答案,似乎也沒什麼幫助。筆者根據自己使用過 Windows、GNU/Linux、Mac 等多種系統的經驗來說明什麼時候適合使用 Mac,讓初學者少走一些彎路;但筆者所學有限,也無法說明所有的使用情境,若講錯還請讀者多多包涵。 真正非用 Mac 不可的情境,就是要撰寫 Mac 和 iOS 應用程式,這個就和撰寫 Windows 應用程式 (包括 UWP 和傳統 Windows 桌面程式等) 就非得買 Windows 電腦一樣,這都是...
「點我閱讀更多」

Perl 6 小感

Perl 6 是 Perl 家族的新成員,在 2015 年十二月發布了第一個正式版 (v6.c),代表其語言特性大抵上穩定了下來。在今年年初開始,陸續有數本 Perl 6 相關的書籍問世,代表 Perl 6 社群開始試著向外拓展。筆者最近利用一些時間學習 Perl 6 的核心特性,在此向各位讀者分享一些心得,做為使用 Perl 6 的參考。 The Good Perl 6 最值得稱許的特性,就是內建一套完整的物件系統。原先 Perl 5 的物件系統相對簡單,有許多開發者試圖改善 Perl 5 的物件系統,反而造成 Perl 5 物件系統的混亂局面,直到引入 Moose 後,Perl 5 才有一個社群公認的物件系統。Perl 6 的物件系統支援不少特性,像是封裝、繼承、Role (類...
「點我閱讀更多」

[公告] 網站更名

即日起,本站站名從 Happy Computing 改名為 Michael Talks,除了原先介紹電腦方面的文章外,也會增加一些對電腦科技或其他方面事物的個人意見。 筆者在撰寫一段時間的部落格後,發現電腦技術的變動實在太快,尤其是一些函式庫的 API,一陣子就會不太一樣。另外,英文的資料其實已經相當豐富,如果對於每一樣新技術都要寫成部落格文章,以筆者個人之力其實時間也不允許。所以,筆者將部落格文章的方向改變,以介紹加上評論的方向來撰寫文章。 筆者在學習一段時間的電腦以後,發現電腦技術推陳出新,以個人的力量,其實是追不完的;就像是網路上很有名的一篇部落格文章「You Can’t Learn Everything.」。我們不僅僅要花費時間學習這些技術,還要撰寫程式、維護現有程式、管理...
「點我閱讀更多」

簡明重現範例的重要性

SSCCE (Short, Self Contained, Compilable, Example) 是指能夠展示某個概念的簡單範例,筆者暫且稱之為簡明重現範例。在程式設計討論區,程式碼也是用來溝通的一環;然而,筆者在一些程式設計討論區,時常看到不良的反例,往往都是因為撰文者缺乏 SSCCE 的概念。筆者有感而發,因而撰寫這篇文章,希望對於程式設計學習者有所幫助。 有些程式設計初學者可能真的不知道如何撰文,只寫了一些關於自己如何操作電腦等模糊的敘述,有時候還會帶有一些情緒的字眼,像是「很急」、「救救我」等,文章中完全沒有任何可用的程式碼。說實在的,由於幾乎沒有可用的線索,即使想幫忙,也沒有未卜先知的能力。最後這種文章通常得不到什麼有意義的結果。 有些撰文者很天真地貼了某個部落格文章...
「點我閱讀更多」

[公告] 文章遷移

讀者或許已經發現本站有幾篇文章會跳轉到新站台。這是因為筆者最近試用了一陣子 Hugo 後,決定將一些長篇的教學文章搬移到新站台。筆者在這裡說明我們的想法。 原先筆者一直都是用 Jekyll 撰寫部落格。但是,Jekyll 比較適合純部落格,對於其他類型的站台,就相對不適合,像是筆者必需額外增加導引的按鈕。筆者最近試用 Hugo 後,覺得 Hugo 比 Jekyll 適合做為一個通用的 CMS 替代品,因此,決定慢慢將一些文章轉過去。這個部落格仍然會繼續營運,但僅用於發布單篇文章。但筆者目前新網站還在試行中,待一陣子才會確定是否要繼續採用 Hugo,這段搬遷時間請讀者見諒。
「點我閱讀更多」