Module 模块的定义是什么?

Module 模块的定义是什么?,module,programming-languages,Module,Programming Languages,模块是什么(在编程语言中)有严格的定义吗?所需的最小属性是什么?也就是说,有什么理由可以声称给定的编程语言有或没有模块 是否对模块功能进行了分类,以使一个实现比另一个更强/更好?我认为没有任何形式的“官方模块定义”。我认为: 模块是关于利益分离的。这通常包括文件级别的分离,但更重要的是名称空间。当我编写代码时,除了模块名,我不想为其他程序员操心。不同的语言在不同的模块管理级别失败 javascript根本没有模块。有一个全局名称空间,人们开始使用匿名函数并发明不同的方法来组合不同的库,而不会污

模块是什么(在编程语言中)有严格的定义吗?所需的最小属性是什么?也就是说,有什么理由可以声称给定的编程语言有或没有模块


是否对模块功能进行了分类,以使一个实现比另一个更强/更好?

我认为没有任何形式的“官方模块定义”。我认为: 模块是关于利益分离的。这通常包括文件级别的分离,但更重要的是名称空间。当我编写代码时,除了模块名,我不想为其他程序员操心。不同的语言在不同的模块管理级别失败

  • javascript根本没有模块。有一个全局名称空间,人们开始使用匿名函数并发明不同的方法来组合不同的库,而不会污染名称空间 我不太了解C++,但它也允许你声明类,但是没有任何方法把很多类捆绑成更大的类,所以如果你试图把某人的库链接到你的代码,你可能会有链接错误。
  • java有包和命名约定(来自域名),因此很容易保持分离的名称空间(尽管语言没有强制实施),但传递依赖关系很糟糕,因为在依赖关系树上不可能有两个具有不同版本的相同模块
因此,您必须选择/创建自己的模块定义