很久以前,我记得我认为 Forth 编程语言非常酷。这些年我真的没有听到任何关于它的消息。Forth 还在使用吗?如果是这样,它用于什么类型的应用程序?
13 回答
Apple 和 Sun 等人仍在使用它 - 请查看http://en.wikipedia.org/wiki/Open_Firmware。
发明人查克·摩尔(Chuck Moore)使用了一种叫做颜色的方言。他正在进行一些有趣的项目:
http://colorforth.com/haypress.htm Haypress Creek 超级计算机。它有9个S40多计算机芯片,每个芯片有40个c18计算机。总共 360 台计算机以 700 Mips 或 250 Gips 运行。每个芯片有 3 个 A/D 和 3 个 D/A。共27个。
http://greenarraychips.com/ 他的硬件公司
Eserv - 适用于 Windows 的流行邮件、Web 和代理服务器 - 用 FORTH(SP-Forth 方言)编写。在数千个生产基地大约 15 年。
nnCron - 最强大的 Windows 调度程序 - 也是用 SP-Forth 编写的。
www.eserv.ru、spf.sourceforge.net、nncron.ru
您可以查看一些 NASA 成员使用的 Forth 网页的 [已存档] Space-Related Applications 。不确定该列表的最新情况……</p>
最新更新是 2009 年 12 月 29 日。这似乎是确定的。有人在使用它。
您可以要求提供客户名单。那会告诉你是谁。你可以问他们如何以及在哪里。
我在 MSP430 和 ATMega 部件上使用它。我自己写的。这很容易,而且不需要任何费用。如果有错误,我会快速调试。你在键盘上测试。它的速度很快,因为它有点像宏观层面的汇编。而且很小,你总是可以把它变小。C 可以,但是一个好的编译器要花真钱,而且很传统。编辑编译下载。你不会在 Forth 中那样做……我称之为 Forth-Like。它不符合 Forth 标准,但是任何知道的人都可以阅读我的代码。
我至少知道我工作的公司的用途。我们使用的所有东西都在嵌入式系统上,用于控制科学仪器。
这是您将看到大多数方面的主要区别的地方。MPE 或 flashforth 等嵌入式应用将倾向于使用协作式循环多任务处理。这对实时系统很有用,因为它非常防弹。
另一方面,桌面版倾向于使用操作系统的多任务系统,它很棒,但使得从一种版的代码很难移植到另一种版。这可能是它在桌面环境中失宠的主要原因之一,它曾经在 MacFORTH 中非常流行。
我还听说其他项目,如 JET - 联合欧洲环面 - 使用正在运行的诊断程序,所以至少在我工作的公司以外的其他公司使用。
Forth 的一个很好的用途是作为系统的远程接口: (A) 是一个轻量级的嵌入式系统,不适合运行诸如 Linux 之类的操作系统;(B) 需要在现场可远程控制/可编程/可编写脚本;(C) 远程交互具有高延迟特性(由于传输等)。
你在哪里问?MpeForth。这是一家位于英国的公司。Thier VFXforth(forth 的另一种方言)主要用于嵌入式解决方案。转到此页面关于 MPE。向下滚动并查看部分客户列表。
是的,Forth 确实“仍在使用”。我们刚刚发布了 8th 的 1.2.0 版本,这是我们安全的跨平台 Forth 衍生语言。它有一个小但不断增长的用户群。
除了我们的之外,至少还有另外两个商业 Forth:SwiftForth 和 MPE Forth。还有许多免费的 Forth。
IBM、Apple 和 Sun 仍在使用 Forth。它用于设备驱动程序,特别是在操作系统启动期间使用。
FORTH 在微控制器上非常有用,因为它使用的内存非常少,速度快,并且比汇编更容易编码,甚至是交互式的。Arduino 有更多的实现,例如AmForth。