程式語言世界的巴別塔

有時候,因為工作或興趣,會去接觸某些新的程式語言。學起第二個或以上的程式語言,比起初學第一個程式語言時,已經有些程式設計的基本概念,這時候要做的事情主要是學習新的語法、函式/物件庫、開發工具等。學了程式語言一陣子,就會發現,有時候我們是在用不同的工具解決相同的問題。例如,寫網頁程式時,後端語言的主要工作是橋接資料庫和網頁伺服器,而 Java、Python、Ruby、PHP、ASP.NET 等都各自有其解決方案。那麼,有沒有一個語言可以吃全部呢?其實,程式語言也可視為一種產品,不斷會有新的語言出來,使得數位世界更加分裂。 例如,你平常習慣用 Python 寫一些命令稿,將某些工作流程自動化。有一天,你的老闆也需要類似的程式,如果可以將你手邊的 Python 命令稿整理後寄給你老闆是最便...
「點我閱讀更多」

Introducing Linux Distros 回顧

即使 GNU/Linux 已經是伺服器最常用的作業系統,由於種種因素,使得 GNU/Linux 的桌面應用難以推廣。其中一個因素,就是過多的 GNU/Linux 發行版,使得入門者無所適從。而 Apress 的這本新書「Introducing Linux Distros」試圖給這個問題一個解答。然而,自 1991 年 Linux 核心首度發布以來,至今年 (2016) 已經過了 25 個年頭,GNU/Linux 不再是某個最新潮的科技玩具,而是歷經考驗、成熟穩定的平台。在這個時候,出版這樣的一本書,不禁令人好奇,能否帶來什麼效應? 這本書分為三大部分,第一部分是對 GNU/Linux 發行版這個概念做一個整體性的介紹,第二部分則挑選出 10 個具有代表性的 GNU/Linux 發行版...
「點我閱讀更多」

Creating Blogs with Jekyll 回顧

在某一個夏日的午後,筆者在一個偶然的機緣,注意到 Apress 這本新書 Creating Blogs with Jekyll,這個主題馬上就吸引到筆者的目光。像 Jekyll 這種靜態站台産生器 (static site generator),使得撰寫部落格等網站的過程充滿彈性和樂趣;但是,要駕馭 Jekyll 這種軟體,還是需要一定的 web 相關知識,使用 Jekyll 等站台産生器的族群,大多具有一定的程式設計能力。比較有趣的是,Jekyll 在 2008 年就發布了,在 2016 年時,出版一本有關 Jekyll 的專書,不禁讓筆者好奇,這本書會端出什麼好料。 這本書分為三個部分,第一部分是 web 的源起,web 技術的改變,以及為何使用 Jekyll 等靜態站台產生器;...
「點我閱讀更多」

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...
「點我閱讀更多」