On Mon, May 25, 2009 at 6:51 PM, Joey K Tuttle <[email protected]> wrote:
> ... I am curious what you mean when you say, "[I]
> probably will never write another original APL application. J's
> portability between Windows, Mac and PDA alone sees to that for me."
> Can you explain to me what you mean by that??

I'll try to explain, Joey, without taking too long I hope...

Ive written a lot of APL in my life. It started in 1973 with APLSV in
collaboration with IBM ASDD Mohansic (remember it?) and in recent
years has entailed originating and maintaining code in major
commercial products written in Dyalog APL and latterly in APL+Win --
and a lot of experience in porting code between the two. Code written
by people who didn't appreciate []ML<-3, or that the []AV's are
devastatingly different, and that the two sets don't overlap. Code
that needs frequent execution of B[a;b;c;d;e...]<-1, where B is a
massive Boolean and you have (a b c d e ...) as a vector, and don't
want to blow up the ws because the engine converts Boolean to 32-bit
under the cover to implement an indexed assignment... I could go on
and on.

This was back in the last century, and things may have gotten better
with APL since... but I doubt it's that better.

You could say I'm heavily invested in APL, from two of its leading
vendors, and not initially inclined to try new-fangled dialects. At
first J gave me the queazy feeling I had when, as an Algol programmer,
I first saw APL back in 1973.

Well, after less than 10 hours flying time with J, I was able to see
where an awful lot of nasty code could have been avoided. Code which
mopped up most of my work hours, not to mention the weekends preceding
each version release of my product.

Now I'm retired, but I still haven't given up developing products.
There's TABULA (Vector 20.4) I'm tarting up for the eco market. I'm
prototyping it in APL and was delighted when Dyalog shipped a version
running under Windows Mobile, because that I see as its main platform.
For the customer, I hasten to add -- not for me as developer, because
I don't do ships in bottles. I plan to develop on the Mac from now on
-- but Dyalog hasn't got a Mac version. Windows had made me my living
for the last 15 years, because it sure makes work for the working man
to do. But now that I'm working for myself, not on someone else's
time, I don't have to be bothered with its sheer nonsense.

Also I don't have a spare couple of grand to keep up with the latest
releases of Dyalog APL and APL+Win -- but that's not the key issue
because I could always find a customer to buy me the products I need.
No, the key issue for me is that I've written J code in Windows,
including GUI code, transferred the files to the Mac, also to my HP
iPAQ, an easy matter because they're ASCII txt files and it's just a
case of moving the dongle... and the app works First Time.

Now I have a lot of nostalgia for APL. It's a rare expertise -- not an
easy thing to walk away from. I still have APL code out there to
maintain for clients, so I won't say I'll never write another line of
APL. But for an original (ie not a heritage) application, J is going
to be my tool of choice.

Why? For 100 good reasons...
1. code portability, especially with GUI.
...The other 99 don't matter.

On the downside, I have to set-to and learn J in my grey hairs, which
I'm finding truly mind-bending. But on balance, life's too short to go
on battling with APL, under Windows.

Ian Clark, aka J Rabbit.


BTW who's seen 
http://en.wikipedia.org/wiki/Criticism_of_the_APL_programming_language
?
It would be better called "The Case Against APL" because like a good
counsel for the prosecution, the author carefully avoids saying
anything which could be construed in its favour. But it covers the
ground.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to