【发布时间】:2009-06-11 09:58:03
【问题描述】:
我需要编写一个非常轻量级的程序(试图低于 8Kb)来执行一些简单的数学运算。该语言还需要独立于平台。您认为哪种语言效果最好? (哦,不允许使用任何框架。)
【问题讨论】:
-
你的程序将如何运行?独立,在浏览器,命令行中?它会分发给用户还是在您的计算机上运行?
我需要编写一个非常轻量级的程序(试图低于 8Kb)来执行一些简单的数学运算。该语言还需要独立于平台。您认为哪种语言效果最好? (哦,不允许使用任何框架。)
【问题讨论】:
C.当然,您需要为每个平台单独编译,但除此之外,它非常轻巧,并且与平台无关(或多平台,无论您喜欢哪种表达方式)。
【讨论】:
该计划针对哪些平台?
到目前为止,我们有以下要求:
这里有一些问题:
我提出的问题将影响理想的选择。如果程序在运行时环境中必须为 8 KB,那么除了针对目标环境进行编译之外,确实没有太多选择。
如果目标是嵌入式设备或非 x86,那么选择可能会受到进一步限制。仍然可以使用诸如 Lua 之类的小型可嵌入语言(用 C 编写),但这需要相当长的“运行时间”来执行脚本。
如果交叉编译到目标是一种选择,那么用 C 编写程序并编译到每个目标平台可能会产生相当小的本机程序。
根据当前的要求,有几个问题需要解决才能提供一个好的综合答案。除此之外,可以做的最好的事情是对可能会或可能不会导致理想解决方案的选项进行头脑风暴。
【讨论】:
是否可以选择基于浏览器的 JavaScript?轻量级,可通过浏览器在几乎所有平台上运行。
【讨论】:
Lua 是跨平台的,重量极轻。
【讨论】:
Forth 呢?
【讨论】:
你在想pico之类的东西吗?
【讨论】:
c 或汇编(尽管您需要针对每个平台进行编译)
TCL 是一种跨平台的脚本语言(不确定它的轻量级)
我建议使用 Java,但 VM 可能会超出您的大小要求
【讨论】:
它基本上是一个夸张的计算器,但它是 25K 并且压缩到 12K。它还执行一些字符串操作、宏并运行外部进程。如果不自己写,你不会发现它更小。提供源和 win32 二进制文件。
【讨论】:
不知道你所说的框架是什么意思??
蟒蛇
为什么?
【讨论】:
来自 Mozzila 的 Bespin 是一个在线环境。因此,根据定义,它是独立于平台的。试试https://bespin.mozilla.com/
【讨论】:
甚至 C 也需要运行时。这个问题的唯一现实答案是 dc,甚至是执行脚本的自定义计算器,用 C 实现。(这样的计算器可能小于 dc,如果它不依赖于任意精度)。
【讨论】:
【讨论】: