值得注意的程式語言:D、Go、Rust

在早期,電腦硬體效能不足,腳本語言僅用來做簡單的工作,而大部分的應用程式還是用 C/C++ 這類編譯語言開發。後來,硬體效能逐漸進步,雖然腳本語言先天不快,相對來說,速度也足夠了。而腳本語言易於使用、開發速度快,而越來越受到歡迎。不過,在某些需要效能的時候,腳本語言就顯出其不足,這時候,用 C/C++ (或 Java) 改寫效能瓶頸的部分,再包裝成套件或模組,就是一種典型的開發模式。隨著運算速度及環境部署的需求,這類開發模式逐漸令人無法滿意,而直接回歸 C/C++ 又過於低階。著眼這一方面的需要,出現了 D、Go、Rust 等新興的編譯語言。 這類語言的共通點,在於提供了一套跨平台的語言環境,除了部分和 C/C++ 連接的部分可能會些微地受到平台的影響外,以這些語言為基礎的專案,基本...
「點我閱讀更多」

部落格 v.s 維基 v.s 社群網路:當你想得不一樣,你就做得不一樣

網路是載體,內容才是吸引注目的核心。在近年來,出現了部落格 (blog)、維基 (wiki) 和社群網站 (social media) 三種不同模式的網頁服務。雖然,從比較底層的角度來看,網頁就是一堆像天書般的 HTML、CSS、JavaScript 原始碼,再搭上多媒體檔案所組成,而這三種網頁服務就是用不同的邏輯安排這些原始碼。但是,我們不會將這三者混為一談,而這三種模式都各自有其利基點。 部落格是一種以時間為軸心的網頁服務。例如,麥可的部落格,就是以麥可為主,不限定其貼文主題,每隔一陣子就會有新的文章出現。當然,也有可能是以電腦技巧或某個特定主題的部落格,可能作者有數個人,一段時間就會輪流發新的文章。這種模式,類似新聞的運作模式,部落客持續地推陳出新,以吸引讀者的注意力。 維基...
「點我閱讀更多」

程式語言世界的巴別塔

有時候,因為工作或興趣,會去接觸某些新的程式語言。學起第二個或以上的程式語言,比起初學第一個程式語言時,已經有些程式設計的基本概念,這時候要做的事情主要是學習新的語法、函式/物件庫、開發工具等。學了程式語言一陣子,就會發現,有時候我們是在用不同的工具解決相同的問題。例如,寫網頁程式時,後端語言的主要工作是橋接資料庫和網頁伺服器,而 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 等靜態站台產生器;...
「點我閱讀更多」