香草是什么意思?

110

“Vanilla”这个形容词在很多地方都能见到: plain-vanilla java, vanilla javascript,那它究竟是什么意思呢?

从上下文来看,它似乎代表着某种“简单”的东西。

何时具体的代码被认为是“vanilla”,何时不是呢?是否像没有框架一样“纯净”?


12
简洁明了,就像“不使用”第三方库一样。 - user2864740
1
例如:使用原生JavaScript,而不是使用JQuery等库。 - Menno
1
那么,当我使用Struts和Spring时,这不是纯Java吗? - Question Everything
1
@QuestionEverything:正确 - Menno
1
@QuestionEverything 这些是第三方库,所以:不,不是“纯净”的Java。 - user2864740
5个回答

108
计算机软件,有时也包括与计算机相关的其他系统,如计算机硬件或算法,如果没有从其原始形式进行定制,则称为“香草”,这意味着它在没有应用任何自定义或更新的情况下使用。

http://en.wikipedia.org/wiki/Vanilla_software


9
这对于软件是正确的,但在与编程语言一起使用时,不完全匹配 ;) - Polygnome
1
在这个上下文中,“自定义”太泛泛了。我宁愿说:“香草指的是使用纯代码,没有第三方库或框架。” - Sam
很奇怪。我可以百分之百确定,35年前我在Commodore Amiga上编程时,VANILLAKEY指的是通过键位映射获取的(预)处理ASCII码,而不是RAWKEY码。因此,相反的是:Vanilla = 处理过的,而Raw = 原始的。 - Max

45

香草通常指纯净或朴素。所以在编程语言方面,它的意思是没有使用第三方库没有使用框架


1
这是针对Java的。我的回答涉及到编程语言的一般情况,并在语句前加上“通常”。 - Polygnome
1
在 JavaScript 的上下文中,'pure JS' 仍然是正确的,通常指的是 '没有 JQuery / Prototype / <插入你喜欢的框架>',而 'vanilla' 通常也指环境,例如 Rhino 或其他。 - Polygnome
2
仅限于几种语言来限制这个问题是一个错误。 - Chuck Le Butt

30

它源于冰激凌的各种口味中,香草口味是最常见、简单甚至可能是唯一可用的。其他口味更为罕见和奇特。

在编程术语中,它不指代任何具体事物,但涵盖以下所有或部分内容:

  • 没有花哨的东西
  • 没有额外(可能是不必要的)功能
  • 不使用外部库
  • 是纯粹的语言,没有任何额外的内容

尽管“香草”在冰激凌方面可能被视为无聊,但在编程中很少带有贬义意味。


0

我知道这是一个非常古老的帖子,但为了后世留存。简单来说,Vanilla是指未经修改的原始、未改变的、普通的事物形式。例如:vanilla js表示没有像react、jquery等框架那样的javascript,而vanilla sql表示没有像laravel eloquent这样的orm的sql。


除了在AmigaOS/Intuition上,那里的VANILLAKEY代码是根据键盘发出的RAWKEY代码按照键位映射获得的“熟制”ASCII代码。 - Max

-4
在计算机科学中,“vanilla”是一个术语,用于指代计算机软件以及有时也包括其他与计算机相关的系统,如计算机硬件或算法,它们没有经过任何定制或更新,即使用它们的原始形式。(维基百科)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接