When I heard about APL, as a programmer, I had to find out how programs could be written in a language that doesn't need loops or conditional statements ( "IF" ),
so I wrote Conway's game of life in APL as an exercise. In procedural languages like "C", there are three nested loops and it takes a couple of pages of source code for "life". The resulting program is just one line of APL. To paraphrase Ken Iverson, the inventor, a computer should be told the rules of the game but not how to play it, that's the computer's job to figure out and that's the view I took. After that exercise, I started looking at problems in a different way even if programming in "C" or "FORTH", kind of looking sideways at a problem. I recommend learning these different types of languages just to get new ways to look at tasks. (It was a bit surprising for me to realize how I can get stuck in one way of solving problems and not considering many other ways at looking at them.) Another way to look at it is the APL "life" program is a description of the transform from the state of the screen to the next state according to the rules, it processes the entire screen in parallel. Programming in "PROLOG", "LISP", or even "AWK" ( which executes more "every line left to right at once", rather than "top to bottom") would no doubt lead to other ways of looking at problems. Ken Iverson is now involved in the language "J" (http://www.jsoftware.com/ ) which is an extended APL, but uses normal characters. Hoyt Stearns Scottsdale, Arizona US From: Eric Walker [mailto:eric.wal...@gmail.com] Sent: Wednesday, December 11, 2013 9:22 PM To: vortex-l@eskimo.com Subject: Re: [Vo]:In honor of the Hour of Code initiative On Tue, Dec 10, 2013 at 5:38 AM, Terry Blanton <hohlr...@gmail.com> wrote: A Programming Language (APL) has an interesting provenance: http://en.wikipedia.org/wiki/APL_(programming_language) Here is a simple function from the article that is part of an implementation of the common "life" program with the mutating lifeforms: life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵} This strikes me more as a mathematical notation than a statement in a modern programming language. Mathematica statements are much easier to read. I think there was a special keyboard that allowed you to input each of these characters. Eric --- This email is free from viruses and malware because avast! Antivirus protection is active. http://www.avast.com