Modern Perl 2016 年版回顧

隨著 Python、Ruby、Groovy 等腳本語言的掘起,Perl 的影響力不如以往;近年來 Perl 相關書籍數量也較先前減少,不過,我們很慶辛,在 2016 年,仍然有新的 Perl 相關圖書,就是本文將介紹的 chromatic 的 Modern Perl, 4th edition,這篇文章,將會帶著各位瀏覽一次這本書籍。 首先,雖然這本書大部分內容在討論 Perl 的語法,但是這本書的程式碼相對簡短精實,對於一些新的用法,有時候不會特別去說明,而會直接使用;而且,這本書不會解釋程式設計的基本概念,比如變數、條件式、迴圈等,而會直接討論進階的 Perl 語法;對於初學者,可能會覺得本書的敘述相對晦澀難讀。如果是 Perl 的初學者,希望能夠按部就班的學習,還是比較推薦 Pe...
「點我閱讀更多」

Exercism - 充滿測試驅動開發風格的程式設計練習網

在學完程式的語法後,若能搭配練習題或是小型專案,能使我們對自己所學的程式更加了解。不過,有時候手上剛好沒有可以拿來練功的專案;這時,透過一系列設計過的習題,也可以達到類似的效果。已經有一些線上網站做到這種性質的服務,像是 LeetCode 或是 HackerRank;不過,我們在這裡要介紹 Exercism 這個網站。和上述網站不同的是,Exercism 的練習題是下載後在本地端做,而不是透過練上編輯器完成。雖然要自行建置環境有點麻煩,但是,試著自行建置開發環境,也是練習的一環,這種方式,也較接近真實的情境。 Exercism 號稱有 30 種語言的練習題,雖然沒有去細數,看了一下,的確非常豐富。許多主流的程式語言都有相關的練習題可做,而且,也包括像是 Lisp 或是 Erlang...
「點我閱讀更多」

Exercises for Programmers 讀後感

在學習某個程式語言的過程中,第一步總是先熟悉其語法,然後慢慢擴展到其他的部分。在這個過程中,如果能夠搭配適當的小型練習題,對於學習該語言會有相當的幫助。然而,不同語言的流行度各自相異,不一定都會有適當的教材可用。而本書的出現,適時地填補了語法和實作間的空缺。 在學習到第二個,甚至第三個程式語言時,會發現到,雖然程式語言的語法和模式各有不同,但是觀念上是相通的。大部分的程式語言,都有著類似的觀念,像是變數形態、操作子、判斷分支、迴圈、資料結構、輸入/輸出等,雖然在語法上各有不同,但其實,骨子裡都是在這些觀念上打轉。當然,各個程式語言還是有其特殊的部分,是其他程式語言沒有的,不過,很少會有某個問題,只能用某一個特定的程式語言的某個語法才能解決;我們在轉換程式語言時,會自然地用其他的方法去...
「點我閱讀更多」

.NET on GNU/Linux

在從前,要在 GNU/Linux 下寫 .NET 程式,會使用 Mono 平台。然而,使用 Mono 平台,程式設計師要和大大小小的不相容奮戰,有時候會想乾脆去寫 Java 好了。不過,隨著 .Net 平台開始支援非 Windows 的作業系統,以及 Microsoft 開始協助 Mono 專案,上述的情形應該會逐漸改觀;對於喜歡 C# 的朋友來說,應該也是樂見其成。 註:目前 GNU/Linux 平台上的 .NET 開發環境,已加強了對數個主流發行版的原生環境支援,本文使用 Docker 的方法,僅供參考。 目前 Microsoft 對 .NET 在 GNU/Linux 上的支援有以下數項: .NET Core:終端應用程式 ASP.NET Core:網頁應用程式 ...
「點我閱讀更多」

21 世紀 C 語言讀後感

我要先提醒這本書的準讀者,這不定一本典型的 C 語言教科書。例如:在這本書中,作者會教你把常用的標頭檔都集中寫在某個檔案中,即使程式因此多加了幾千行,編譯時間也花不到幾秒;另外,本書作者每次在編譯程式時,都會加上 -g 參數,其實程式也沒增加幾 KB,但是卻多了許多除錯用的資訊。另外,本書中約有三分之一的篇幅是在討論 C 語言的語法以外的內容,主要是介紹 C 語言的生態圈,這些內容在典型的教科書中相對少見。 本書的作者 Ben Klemens 主修的是經濟學和社會科學,所以,對於程式的思考方式和資訊出身的程式設計師有所不同,讀者不用對這本書的內容照單全收,但這本書的確有可參考之處。 本書的前言介紹了一些 C 語言的背景知識,以及作者對於本書的一些想法,可以稍微看一下。之後,本書的正...
「點我閱讀更多」