適合初學者的小型專題

前一陣子,在某個程式設計討論區上,看到有網友在討論不知道在學完程式語言後,可以寫什樣的專案 (project) 來增進自己的功力。的確,在學習程式設計一段時間後,會碰到這樣的困擾。由於這種針對進階初學者的書較難掌握讀者的程度,實際上這種書也比較少。對於進階初學者來說,一下子跳進去看 GitHub 或其他站台的中大型專案又難度過高,要在茫茫大海中找到適合自己程度的專案也不容易。筆者提出一些個人的見解,供有需要的網友參考。 其實,選擇專案沒有那麼困難,從使用者的角度來思考即可。首先,可以思考一般使用者 (end user) 會使用的軟體 (software) 類型,再從中選擇即可。一般使用者會使用到的軟體類型如下: 命令列工具 (command line utility) 桌...
「點我閱讀更多」

Dart — JavaScript 的理想狀態

筆者在某個偶然的機會接觸到 Dart 語言,並用 Dart 實際撰寫一些網頁程式;透過一些使用經驗,筆者覺得 Dart 是一個本質良好的程式語言,甚至, JavaScript 的理想狀態應該就是 Dart。為什麼筆者會如此論述呢?因為 Dart 有著數種優良的特性: 在語法上,Dart 吸收了 JavaScript、Java 和 C# 的優點。JavaScript 中常見的函數式程式 (functional programming) 特性,在 Dart 中都可以使用。但是,Dart 不使用 JavaScript 為人詬病的原型物件 (prototype-based object) 系統,而採用 Java 所用的類別物件 (class-based object) 系統,另外又加上...
「點我閱讀更多」

JavaScript - 程式設計史上最美麗的錯誤

JavaScript 可以說是程式語言史上最美麗的錯誤,在短短十天內匆忙開發的新語言,竟然可以跨越前端 (front end)、後端 (back end)、桌面端 (desktop)、行動端 (mobile) 等不同應用情境,成為新一代的當紅炸子雞。應該很少會有程式語言的函式庫和框架有 JavaScript 的那麼豐富。在 2017 的 StackOverflow 的調查中,JavaScript 榮登最常用的程式語言,在各大語言排名中,JavaScript 都位居前幾名。 曾經有數個技術,試圖取代 JavaScript,以下是一些實例: VBScript (retired) Java Applet (retired) ActiveX (legacy and dange...
「點我閱讀更多」

比較 PHP 網頁框架

筆者先前因一些計畫需要使用 PHP 網頁框架,故整理了以下表格。雖然最後沒有實際用到,筆者將這個表格分享出來,給有這方面需求的讀者。這些比較的條件基於一般常見的網頁框架所會用到的特性,未針對某個特定框架。 Criteria Laravel Symfony Nette CodeIgniter Yii 2 Zend 2 CakePHP Silex Silm Phalcon License MIT MIT BSD ...
「點我閱讀更多」

適合新手的程式語言

最近在 Quora 討論區上,發現有許多人會問那個程式語言適合新手,我相信國內也有一些朋友會詢問這個問題。很多人會說 Python,也有一些人說 Java 或其他的語言。雖然這是一個老問題,但筆者也提出一些個人的意見,供大家參考。 說實在的,語言的選擇,其實並沒有想像中那麼重要。在程式設計中,學習語法其實只是其中一部分,占學習程式設計的時間不會很久。對於初學者來說,第一個語言的時間會比較久,這是由於一開始沒有相關的經驗,一邊學習新語法,一邊還要學習程式設計的概念。但對於有經驗的程式設計者來說,語法本身不是占最多時間的,反而是這個語言相關的生態圈,包括套件、函式庫、框架等,需要花更多的時間去熟悉。所以,筆者也不建議頻繁地更換語言,這樣只是在基本的議題上打轉。 撰寫程式的目的,是將待解...
「點我閱讀更多」