内核或核心 - 何时使用它们?
Kernel or Core - when to use them?
我注意到术语 "Core" 主要用于 CPU 内核,而 "Kernel" 主要用于 OS 内核。 This question 在英语 SE 中澄清了 Core 和 Kernel 用于表示水果或坚果的中心部分。但是 IT 呢?我应该什么时候使用 "Core" 什么时候使用 "Kernel"?一个软件的核心部分应该怎么调用?在我的母语中,我们只有一个词来表示 CPU 核心和 OS 内核,所以两个英文词让我感到困惑。
正如您在问题中正确陈述的那样,CPU 有“核心”,操作系统有“内核”。
How should I call the central part of a software?
通常,术语“后端”、“业务逻辑(层)”或“应用程序逻辑(层)”通常用于指代软件应用程序的 'central' 部分。术语“后端”通常表示包括其所有纯技术部分的整个层,而“业务逻辑”更确切地说是指处理应用程序主题的独特方面的应用程序代码的子集,不包括纯技术组件。
在我看来,用“核心”来表示某些内部部分也可以。 “.NET Core”是软件系统的一个很好的例子,其中“核心”一词表示其 'innermost' 由各种层和模块组成的部分。
免责声明:我的母语不是英语。欢迎对此答案进行改进。
在属于既定术语的域之外(例如,您提到的那些,CPU 内核,OS 内核等) ,这在很大程度上取决于您的个人喜好,只要您尝试 express/reflect 系统的体系结构分层,强调系统内部和外部的显着差异 "worlds" 即可。
因为两者都强烈建议定义明确的边界(通常是文档化的界面,例如 API、and/or 某种 deployment/executive 障碍等),您应该两者都可以。
因此,例如网络框架浮现在脑海中,称其为 "inner circles" 核心(例如 Drupal), or kernel (e.g. Symfony), or both at the same time,相当自由。当然,即使它们很少指完全相同的东西(根据它们自己系统的具体情况),如果你会强迫他们交换并使用另一个词,它几乎不会引起任何混淆(除非与 existing/external 依赖项发生冲突,显然)。
(例如,我自己在我的设计中一直在两者之间摇摆 30 年以上,这让我很烦,所以我觉得任何人都对这个词的选择感到沮丧.. . 作为我自己的经验法则:如果一个系统反复提醒我一个 OS,无论出于什么原因,我都会放弃并称其为核心 "the kernel",如果它是更高级别的,则更少通用的(或者不那么健壮,或者只是更轻),更框架化的东西,那么我就称它的内核为 "the core",即使它对生物学家来说可能是违反直觉的。:))
我注意到术语 "Core" 主要用于 CPU 内核,而 "Kernel" 主要用于 OS 内核。 This question 在英语 SE 中澄清了 Core 和 Kernel 用于表示水果或坚果的中心部分。但是 IT 呢?我应该什么时候使用 "Core" 什么时候使用 "Kernel"?一个软件的核心部分应该怎么调用?在我的母语中,我们只有一个词来表示 CPU 核心和 OS 内核,所以两个英文词让我感到困惑。
正如您在问题中正确陈述的那样,CPU 有“核心”,操作系统有“内核”。
How should I call the central part of a software?
通常,术语“后端”、“业务逻辑(层)”或“应用程序逻辑(层)”通常用于指代软件应用程序的 'central' 部分。术语“后端”通常表示包括其所有纯技术部分的整个层,而“业务逻辑”更确切地说是指处理应用程序主题的独特方面的应用程序代码的子集,不包括纯技术组件。
在我看来,用“核心”来表示某些内部部分也可以。 “.NET Core”是软件系统的一个很好的例子,其中“核心”一词表示其 'innermost' 由各种层和模块组成的部分。
免责声明:我的母语不是英语。欢迎对此答案进行改进。
在属于既定术语的域之外(例如,您提到的那些,CPU 内核,OS 内核等) ,这在很大程度上取决于您的个人喜好,只要您尝试 express/reflect 系统的体系结构分层,强调系统内部和外部的显着差异 "worlds" 即可。
因为两者都强烈建议定义明确的边界(通常是文档化的界面,例如 API、and/or 某种 deployment/executive 障碍等),您应该两者都可以。
因此,例如网络框架浮现在脑海中,称其为 "inner circles" 核心(例如 Drupal), or kernel (e.g. Symfony), or both at the same time,相当自由。当然,即使它们很少指完全相同的东西(根据它们自己系统的具体情况),如果你会强迫他们交换并使用另一个词,它几乎不会引起任何混淆(除非与 existing/external 依赖项发生冲突,显然)。
(例如,我自己在我的设计中一直在两者之间摇摆 30 年以上,这让我很烦,所以我觉得任何人都对这个词的选择感到沮丧.. . 作为我自己的经验法则:如果一个系统反复提醒我一个 OS,无论出于什么原因,我都会放弃并称其为核心 "the kernel",如果它是更高级别的,则更少通用的(或者不那么健壮,或者只是更轻),更框架化的东西,那么我就称它的内核为 "the core",即使它对生物学家来说可能是违反直觉的。:))