New to Programming
These resources assume no prior programming experience.
🏋️ Do
The APL Tutor is a conversational tutorial that takes you through the foundations of APL (terminology, conventions, and functionality). It includes exercises in reading and writing APL. It looks a little dated but is a useful introduction.
TryAPL offers an interactive environment that allows users to play with simple APL expressions. Its Learn tab includes tutorials in which various scenarios are explored.
The APL Challenge is a quarterly competition aimed specifically at newcomers to APL. Its ten entry-level problems offer a chance of winning cash prizes.
APL Quest is a set of 110 easy-to-intermediate-level problems that can be solved in one line of code. It includes automatic grading, reference solutions, and walkthroughs. These problems were originally part of the APL Problem Solving Competition, which ran from 2009 until 2023. It is more advanced than the APL Challenge, but still aimed at newcomers to APL.
📖 Read
Mastering Dyalog APL is a comprehensive guide to both the APL language and the Dyalog development environment.
🎞️ Watch
Dyalog Basics: Namespaces in Dyalog is an introduction to namespaces, including what they are, why they’re useful, how to create and use them, the system function ⎕NS, the root namespace #, the namespace ⎕SE, and namespace references.
APL Seeds was a series of events aimed at new and prospective users of APL. Each event comprised brief overviews of the language, introductions to available resources, and demonstrations of real-world applications using APL. Recordings of the presentations (and downloadable materials) are available.
Need Some Help?
Getting started with any new programming language can seem like a daunting task, and you might appreciate some individual/specific guidance to help you if you encounter issues.
In addition to asking us questions directly (in the Dyalog Forums or through one of our social media channels), APL has a thriving and enthusiastic community of users who are very happy to answer questions:
- Chat in the APL Orchard, an active chat room
- Ask a question on Stack Overflow or the r/apljk subreddit
If you prefer more directed learning, or would like to attend hands-on sessions with your peers, we offer various training courses and workshops.