现代语言,可以编译成DLL,并可以在Linux Web服务器后端使用?

我计划编写一个具有以下先决条件的程序:

  1. 必须能够被编译为DLL,才能够从Excel工作簿中运行function(遗留兼容性)
  2. 随着现代化,高水平化,快速化发展,
  3. 必须能够在Linux Web服务器后端调用相同的函数(前端将用Javascript编写)。
  4. 编译器必须像啤酒一样免费。

有没有符合这三个要求的语言? 我曾看过:

  • Python:做2)和3),但没有好的解决scheme1)。 在http://code.google.com/p/shedskin/上有一个从Python到C ++的翻译器,但它是实验性的。
  • C + +:做1)但不是2),并不是真正理想的3)。
  • C#:做1)和2),但不是3)据我所知。

我知道如何从Excel中运行一个exe文件,所以我可以这样解决,但一个DLL会是一个更好的解决scheme有两个原因:

  1. 我可以直接调用方法,而不需要通过命令行
  2. 我的用户更可能是怀疑如果我包含一个.exe文件与应用程序比如果我包含一个.dll文件。 (我知道没有真正的区别,但我的用户没有。)

谢谢!

C#:做1)和2),但不是3)据我所知。

Mono (非微软的,开源的,跨平台的CLI实现)可以在linux上运行,并且可以用于Web服务器。