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

Reply via email to