[PM 都聽得懂的程式語言]-靜態與動態語言的差別
這系列文章的靈感,來自於我的 PM 老婆。在她工作中經常需要了解一些技術術語
因此,我決定用 PM 都聽得懂的方式來解釋一些名詞,幫助非技術背景的夥伴快速掌握它們的概念。
當然,這樣的說法無法百分百精準,但大致上八九不離十,適合用於日常溝通或非技術場景使用。
什麼是靜態語言?
靜態語言的特點是「嚴謹」。它在程式碼執行之前,會進行一系列檢查,確保所有的型別、邏輯和規範都符合要求後,才能執行程式。這種方式雖然稍顯繁瑣,但帶來了更高的安全性和穩定性。
特徵
- 靜態語言需要事先定義變數的型別,確保程式碼的正確性。
- 靜態語言通常需要一個「編譯」的過程,把程式碼轉換成電腦可以執行的形式。
常見的靜態語言
- C/C++
- Java
- C#
- Go
什麼是動態語言?
與靜態語言相反,動態語言的特色是「靈活」。它不需要在程式執行前檢查變數型別,許多事情可以等到程式執行時再處理。這讓動態語言更加彈性,但也可能帶來更多運行時的錯誤。
特徵
- 型別在執行時決定,動態語言允許你直接賦值,而不需要指定型別,系統會在執行時判斷型別。
- 動態語言通常是直譯語言(Interpreter Language),不需要事先將程式碼編譯成機器碼,而是邊執行邊解釋。
- 動態語言的彈性很大,但如果開發時沒有注意,運行過程中可能會遇到型別錯誤或其他問題。
常見的動態語言
- Python
- JavaScript
- Ruby
- PHP