What are the benefits of choosing APL over J if you do not know either to begin with?
Let's not mention the ascii vs non-ascii character set (that has been done to death by now!) or the cost, I want to know about comparisons of what you can practically do with them and how easy it is to do those things. Is there a particular algorithm that anybody knows that is significantly easier to write or which executes "better" in J than APL? I have never used APL but I gather from what I read that there are more inconsistencies in the language of APL compared to J, but that there are more libraries available for APL. On Tue, May 26, 2009 at 11:04 AM, Morten Kromberg <[email protected]> wrote: > Hi Ian! > > Your subject line caught my eye... ;-) And since you're posting old news > about Dyalog APL to the J Chat forum, I feel it is my duty to respond with > an update (not that I want to argue with your choice of J if it feels > comfortable for what you are doing): > >> J's portability between Windows, Mac and PDA alone sees to that for me. > > OK, we don't have a "native" Mac version, but Dyalog APL does run on a Mac > in a variety of different ways (Under Wine and various Virtual Machine > frameworks). The same GUI is available on most platforms, so I think that > your ability to produce good looking and portable user interfaces using this > route should be no worse than using J - and could be significantly better > depending on what you are trying to do. > >> Code written by people who didn't appreciate []ML<-3 > > OK, this DOES seem like an odd reason to switch to J ;-) (for those who do > now know, []ML<-3 puts Dyalog APL in "APL2 Compatibility Mode"). > >> []AV's are devastatingly different > > True, but now that APL has "gone Unicode", []AV is just an obsolete > 256-element character vector which is there in order to allow old code which > references it directly to continue working. Dyalog APL now probably has the > most complete (and "integrated") Unicode implementation of any array > language. Unlike in J (last time I looked), a Finn can just type: > > 'ä'='Säppäla' > 0 1 0 0 1 0 0 > >> Code that needs frequent execution of B[a;b;c;d;e...]<-1 (uses lots of > memory ... etc) > > These problems are now pretty much solved in Dyalog APL (SQUAD indexing has > been added to avoid the need for execute, and indexing has been rewritten to > be memory-efficient). > >> 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. > > A "non-commercial" Dyalog APL will set you back £50, and if you are only > doing a small amount of infrequent commercial work, you can pick the 2% > royalty agreement so that you have no up-front costs. > >> 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. > > Using text files to store APL code is becoming a common technique with > Dyalog APL too (and the system takes care of updating the script files when > you edit code while debugging - so you can do development both by editing > the scripts and using the system interactively). > >> 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. > > This reminds me of one of my favorite quotes: > > http://www.youtube.com/watch?v=VgGc9kruiLQ > > Well, I don't think it was *that* bad to begin with, but I am happy that > some of your most important complaints seem to have been resolved. We've > certainly been busy! > >> J is going to be my tool of choice. > > I'm not trying to argue with that, just needed to set the record straight > (as I see it ;-) regarding some of the things you state are "wrong" with > APL. > >> BTW who's seen > http://en.wikipedia.org/wiki/Criticism_of_the_APL_programming_language > > I'd better take a look at that ... :-) > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
