在较大的库/框架上构建的小程序的术语?

时间:2015-04-18 19:11:25

标签: terminology

你究竟是什么称为构建在较大的库/框架之上的相对较小的程序/应用程序?

有问题的小程序(foo)做了很多,但很多繁重的工作都是由库(bar)完成的。当我说我设计/开发了foo'有了这样的能力,我不想传达错误的想法,即我自己编写所有内容,包括低级别的内容。

编辑:为了澄清,这是一个建立在数值库之上的数字代码。

1 个答案:

答案 0 :(得分:1)

TL; DR,几乎没有人会认为你发明了一切。如果他们这样做,这是一个很好的机会,让他们了解有关计算机和软件架构的高级信息。

通常,这只是一个应用程序,实用程序或工具。您的运行时上下文可能会引入其他形容词(例如命令行工具,Web应用程序等)。

我认为您对归因的担忧可能毫无根据。如果您的项目是开源的,那么您的文档肯定需要列出构建和运行时依赖项。如果有不同的许可证,您可能还需要使用您的工具发货。因此,除了完全不熟悉软件工程的人之外,任何人都不可能得到“错误的想法”。

此外,几乎每个软件包都是基于某种工具包构建的。例如,即使是lscp等基本实用程序也构建在标准C库之上,并使用操作系统提供的系统调用。实际上,没有操作系统,这些实用程序就没有运行时环境可以执行。如果没有可供管理的硬件,操作系统无所事事(甚至一些硬件可能还有固件 - 这只是片上软件 - 无论操作系统如何都能控制其某些行为)。

你移动的堆栈越高,你所犯的工作与你构建的工作相比就越难。 Web应用程序需要HTTP服务器,可能是模块接口或CGI环境,表达软件意图的语言等等。然后所有这些都建立在操作系统之上,操作系统可以归结为硬件,一些固件,等

最后,即使图书馆执行繁重的工作,也不会降低软件的价值。如果您的软件执行了许多非常有用的操作,那么库是否使您的软件能够执行这些操作并不重要。回顾一下历史上一些最重要的发明是非常简单的。它只是让某人看到如何以不同的方式组合部件。这实际上就是我们用软件做的事情。

如果有人似乎错误的想法,这可能是教育他们了解计算环境的复杂性,软件组件之间的相互关系,软件堆栈等的好时机。也可以这样做滑动并说:“谢谢!”