18 个答案:
答案 0 :(得分:9)
还有Lua。请参阅eLua。
答案 1 :(得分:8)
FORTH长期以来在嵌入式系统中很受欢迎。我没有具体的经验,但它非常巧妙地设计,即使在困难的微控制器上,使用线程代码解释方法,在很小的空间内提供了很多功能。对于相当于翻译的人来说甚至相当快。很容易获得FORTH的开发环境,并且很容易将其移植到新系统中。
人们喜欢或讨厌它,因为它坚持你用反向抛光表示法编写代码(基本上它是一堆堆有预定义操作符的堆栈机器)。
答案 2 :(得分:6)
FORTH在小型机器上有优点,但有一点学习曲线。
FORTH有许多方面,其中任何一个或全部都可以用于嵌入式开发。
与FORTH斗争的部分原因是处理存在的二分法。
对于一个人来说,你们Z-80 FigForth线程解释器的小型原始FORTH在开发人员为他们提供的环境方面非常低级。它们肯定比汇编更高,但可以说(在某些情况下)比C。
例如,开箱即用,FORTH(这些小的,很多人用小CPU考虑的旧版本)不允许你分配动态内存,或做(简单)指针算法。它甚至没有“结构”作为语言概念。你基本上可以通过常量来玩偏移量。最初,你甚至不能做递归。可以说,它最大的限制是它没有真正的数据类型。它根本没有输入,所有数字都可能是也可能不是指向内存的指针,可能是也可能不是数据或字符或其他什么。
当然,与此同时,您可以使用汇编程序和编辑器等在RAM的8K范围内获得完整的系统。
所以,就这样,它是,是的,比汇编更高级别,但低于C。
但是(这是一个很大的但是......)
虽然它可能会从较低级别开始,但作为程序员,您可以将其提升到您满意的任何抽象级别 - 您可以将它放在您想要的范围内。
你想要结构吗?你想从一个堆到malloc?你想要一个对象系统?这些都可以在建筑基础上使用。
您希望在语言级别为您的基于ISAM的小型记录系统提供一流的支持吗?容易。
考虑Common Lisp。它最强大的两个功能是宏和Reader,它们让您有机会将任意文本转换为随后编译的代码。