古詩詞大全網 - 古詩大全 - Forth語言的起源

Forth語言的起源

Forth 並不起源於其它已有的程序設計語言,所以它的外觀和內部特點對於新用戶來說是特殊的。但是 Forth 的簡單性、高度模塊化和交互式特性可以彌補初學者的陌生感,使得 Forth 非常易於學習和使用。壹個新的程序員通常需要花壹些時間來掌握 Forth 巨大的命令集,通過壹個月左右的全面使用,程序員就可以理解它的整個內部工作機理,所學到的東西要比傳統操作系統和編譯器多得多。

Forth 與傳統語言最大的不同是它的可擴展性。 Forth 的編程過程就是定義新的字,字實際上就是語言的新命令。字可以用壹系列以前定義的字來定義,這個過程與教育孩子的過程相似:我們總是用孩子們以前理解的概念來教給孩子們新的概念,而這些字被稱為“高級定義”。同樣,新的字也可以用匯編代碼定義,因為在多數 Forth 實現中都包括宿主處理器的匯編器,而這些字被稱為 CODE 字。

可擴展性的結果是我們在開發壹個應用的同時,也間接地開發了壹個特殊的、針對這壹類應用的“面向應用的語言”,它可以用於或者經過修改之後被用於相似的應用。

Forth 的可擴展性並不僅僅是為語言自身增加新的命令,所以不要把定義字與傳統高級語言定義函數、過程等同。可擴展性還能夠創建壹個可以定義其它字的字,這種字被稱為“定義字”。在創建這樣壹個定義字的時候,程序員能夠指定它所創建的字在編譯時間、運行時間或者這兩種狀態下的特殊行為。這個能力允許我們定義特殊的數據類型,並對其行為和結構實施完全的控制。又由於這種字的運行時間行為可以用高級語言或者匯編語言來定義,所以由定義字創建的字將具有與其它 Forth 字壹樣的性能。系統也允許我們增加壹個新的“編譯指示符”以實現特殊類型的循環或者其它的控制結構,比如CASE 結構。