it-swarm.cn

什么是语言不可知论,为什么称之为语言不可知论?

什么语言是不可知的?为什么这样称呼它?

55
Louis Rhys

不可知的语言表示独立于任何特定编程语言的编程方面。至少,这就是我过去三十年来所听到的。

“不可知”一词源自古希腊语,表示“不知道”。因此,不需要“语言不可知”的知识就不必了解计算机语言。它与独立于语言的含义相同。语言不可知的事物包括算法,Agile或绑定到许多语言的运行时库。

一些Mac OS X功能是并非与语言无关,因为它们确实是为在Objective C中使用而设计的,只能在C或C++中困难地使用,甚至没有很多绑定语言。

使用“语言不可知”而不是其他术语也可能存在潜台词。

在口语英语中,有人说自己“不可知论”是指他们既不是宗教主义者也不是无神论者:他们“不了解”上帝。这通常是“我不喜欢谈论宗教,所以不要试图convert依我”的口头代码。

因此,有时当人们谈论“与语言无关”时,他们试图避开关于哪种计算机语言更好的争论。

63
Bob Murphy

当一个解决方案被称为“与语言无关”时,您实际上是在说您的解决方案“不知道”语言,这意味着它是通用的或独立于语言特定的(范式,语言习语等)。

例如,设计模式与语言无关,因为描述它们的方式与具体实现无关紧要,只要它坚持整个或部分模式即可(v.gr.某些设计模式可以在没有OOP的情况下实现) 。

UML是不可知的语言,BPMN是不可知的语言,ERM是不可知的语言。伪代码算法与语言无关...

任何要编程但未用特定语言描述的内容都可以称为与语言无关。

7
dukeofgaming

不仅适用于一种语言的范例或功能。

6
Josh K

我以前从未听说过该术语,但是,我认为这意味着学习与任何特定编程语言无关的编程方面。

2
mbreedlove