APL2, APL2000, Dyalog, J, K, MicroAPL, Q, compare, information visualization, graphics, application
Location::Heartland Brewery, 34th and 5th, NYC
We compared different APLs, talked about what happened at the BAPLA'09 conference last month, spent a little time on some issues of visualization tools, and looked at a software application competition in New York City which makes available some interesting data and may provide a venue for emphasizing strengths of J.
Agenda for NYCJUG of 20090714
1. Beginner's regatta: what are the strengths and weaknesses of different APLs: APL2, APL2000, Dyalog, J, K, MicroAPL, Q, others? See "Comparison of Different APLs.doc". 2. Show-and-tell: BAPLA'09 conference report: see "Notes from BAPLA09.doc". 3. Advanced topics: information visualization for statistical graphics: see Wainer, "Image-Based Vegetation Rendering.doc", "Judging correlation from scatterplots and parallel coordinate plots.doc", "IEEEInfoVisContest2007.doc", and "Visualization of human development data by using Hierarchical Clustering.doc" Google charts - http://code.google.com/apis/chart/types.html#bar_charts Chartle - simple and interactive charts online - http://www.chartle.net/ Amcharts - Flash-based - http://www.amcharts.com/ 4. Learning, teaching and promoting J: YouTube videos - how to do them? Public profile - see "NYC Big Apps.doc".
We compared obvious features of the many different APLs available today. We'll see about filling out a grid of features on which someone can compare them. There were also a couple we only remembered at the meeting so we'll have to dig up information on them as well.
APLs under consideration:
1. APL2 - http://www-01.ibm.com/software/awdtools/apl/ 2. APL2000 - http://www.apl2000.com/ 3. Dyalog APL - http://www.dyalog.com/ 4. J - http://www.jsoftware.com/ 5. K - http://kx.com/ 6. MicroAPL (APLx) - http://www.microapl.co.uk/APL/ 7. Q - database language based on K - http://kx.com/Products/kdb+.php 8. Others?
BAPLA'09 conference report - videos of talks are available at http://www.bapla09.com/videos.html .
There were a number of thought-provoking talks and a sense of dialog as successive speakers referred to the talks that had gone before. Since the conference was single-tracked, everyone got to hear all the talks. Briefly, these were:
- Morten Kromberg spoke on various features of Dyalog APL including a demonstration of its integration into a C# (dot Net) environment, various editor and data import capabilities, and some work they've done on a parallel version of "each" - called "peach" - that is a able to parcel out work to multiple cores.
- Bob Smith demonstrated work he's been doing on a 64-bit open-source APL called "NARS" (descended from STSC's Nested Arrays System) into which he's incorporating ideas from various dialects. One problem with this was evident in that he allows both a settable index origin and indexing with negative numbers (to select from the end of an array) as J does; however, the settable origin confuses the meaning of indexing with negative one - in J, because index origin is fixed, this unambiguously refers to the last element of an array. There was considerable discussion about how to specify local versus global variables.
Bob had a good quote about computer people seem to embrace the notion "Do not let your attempt to finish your task interfere with your study of computers."
- Simon Marsden showed how to interface to the R programming language from APLx; he had a good point about using the extensive statistical libraries of R rather than re-inventing them in an APL.
- I gave my talk on the state of SIGAPL - this was an obituary - and some musings on J. As I was giving the talk, I realized I had far too much material and there were two or three talks trying to break out of this one. I've since extracted one of these - the idea of re-framing the argument about terseness versus verbosity to emphasis the often-overlooked strengths of a terse notation - and presented it at the August NYCJUG meeting.
- Stephen Taylor also had some good ideas about emphasizing the strengths of our favorite family of programming languages by aligning with the "Direct Development" movement - see http://www.rhinocerus.net/forum/lang-apl/583229-direct-development.html - to streamline software development. He showed some work he's been doing with XML to make it more easily usable with APL and take advantage of XML's data handling capability.
- Sonia Beekman talked about APL2000 and work they've been doing to integrate it into the dotNet environment. This allows one to use APL to provide web services. They have a very fully developed offering in this area.
- Kai Jaeger showed how to integrate APL into a slideshow presentation, allowing one to test the APL expressions one has in such a presentation. He also promoted the APL Wiki as a good tool for the whole community.
- Roger Hui related some work he's been doing the Dyalog people, using some ideas from J to improve the performance of their implementation of inner product.
- Simon Garland explained how enormously data volumes have grown in recent years and provided an impressive live demo of using Kx's Q language to quickly extract selected information from an enormous amount of it.
The banquet that night was very entertaining and treated us to a comedy act with an interesting mathematical problem we were discussing the next day.
- Ajay Askoolum demonstrated using APL+Win in a web-integrated environment for LINQ - Language-Integrated Queries.
- Richard Nabavi showed off the latest version of APLx which has some nice profiling tools as well as workspace comparison utilities. This APL has a quad-XML system function, developed in conjunction with Dyalog, for handling XML. APLx also has a handy data browser - a feature others would do well to implemnent.
- Gitte Christensen gave us ammunition for promoting APL in the context of Agile Development which has been gaining currency of late.
- Dr. Beau Webber showed us a number of tools he's built in APL over the years to help with scientific research. He had a very impressive collection of interfaces to display results of experiments in atomic physics.
- Ziggi had an inspiring story about using APL to develop a successful internet-based educational company in a very short time.
- Gilgamesh Athoraya had a fun gadget in which he uses a data-phone sensor with GPS capabilities, programmed in Dyalog's Pocket PC APL, to record location information and display it in conjunction with mapping software to compile a record of where he's been.
- Catherine Lathwell updated us on her progress with her film about APL and showed us a little footage she's shot so far.
- Phil Last demonstrated some APL functions on a database he could control using dotNet code.
- Graeme Robertson presented the "Reduce" programming language and showed us some application to string theory and algebraic programming. He also had a physical model of a shape he's attempting to describe mathematically and offered a prize to anyone who could do so.