程式設計師的工具箱

程式設計師會用到那些工具呢?筆者就自己的經驗,分享一些程式設計師可能會用到的工具,供有需要的學習者一些可參考的方向。 系統程式語言 (system language):這些工具給我們足夠低階的操作,像是記憶體管理等。傳統上,這個領域是由 C 主宰,有許多人會使用 C++。一些比較新興的替代方案包括 D 或 Rust 等。 應用程式語言 (application language):這些工具在效能在易用性上達到一個平衡點。大部分的人會從 Java 或 C# 中擇一,有一些人仍然會使用 C++。Go 則是另一個近年來熱門的新興方案。 腳本語言 (scripting language):這些工具易學易用,雖然速度沒有前兩者來得快,但一般使用情境下也足夠了。一些典型的實例包括 ...
「點我閱讀更多」

適合初學者的小型專題

前一陣子,在某個程式設計討論區上,看到有網友在討論不知道在學完程式語言後,可以寫什樣的專案 (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 ...
「點我閱讀更多」