----------------------------
"aleph0" <apl68000@[EMAIL PROTECTED]
> wrote in message
news:b0ca6d08-c2bd-4f21-85da-b9e085889586@[EMAIL PROTECTED]
> I've trained many people in APL and had many surprises.
> If I had to generalise, I'd have to say that those that CAN see the
> wood for the trees are generally good at APL; i.e. solution oriented.
>
> As a result, many business professionals take to APL like a duck to
> water ; because they "see" the solution rather than a problem ;-)
>
> I've had a researcher that proudly send me his "Aids Research" - done
> mainly using APL. An ****p-Building Engineer that used to use Fortran
> took up APL and never looked back.
>
> OTOH, one particular assembler programmer never managed to write a
> single line of APL code properly within 1 year , whereas another
> assembler programmer loved APL.
>
> In fact. I actually heard about APL pre 1970 from a swedish IBM friend
> of mine who was enthusing about it. He used it to create a Macro
> Assembler for the 370 mainframe OS at the time ( VS 2.2 ) in south
> England.
>
> I see APL as a sort of high level assembler language.
> As in Assembler, you have bascially complete freedom to so what you
> want in memory .. same goes for APL!
----
I think C and its derivatives are "high level assembler languages" as they
still deal with some of the bit pu****ng aspects. APL is at a higher level
than that in that it handles, the higher level bit pu****ng that really is
of no concern to the person trying to solve a problem. An example is that
C
(as well as many other languages) requires user defined integer, boolean
or
floating data while APL handles these things in context -much as one would
do when doing things with pencil and paper.
I first ran into APL in the later IBM360(370?)days. In fact, I think it
was
Ted Edwards who introduced me to it. Compared to MAD (an advanced version
of
Fortran at the university of Michigan in 1960, Fortran and Basic in those
days, it was a delight. At later times I tried Pascal and C++. Again APL
was a delight. Sure some "esoteric" symbols and notation were used but to
me
the advantage of APL was that the transition from problem to be solved- to
the actual solution was much easier and straight-forward without a lot of
worrying about the details of the program structure-e.g. defining
variable
types or deciding what libraries to attach, etc. Something could be
completed before the alternative (and often highly bloated) programs
could
be debugged.
APL's main fault was that those in charge of groups doing program design
for
a company, realized that they were likely to lose their empires(fewer
people
required and faster turnaround) because use of APL got the necessary job
done with fewer man hours and less code required of the programmer because
the idiot box could handle the specific code.
To the non-Computer science oriented user this is a blessing. When I first
tried to write a power system load flow problem- APL resulted in an 11
line
program (excluding comments) which manipulated the data, solved the matrix
involved and iterated as necessary, then printed the result. In Turbo
Basic,
this took 3 pages of programming which included a Gauss reduction matrix
solution process which I had to write because I didn't have a canned
version. There was a big difference to me, as the person trying to solve
the
problem, between that and a "box-divide".
In particular< APL allows "FOO" programs where one can try "what if"
alternatives without a major programming effort.
The major problem was its interpreter status -which often wasn't a
problem.
If an compiler was needed - the old Borland Turbo Basic also outperformed
many of the favourite alternatives.
I lied- there is a second problem - inadequate commenting and the tendency
to write one- line programs (showing prowess??) leading to a high level of
incomprehenibility for even the original programmer after a few months-
which is not the fault of the language.
Just a long winded opinion by an old fart who likes APL because it gets
what
I want done -NOW!
--
Don Kelly dhky@[EMAIL PROTECTED]
the X to answer


|