在编程语言讨论/比较的背景下,术语“能力”是什么意思?
它有明确的含义吗?即使是一个定义不明确的含义?
假设有人说“X 语言比 Y 语言更强大”或提出相同的问题,他们的意思是什么 - 或者他们想找出什么信息?
它没有明确定义的含义。在这些类型的讨论中,“X 语言比 Y 语言更强大”通常意味着“我更喜欢 X 语言而不是 Y 语言”。另一方面,通常还会有人插话任何图灵完备语言如何完成与任何其他图灵完备语言相同的任务,因此严格来说,两者都不比另一种更强大。
我认为它的一个很好的含义是表现力。当一种语言具有很强的表达能力时,就意味着表达概念所需的代码更少。对我来说,这不仅意味着您需要编写更少的代码来完成相同的任务,而且还意味着代码易于人类阅读。当然,一般来说(在某种程度上),需要阅读的代码行数越少,人类的阅读和理解任务就越容易。
拥有一个“强大的”标准库在这里也可以发挥同样的作用。如果一种语言配备了彻底、完整的库,那么该语言中的惯用代码将能够从现有的库代码中受益,而不必在应用程序代码中重复或重新发明常见功能。最终结果还是需要编写和读取更少的代码来完成相同的任务。
我一直说“一般性”和“在一定程度上”,因为一旦语言变得过于简洁,人类就更难以破译。我想在这种极端情况下,一种语言可能仍然被认为“更强大”(甚至“太强大”)。所以我想我是说我个人对“强大”的解释也包括“有用”和“可读”的某些方面。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)