模块的定义是什么?

时间:2014-02-23 20:50:57

标签: module programming-languages

是否有严格的定义模块是什么(在编程语言中)?需要什么最小的属性?即基于什么理由可以声称给定的编程语言是否有模块?

模块功能是否有任何分类,以便一个实现比另一个更强大/更好?

1 个答案:

答案 0 :(得分:0)

我认为没有任何'官方模块定义'。我的想法是: 模块是关于利益分离。通常包括文件级别的分离,但更重要的是名称空间。当我编写代码时,我不想打扰除模块名称之外的其他程序员。并且不同的语言在不同的模块管理级别上失败。

  • javascript根本没有模块。有一个全局命名空间人们开始使用匿名函数并发明不同的方法来组合不同的库而不会污染命名空间。
  • 我不太了解c ++,但AFAIK它允许你声明类,但没有任何方法可以将许多类捆绑成更大的类,所以如果你试图将某人的库与你的代码链接,你可能会有链接错误。 / LI>
  • Java有包和命名规则(从域名),所以它比较容易保持分离的命名空间(虽然它不是由语言执行),但传递依赖吮吸作为您的依赖关系树不能有与不同的两个相同的模块版本

因此您必须选择/创建自己的模块定义