在Joel Spolsky's blog上,我经常读到一些关于“芥末”的内容,如果我查看维基百科,它会提到it's an in-house programming language。
这是什么?他们为什么要用它?为什么不公开?
答案 0 :(得分:13)
我会从The Origin of Wasabi开始:
作为主要开发者和 芥末的维护者,我想 写了一系列关于芥末的文章 一段时间,上周,我决定了 和Joel谈谈这件事。今天我 将以短暂的历史开始 语言,后来我会说 关于它的一些较冷的功能和 我们想把它带进去的地方 将来
答案 1 :(得分:3)
以下是2013年的最新更新:
一开始,有蓟。蓟充其量只是一种荣耀 将ASP转换为PHP的正则表达式。它是由实习生写的,它 显示。
后来,Thistle被扩展为ASP到PHP编译器。编译器 仍然是一个松散的术语;还有很多正则表达式魔法 依赖于您遵循匈牙利应用程序表示法。那就是说,我很公平 确信这个版本的Thistle确实为代码构建了一个AST 生成,这意味着它有资格成为真正的编译器。
这很重要,因为这个版本的Thistle延伸了两个 附加功能:它可以将VBScript编译为JavaScript,以及它 为VBScript添加了一些便利,例如宏(称为picture functions(不要问)),lambda和简化 申报制度。不要对前者笑太多;动机 与RJS或Seaside的JavaScript支持相同。所有这三个 现在,技术已经死了,而且有充分的理由, 时间。
后来,当.NET问世,而VBScript已经过时,那就离开了我们 可以选择重写整个事物......或者做一个“真实的” 可以将VBScript编译为.NET的编译器。芥末出生了。芥末 被编写为可以将VBScript转换为C#的正确编译器 和(由于遗留原因;见上文)JavaScript。芥末,不像 蓟,是一个真正的,完整的编译器,在CS意义上,所以它是 可以添加类型推断,lambda表达式和其他几个 细节,不花太多精力。那说,这里的目标 是允许过渡:有限制的新组件可能是 用C#编写。这个想法是,至少希望,Wasabi会 逐渐被弃用。
所以没有。它从来就不是一种新语言。它一直是有意的 成为踏脚石,语言之间的翻译,而不是真实的翻译 语言本身。虽然它获得了一些额外的功能,但那是 使该死的东西变得可口 - 不是真正的语言 在自己的权利。发送C#和.NET IL实际上是大致相同的 如果你有一个真正的编译器很容易,但Wasabi总是发出C#, 特别是这样我们有一天可能会抛弃整个事情。
答案 2 :(得分:2)
它是Fog Creek制作和使用的语言。它基于VBScript。