2014 has been another year of increasing activity for everyone at Dyalog Ltd! One of the encouraging trends that we have noticed is that array language user meetings seem to be on the rise. In addition to the monthly BAA London meetings, which we try to attend regularly, members of the team have participated in three APL User Meetings in Europe this spring: SwedAPL in Stockholm and the FinnAPL Forest Seminar in April, and APL Germany in Stuttgart in May (all of these groups meeting twice a year). July was incredibly hectic – in addition to hosting our own seminar for Dyalog users in New York, we dispatched delegations to Iverson College in Cambridge, UK, and the J Conference in Toronto, Canada.
Many of our presentations at these meetings have focused on one of the most exciting new language features of version 14.0, futures and isolates. These aim to put the power of parallel hardware at the fingertips of both expert and novice users by making it easy to make asynchronous function calls.
Version 14.0 is the most significant new release since v11.0 added support for object-oriented programming. It has been available on all supported platforms (Microsoft Windows, IBM AIX, Intel and ARM Linux) since June 30th. Highlights of version 14.0 include:
- Performance enhancements in the language engine; early adopters have reported speed-ups of 10-30% without application code changes.
- File system speed-ups and functional enhancements, including the ability to automatically compress file components and read several components in a single operation.
- Several new primitive language features, including the operators rank and key, the function tally, and function trains (similar to those in the J language). Many of these enhancements have the potential to further enhance application throughput (and simplify your code)!
- New APL language constructs designed to make it straightforward to use distribute computation across multiple processors without relying on locks or semaphores for synchronisation (futures and isolates).
- An experimental compiler that can reduce interpreter overhead of small utility functions.
- Data Binding with Microsoft .NET components allows APL applications to share data in real time with WPF GUI components and other tools that support data binding.
- An interface to the R framework for statistical computing.
New Platforms, and the Remote IDE
It is our intention to add support for several new platforms. If all goes according to plan, then version 14.1 will add official support for MAC OSX in Q1 of 2015 (contact us if you would like to help us test the new platform in Q4). Android is probably next, and we are also looking at iOS and “Windows Modern”. A key component of the plan is to provide a new graphical development environment, the Remote Integrated Development Environment (RIDE), that will provide consistent functionality on all platforms. One of the main features of the RIDE is that you can run the RIDE and your APL engine on different machines. For example, you will be able to use a Windows-based RIDE to develop and maintain applications running under AIX and Linux – or on remote or inaccessible Windows Servers.
New Web Site and Social Media Channels
On the same day that v14.0 was released, we launched a completely reworked website. If you want to read more about version 14.0 and download the 500+ pages of related documentation and tutorials, then please visit http://www.dyalog.com. The site includes a blog, which will have frequent contributions from members of our development team, many of them involving Raspberry Pi-driven robots. We also launched active presences on Twitter, Facebook and LinkedIn, in addition to our own forums at http://forums.dyalog.com. We hope that these new initiatives will make it much easier to stay informed about our activities and both new and old functionality of our products. Please follow Dyalog on one or more of these channels to receive regular updates from us – none of the resources require you to have a licence for any of our products.
Another successful Annual Programming Contest
This year, http://studentcompetitions.com hosted and ran the contest for us, and this definitely extended our reach. About 40 students submitted Phase I solutions, and nearly 20 made it all the way through both phases of the contest. This year’s winner of the $2,500 grand prize is Emil Bremer Orloff from the University of Aarhus, Denmark, who also wins a trip to the Dyalog User Meeting in Eastbourne. The winner of the new category for non-students, where the prize is free conference attendance, is Iryna Pashenkovska from SimCorp Ukraine. We hope to see them both next month!
Come to the Dyalog User Meeting!
For the first time in the last decade, the Dyalog User Meeting 2014 returns to the UK; it will be held on the south coast of England in Eastbourne on 21st-25th September . With a month to go we already have over 100 registered participants, so we are on track to set a new all-time record! By the time this goes to press, hotel rooms at the conference hotel will almost certainly be sold out; fortunately there are many alternatives nearby.
Last year we recorded about 25 of the main conference sessions – for a total of nearly 16 hours of viewing. If you were not fortunate enough to attend the meeting at Deerfield Beach in Florida, make sure to visit http://video.dyalog.com and watch the recordings from this and several earlier conferences. Highlights of the 2013 meeting include:
- The Stormwind Simulator – by Tomas Gustafsson, winner of the main category in Apps4Finland competition (more at https://www.facebook.com/Apps4Finland)
- Computer Science Outreach and Education with APL – by Aaron Hsu of the University of Indiana
- Social Skills for Programmers – by our own John Scholes
We’ll be recording as many sessions as we can in Eastbourne. However, if you want to network with other array language users in addition to watching presentations on both new and mature applications of Dyalog APL, or attend tutorials and workshops on version 14.0 features and associated tools, Eastbourne will be the place to be in the penultimate week of September!