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:
APL2000 - http://www.apl2000.com/
Dyalog APL - http://www.dyalog.com/
K - http://kx.com/
MicroAPL (APLx) - http://www.microapl.co.uk/APL/
Q - database language based on K - http://kx.com/Products/kdb+.php
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.
Learning and teaching J
Scan of Meeting Notes