On May 11, 3:55 pm, "Poli...@[EMAIL PROTECTED]
" <Poli...@[EMAIL PROTECTED]
> wrote:
> I got caught up in this conversation when it was discussing typing.
> So here is my two cents.
> Typing verse nonTyping- These are details among many more that the
> computer scientist in-training needs to understand. Wait a minute,
> one of APL/J strengths is problem solving,. In problem solving I
> really don=92t want such details getting in the way. Certainly there
> are system developers and advanced application developers that need to
> consider such items. But there is a much larger group of APL folk who
> do not need or wish to care. I think we need to be aware of the
> stages of APL usage. They are,
>
> Stage 1. Learning about the language and its strengths.
> This involves learning to think in terms of collections of data,
> ARRAYS, and their sup****ting functions and operators. The array
> orientation with its sup****ting functions and operators in APL is one
> of its strengths. It is what needs to be promoted. In this stage
> there needs to be drills and exercises to gain familiarity with array
> thinking, sup****ting functions and operators, the symbols, the
> keyboard, and the nature of programming in APL.
>
> Stage 2. Simple Individual Problem Solving
> Here one gains confidence in the language solving his problems.
> Usually it is the interactiveness that comes to the fore. For
> example, balancing ones checkbook, slicing through arrays in a variety
> of ways, rearranging, partitioning, or sorting data, reading and
> writing files are all such things that are doable in a self contained
> APL environment. However, as the APL person becomes more confident in
> the language he will explore the surrounding APL system that provides
> an entrance to the nonAPL world.
>
> Stage 3. Prototyping
> At this point the APL user initiates the development of serious
> applications. This will occur with customers to determine what is
> desired. Often the customer may know only generally what he wants,
> hence prototyping. This still may not involve the use of nonAPL
> facilities. Often the prototype morphs into a full blown application.
>
> Stage 4. Application Development
> At this stage of the use of APL, there is a need to interact
with =
the
> non-APL world with its COM, DLL, OLE, API, etc. Performance could
> become an issue. Looking for good outside techniques comes into
> play. (See System Design with APL+ WIN) Only at this point could
> computer science issues such as typing become a concern.
>
> Now most of us wish to come to the last two stages because now
we =
can
> earn some money. I have spent my time in stages 1 and 2 though I must
> confess I have an income doing APL education. Nonetheless I admire
> and respect those who are developing applications.
>
> Stage 5 Retirement
> An APLer never retires. Actuarially I meant that humorously but
w=
hat
> happens to the applications. Back in 1993 someone came to me
> concerned about an APL application running satisfactorily in
> manufacturing. They were concerned about maintaining it since the
> creators had moved or retired . When I asked how long it had been
> running, they replied since 1979. What could I say. Has anyone seen
> that sort of situation?
> I=92m sure that there will be an overlap in these stages.
However=
, I
> feel strongly that getting a firm grounding in the APL language is
> essential. Otherwise it=92s likely to morph into a C+, Fortran, VB
> sequential form. One of the fascinating things about the APL language
> is you keep coming upon new ways to accomplish things. Through the
> years there hardly has been a time when I haven=92t been surprised or
> excited about something that I uncovered using APL. That=92s what makes
> it fun, too. You are getting the point of view of a guy who has spent
> years training people in APL. Throughout my many classes I have never
> really had any questions or comments about computer science related
> items such as strong typing, etc. One of the reasons, of course, is
> that I have always had very few programmers in the classes. No, the
> students have been people who have had a problem to solve; engineers,
> planners, sales folk, people from the manufacturing floor.
> Some one earlier said that we should campaign to have APL taught in
> the schools- high school or college. I make a more modest
> suggestion. It would be nice to have it demonstrated and used for a
> week or so, illustrating the solution of some actual problems.
> Perhaps the nicely done paper in Vector by Bernard Legrand , =93APL =96
A
> Glimpse of Heaven=94 could make a fine guide for a short introduction to
> APL. Unfortunately there is a bias against APL which is unique to
> it. Why, I=92m not sure. Maybe if we knew, we might be better able to
> counter it. I once was asked to teach a programming class at my local
> high school but with one stipulation- they said don=92t use APL. I
> refused. In my forthcoming APL class in July to engineers again, I
> will also have a high school senior present. I am going to pay
> special attention to him; how he accepts the language and what he
> thinks of it
> APL is such fun to use that we tend to be condescending and snobby.
> This may very well contribute to the bias. It certainly is irritating
> to the IT folk and especially to other programmers. Maybe we should
> be asking them to join us in having fun. Have you ever encountered
> this comment =96=93Oh, is APL still used?=94 In response to that I
would
> suggest that the APLWIKI collect companies and organizations that use
> one of the available APLs on the market today along with how they are
> using it.
> I feel that the best introduction to APL is by =93doing it=94. I have
> been collecting exercises and problems that can be given to those who
> have been through the above stage one. I would welcome more,
> especially those that illustrate the unique features of APL. In that
> vein, I have been submitting problems and exercises to Quote Quad.
> Check the last three issues.
> While I am not conversant with J and other array oriented languages, I
> feel much of what I have said can be said of J too. Ray Polivka
Ray Polivka wrote:
> I feel that the best introduction to APL is by =93doing it=94. I have
> been collecting exercises and problems that can be given to those
who
> have been through the above stage one. I would welcome more,
> especially those that illustrate the unique features of APL. In
that
> vein, I have been submitting problems and exercises to Quote Quad.
> Check the last three issues.
Try a few of the problems in the J wiki, esp.
http://www.jsoftware.com/jwiki/Essays
. For example, from
http://www.jsoftware.com/jwiki/Essays/Sorting_versus_Grading
If you have sort, how do you get grade? And vice versa.
Would you mind posting the Quote-Quad problems and exercises here?


|