Talk:APL (programming language): Difference between revisions

Content deleted Content added
Line 104:
 
:The general purpose of structured programming is to organize the flow of control. The general purpose of array operations is to organize the data and provide specialized tools to work with it without needing explicit contol flow for the low-level element-by-element processing. But many, indeed most significant, APL programs still need to manage control flow. Classic APL did this by simulating the structured constructs in most cases. Modern APL generally incorporates versions of structured programming constructs, such as ":IF/:ElseIf/:Else/:EndIf", ":Repeat/:Until", and ":For/:In/:EndFor" and the like. [[User:DESiegel|DES]] 21:25, 24 May 2005 (UTC)
 
::While it is certainly true that lower-level languages can accomplish array operations -- with or without structured constructs -- I would not call those methods desirable, given that the problem admits of an easy array solution. Admittedly, not all problems are easily solved with array techniques. This situation usually derives from a poor, or inconvenient, data design.
 
::I am reminded of a student in one of my classes who insisted on solving the homework problems using classic structured techniques, even though I took pains to make sure that an "APL solution" was possible. Her programs worked, but were always much more lengthy than the solutions I was after. She never "got it"; she never learned to ''think'' in the higher plane of multi-dimensioned arrays.
 
::Since we are dragging out our credentials ;o) I was Chief Designer of an early (and little known) APL interpreter for an IBM system that was ultimately unsuccessful. Ours was the first interpreter to fully implement shared variables without any back-door hooks, and our design allowed general use of selection to the left of the assignment arrow. We were required to disable all but the "approved" indexing on the left, however.
--[[User:Dav4is|-R.]] 02:59, 2005 May 29 (UTC)
 
== Character set ==