为什么库实现者使用短名称?

Why do library implementer use short names?

这是一个幼稚的问题,但为什么库中的所有函数和变量名称都这么短?

例如在 lapack.cpp 中函数的名称是

dgetrs

看看这个网站 http://www.netlib.org/lapack/explore-html/d6/d49/dgetrs_8f.html

所有函数都以相同的简短方式命名。

使用更大的名称是否会降低性能?

在我看来,使用短名称会导致很多问题,使代码难以理解。调试变得困难。很多事情都可以通过一个好的函数名来传达,为什么库开发人员放弃了它? 我意识到编写库的人比我更有经验,所以我想知道原因。

打字变得稍微容易一些,但长期 运行 的可用性和可维护性不会弥补这一点吗?

  1. Dennis Ritchie 设定了一个目标,即 C 不应比 Fortran 对链接器的要求更多。
  2. 在 Bjarne Stroustrup 开始争取更长的标识符之前,链接器通常对名称有相当短的限制。

因此,例如 C 正是由于这个原因而受到像 strcpy() 这样的库名称的影响。到 1980 年代后期它不再是一个问题,但这个习惯似乎仍然存在。