2014-02-23 43 views
0

模塊是否有嚴格的定義(在編程語言中)?什麼最小的屬性是必需的?即基於什麼理由可以聲稱給定的編程語言有模塊或不模塊?模塊的定義是什麼?

模塊特性是否有任何分類,因此一個實現比另一個更強大/更好?

回答

0

我不認爲有任何一種'官方模塊定義'。我認爲是: 模塊是關於利益的分離。通常包括文件級別的分離,但更重要的是名稱空間。當我寫我的代碼時,我不想打擾其他程序員,除了模塊名稱。並且不同的語言在不同的模塊管理級別上失敗。

  • JavaScript根本沒有模塊。有一個全局命名空間的人開始使用匿名函數,併發明不同的方式來組合不同的庫而不污染命名空間。
  • 我不太瞭解C++,但是AFAIK它允許你聲明類,但是沒有辦法將許多類綁定到更大的類中,所以如果你試圖將某個人的類庫與你的代碼聯繫起來,你可能會有鏈接錯誤。
  • java擁有包名和命名約定(來自域名),所以保留獨立的命名空間相當容易(雖然它不是由語言實施),但傳遞依賴性很糟糕,就像在依賴關係樹上一樣,不能有兩個相同的不同模塊版本

所以你必須選擇/創建你自己的模塊定義