2008年6月21日 星期六

ATLAST 和 FICL

=== 2008/06/22 ===

之前從我產品的觀點比較了 ATLAST 和其他 scripting language 的優劣。那些優點並不是 ATLAST 獨有,大多數的 FORTH 都有那樣的特點。

在此我想比較 ATLAST 和另一個類似的 FORTH :FICL。

我喜歡 ATLAST 的原因:
  1. 原始程式只有一個檔案。讓我覺得它十分簡單容易理解。
  2. 因為它是 John Walker 的作品。
  3. 它為 Public Domain,代表我可以為所欲為。
  4. 在字串上直接用 c 的字串,因此使用 c 的能更易學會。
  5. 沒有雙精度和單精度整數的區別。概念簡單。
但是 FICL 有很多優點:
  1. 是完整的 ANS FORTH。
  2. 允許多個 vm 。
  3. 使用 switching threaded 架構,若我要,容易改以 Eiffel 實現。
  4. Reentrant。
  5. 浮點有自己的堆疊。因此不會如 ATLAST 般使用 .s 時無法區分浮點和整數。
  6. 浮點有自己的堆疊,所以,若以後要以 Eiffel 實現會容易些。也不會有堆疊上浮點數 alignment 不良造成效率差的問題。
認真考慮後,我覺得 ATLAST 比較合乎我的需求:更接近 C 的概念,更容易為 C 語言的使用都接受。