程式設計的特性本質-靜態語言與動態語言的信任抉擇
不同語言設計擁有各自的表述元素,決定了解決問題時的描述方式,勾勒出不同開發生態與成效,因此選用何種程式設計語言,一直都是熱門爭議焦點
型態系統是對底層位元組的抽象化,開發者只要瞭解型態,就可得知如何以高階操作處理資料,開發者選擇程式設計語言的第一步,就是如何從語法得知型態資訊,也就是決定選用靜態語言或動態語言。
具體來說,靜態語言是指變數是否帶有資料儲存型態,反之則為動態語言。
靜態語言的變數本身帶有型態資訊。例如底下的Java範例中,text宣告為String,就僅可參考String實例,若嘗試參考至其它型態,則會引發編譯錯誤:
String text = "programmer";
text = {'p', 'r', 'o'}; // 編譯錯誤
動態語言的變數只用來參考資料,本身不帶有型態資訊。例如底下的Python範例中,text可參考至str實例,也可參考至list實例:
text = 'programmer'
text = ['p', 'r', 'o']
單看這兩個例子,似乎可從宣告變數時是否撰寫型態資訊,來決定語言為動態或靜態,然而有些靜態語言具有型態推論(Type inference)特性,可依程式前後文判定變數型態。例如Scala是靜態語言,但底下範例宣告text時並沒有撰寫型態資訊,但text確實是String型態:
val text = "Hello" // 完整語法是val text: String = "Hello"
轉貼來源:IT專欄 - 林信良
參考文獻:
1.李果益,2001,JAVA 技術手冊,台北:美商歐萊禮股份有限公司台灣分公司。
2.易芙瑛,2002,影響企業導入可延伸性企業報告語言(XBRL)之因素探討,私立中原大學會計系碩士班未出版論文。
3.吳政隆,2002,以XML 為資料擷取介面之審計系統實作,私立中原大學會計系碩士班未出版論文。
相關文章
公司的網頁很慢,若想換別家的虛擬主機,要怎麼換?一位DMOZ編輯人員對於提交網頁設計類的網站建議關於虛擬主機與架站網頁設計六種快速應變技巧網頁設計54種關鍵技巧確認
最新文章
HVACKer:入侵隔離網絡的新型攻擊技術還有什麼不會被入侵?路由器 LED 燈已成為攻擊入口美 5 家獨角獸同天申請 IPO 掛牌,最狂的是一家估值 124 億美的數據分析新創!【台灣「智慧產業」開始佈局】緯創集團領投跨國 AI 新創 iKala,下一步拓展東南亞市場快可以用手機遠端遙控你的所有家電了