簡明重現範例的重要性

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

[公告] 文章遷移

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

Go 程式設計系列 (2):使用情境

即將跳轉至新頁面,或自行前往這裡。 在上一篇文章中,我們簡單地介紹 Go 的特性,相信讀者已經對 Go 有一些初步的了解。接下來,筆者會在本篇文章中討論 Go 的長短處以及 Go 的使用情境等,讓讀者可以進一步考量是否要在下一個專案中使用 Go,畢竟,當專案成長到成千上萬行的程式碼後,重寫的代價是相當可觀的。 首先,筆者要提醒各位讀者,雖然 Go 語言相當簡潔易學,寫起來近於腳本語言,但 Go 語言並不是完美無缺的;Go 語言刻意地在語法機制上保持簡單化、最小化,反而缺乏許多現代語言常見的特性,筆者列出一些實例: 缺乏泛型 (generics),這是最常討論的議題,詳見此文 缺乏函式重載 (function overloading) 缺乏運算子重載 (operato...
「點我閱讀更多」

Windows 求生手冊 (1):緣起

即將跳轉至新頁面,或自行前往這裡。 「Windows 用得好好的,怎麼需要求生?」一般使用者大概只有電腦出問題,像是中電腦病毒 (computer virus) 或是勒索病毒 (ransomware) 時才會想要找求生之道。不過,這系列的文章並不是防毒或防駭手冊,也不是電腦 DIY 大全。這系列文章,是筆者經歷 Winodws、Mac、GNU/Linux 三種系統之後,所發想的文字記錄,目的在於記錄一些讓 Windows 更好用的方式,畢竟有時候還是會用 Windows 做事。這系列文章有一些偏向 GNU/Linux 使用者的觀點,但筆者會平實公正地敘述自已的想法。 Windows 系統會讓人覺得不好用,主要有以下兩點: 缺乏良好的命令列 (console) 環境 對 ...
「點我閱讀更多」

Go 程式設計系列 (1):簡介

即將跳轉至新頁面,或自行前往這裡。 Go 語言,也稱為 Golang,是一個靜態型別的 (statically-typed) 通用型 (general-purpose) 編譯 (compiled) 程式語言,由 Google 公同主導開發。Go 最早於 2009 年問世,對於程式語言來說,算是相當年輕,但 Go 已經吸引許多來自全世界的開發者的目光;Ruby 創造者松本行弘曾說過,一個程式語言生態圈至少要十年才能有成,但 Go 在短短不到十年間於程式語言排名中已名列前矛,像是獲得 TIOBE 2016 年最佳語言等。雖然國內對於 Go 的專書尚少,但國外已經有相當多的學習資料。筆者將於這個系列的文章中介紹 Go 語言。 Go 語言的核心開發者 Rob Pike 曾撰文介紹 Go 設...
「點我閱讀更多」