歡迎來到應用程式生成!
在本章中,我們將探討讓電腦變得有用的各類軟體。試想一下,沒有軟體的電腦就像一台沒有引擎的汽車——看起來很漂亮,但卻無法前進!我們將探討如何為工作選擇合適的軟體,用來保持系統運作的「便利工具」(公用程式),以及開放源碼與封閉源碼軟體之間的重大爭論。最後,我們將看看電腦如何透過翻譯程式 (Translators) 來理解我們所編寫的程式碼。
如果有些術語聽起來很專業,別擔心,我們會把它們拆解開來,一點一點地講解!
1. 應用程式的本質
應用程式 (Application)(或簡稱「App」)是專為協助使用者執行特定任務而設計的軟體。如果你正在做某事——例如撰寫論文、玩遊戲或瀏覽網頁——你就是在操作應用軟體。
證明軟體選擇的合理性
在考試中,你可能會被要求「證明」(justify) 為什麼某個應用程式適合某項任務。這只是要求你解釋為什麼它是完成該工作的最佳工具。例如:
- 文書處理軟體 (Word Processor): 用於撰寫信件或報告,因為它擁有頁面佈局和拼字檢查工具。
- 試算表 (Spreadsheet): 用於處理公司預算,因為它能利用公式進行自動計算。
- 資料庫 (Database): 用於圖書館系統,因為它可以儲存數千條記錄並進行快速搜尋。
快速回顧: 應用軟體是為使用者而設的。如果任務是「以使用者為導向」(例如編輯照片),那它就是應用程式!
2. 公用程式 (Utility Software)
應用程式是為了使用者,而公用程式 (Utilities) 則是為了電腦本身。公用程式軟體是由一些小型、專業化的程式組成,旨在維護、優化或保護作業系統。
類比:如果應用軟體是汽車裡的「娛樂系統」,那麼公用程式就是行李箱裡的「工具箱」以及保持引擎順暢運作的機油。
公用程式的常見例子:
- 壓縮軟體 (Compression software): 縮減檔案大小,使其佔用較少空間(例如:建立 .zip 檔案)。
- 磁碟重組工具 (Disk Defragmenter): 重新整理硬碟上的檔案,讓它們儲存在一起,從而提升電腦速度。
- 防毒軟體/防火牆 (Antivirus/Firewalls): 保護系統免受惡意軟體和駭客攻擊。
- 備份軟體 (Backup software): 自動建立重要檔案的副本,以防原始檔案遺失。
重點總結: 公用程式專注於系統維護,並確保電腦維持在健康狀態。
3. 開放源碼與封閉源碼
這一切都與誰擁有軟體的「食譜」(原始程式碼,Source Code)有關。
開放源碼軟體 (Open Source Software)
原始程式碼是公開的,任何人都可以查看、編輯和分享。例子包括 Linux、Firefox 和 Python。
- 優點: 通常是免費的;使用者可以自行修復錯誤;靈活性很高。
- 缺點: 可能沒有專業的「技術支援服務台」;對於初學者來說,可能較不「人性化」。
封閉源碼(專有)軟體 (Closed Source/Proprietary Software)
原始程式碼是隱藏的,由一家公司(如 Microsoft 或 Adobe)所擁有。你付費購買使用許可,但無法查看它是如何製作的。例子包括 Windows 和 Microsoft Office。
- 優點: 提供專業支援和定期更新;通常非常精緻且易於使用。
- 缺點: 需要付費;你無法根據特定需求進行修改。
你知道嗎? 「開放源碼」並不總是意味著「免費」,但它幾乎總是意味著「可以自由修改」!
4. 翻譯程式 (Translators)
這是一個棘手的部分:電腦只能理解機器碼 (Machine Code)(即 1 和 0)。然而,人類編寫程式碼時會使用高階語言 (High-Level Languages)(如 Python 或 Java),因為這些語言更容易閱讀。翻譯程式就是將我們容易閱讀的程式碼,轉換成電腦能理解的機器碼的程式。
你需要了解三種主要的類型:
A. 組譯器 (Assemblers)
它們將組合語言 (Assembly Language)(一種「低階」語言)轉換成機器碼。這是一種簡單的一對一轉換。想像成翻譯一個簡單的代碼,例如「A=1, B=2」。
B. 編譯器 (Compilers)
編譯器會一次過將整個原始程式碼翻譯成可執行檔(例如 .exe)。
- 優點: 一旦編譯完成,程式執行速度非常快,因為翻譯工作已經預先完成。使用者執行應用程式時無需編譯器。
- 缺點: 如果出現錯誤,整個程式將無法編譯,且可能難以準確找到錯誤位置。
C. 直譯器 (Interpreters)
直譯器會逐行翻譯並執行程式碼。
- 優點: 對初學者來說非常棒!如果第 10 行有錯誤,程式會在那裡停止,非常容易修復。
- 缺點: 執行速度較慢,因為電腦每次執行程式時都必須重新翻譯每一行。
應避免的常見錯誤: 不要說「翻譯程式將程式碼轉換成英文」。事實恰恰相反!它們將類似英文的程式碼轉換為二進位/機器碼。
翻譯程式記憶法:
- Compiler (編譯器) = Complete(一次完成全部)。
- Interpreter (直譯器) = Immediate(立即、逐行進行)。
快速總結
1. 應用程式用於使用者的任務(例如 Word、遊戲)。
2. 公用程式用於系統維護(例如防毒、壓縮)。
3. 開放源碼允許每個人查看和修改程式碼;封閉源碼則保持私有。
4. 組譯器用於低階的組合語言。
5. 編譯器一次過翻譯所有內容;直譯器逐行翻譯。