Business Services Industry
J: The Natural Language for Analytic Computing
North American Actuarial Journal, Oct 2003 by Schott, Brian M
Norman Thomson. J: The Natural Language for Analytic Computing, Research Studies Press, England, 277+ pages, $96.00.
J is a general-purpose computer programming language. It is built upon the shoulders of the premier array programming language APL, created by Kenneth Iverson, who is also the architect of J. Since the invention of APL, actuaries have demonstrated its practicality; as of yet, few actuaries have discovered its descendent, J. Thomson's assessment states that J is "the natural language for analytic computing," and his complete enthusiasm for J is consistent with mine, especially for actuarial professionals.
As Thomson portrays it, a singular feature of J is its succinctness relative to alternative programming languages and its cogency in expressing analytical notions. An especially novel feature is the "train" notation of J, which encourages "bident" and "trident" function composition called "hooks" and "forks," respectively. Forks are characterized by functional triads: the mean can be computed as a fork as follows; the first of the two expressions below is conceptual code and the second is literal J.
(get_the_sum_of_the_data) / (get_the_data_count)
+/ % #
Furthermore, notice that in the case of the mean fork, each of the three functions is only one or two keystrokes. All keystrokes used in J are on every keyboard (which is not true of APL), so that J programs are widely shared and discussed through email on its active users forum. Also, J has been developed and distributed for Windows, Unix, MacOS X, and Pocket PCs.
CONTENTS
The contents of Thomson's book are in four parts: 1) Basic J (66 pages), 2) Advanced J (54 pages), 3) Data Processing with J (59 pages), and 4) Mathematics with J (78 pages).
The book is NOT meant to be a self-contained guide to all of J's rules and features, but is meant to supplement the many resources supplied with the program J that is able to be downloaded. In the first two parts of his book, Thomson clarifies many strengths and nuances of J in a casual, lucid manner, which is sometimes missing in the supplied resources. Thomson's organization and synthesis is distinct from these resources, which makes the book both intriguing and valuable.
Thomson also discusses the philosophy of J and the language's syntax, touching on its semantics. J is distributed with the J Dictionary, which contains great detail concerning its plethora of features, in terms usually reserved for natural language parts of speech. For example, consider the correspondence between J terminology and common computer terminology suggested next:
verb: function
noun: data
adverb: operator or macro
conjunction: function/data "glue"
gerund: (etc.)
The approximately 170 pages of the J Dictionary are very brief. Thomson dramatically clarifies several complex primitives and concepts, within the first half of his book. His excellent gift of simplifying and generalizing is evident, especially when this book is used in conjunction with the J Dictionary.
J program code can be exercised in two modes, either by typing code at the keyboard or by saving code in "script" (i.e., text) files, and later, executing the file. Polished applications, which accept instructions from dialog window fields and buttons, can be developed, too. Thomson's code, especially in the first part of the book, is so concise that keyboard code entry is used almost exclusively.
Most J verbs, adverbs, and conjunctions can be created either as tacit or explicit definitions. Tacit definitions contain no explicit arguments, whereas, explicit definitions do.
add6Tacit =: 6&+
add6Explicit =: verb : '6 + y.'
Explicit definitions, while not as aesthetically pleasing to most programmers as are tacit ones, can always be constructed. They have more features, such as control structures (if-then, while, break, and so on), and they accept multiple line definitions. Furthermore, the syntax of the body of explicit definitions follows almost exactly the syntax one uses when using J as a calculator. Each line entered at the keyboard is parsed and executed. Likely due to their elegance and subtlety, tacit definitions are emphasized in the first part of the book and are widely employed in the other parts.
In the second part of the book, features available only in explicit definitions are discussed, along with some more advanced tacit features, mostly regarding some built-in - that is, "primitive" - J conjunctions.
The title of Part 3, "Data Processing with J," is somewhat misleading in the corporate setting of a data processing department. While chapters in earlier parts of the book are mostly organized around J primitives and classes of primitives, the chapters in Part 3 cover a generic programming task commonly applied in analytic computing, and describe widely used idioms, utilities, and notable language extensions of J.
Part 4 is entitled "Mathematics with J." The following chapters in part 4 are especially relevant to actuaries:
* Series-arithmetic and geometric series, mortgage repayments, and recursion. Calculus and the D adverb-derivative and the Newton-Raphson method.
Most Recent Business Articles
- How do I determine my retainer fee?
- Why fly solo when an executive assistant can accelerate your CLNC® business?
- The CLNC® mentors held the key to my first case and to my CLNC® success
- Atlanta CLNC® 6-day certification seminar photo galleryplus sign up today for spring 2009 to save $100.00
- Speak to a full-time practicing CLNC® consultant
Most Recent Business Publications
Most Popular Business Articles
- Using object-oriented analysis and design over traditional structured analysis and design
- Big Fish Games Migrates Upstream to Fisher Plaza; High Growth Online Gaming Firm Vaults Fisher Plaza Occupancy Rate Above 90%
- Top of the line: some of the world's most well-respected doctors practice in South Florida. A guide to choosing the best physician specialists - Top Doctors in South Florida
- Sand filter basics: high-rate sand filters can be confusing for those new to the business. Understanding valve modes is the key
- BEHR Paints Introduces a Colorful New Way to Paint and Prime All in One with BEHR Premium Plus Ultra™ Interior
Most Popular Business Publications
Content provided in partnership with http://findarticles.com/source//

