Introduction

J 是一個跨平台多功能的程式語言。儘管其架構精簡,熟悉數學觀念與數學符號者很容易上手,但是它的獨特風格對一般習於傳統程式語言者可能有些學習上的困難。

本介紹的目的,以適當的方式介紹 J ,讓一般程式人員易於上手,方式是強調其異於他種語言的方面。 包括:

1.   基本單字以簡單易記的1或2個字元拼成。

2.   函數間沒有執行順序的優先等級。

3.   系統性地使用雙價 函數,如同算數的減號, 當使用雙引數時代表一種函數(以 - 為例減去 ) ,使用單引數 時為另一種函數( 以 - 為例負號 )。

4.     J 的文法用語採用英語文法的用語,較數學或一般程式語言更具一般性。 因此,函數類似相加也稱作動詞 (因為其動作),而修飾動詞 (一般程式語言所沒有的功能) 的東西就稱作副詞.

5.   系統性地使用副詞與連接詞來修飾動詞,只需要較少的動詞就能夠提供更多的操作。 例如, +/a 代表數列 a原子的加總, */a 代表數列 a 原子的連乘, a */ b 得到 a b 兩數列的相乘表。

6.   將向量、矩陣與其他陣列一視同仁地處理。

7.   使用泛函 ,或稱 tacit 程式寫法,定義函數 (程式)不需指定所需的引數;使用指定指令給函數命名(例如, sum=:+/ mean=:sum % #)。

以下各節為擷取自實際的 J sessions, 附加的註釋應該在讀完相關的 session (與上機實習相關題材)之後才參考。閱讀這些章節應該配合著使用 J 系統與查閱字典,並試著作習題。 性急的讀者可以直接參閱範例主題。


下個前個字彙索引主選單