New to Programming
An introduction to APL for those who have not programmed before
These resources assume no prior programming experience.
For those who like to learn by doing, there are interactive tutorials, exercises, and resources that enable you to develop your knowledge of Dyalog APL at your own pace.
If you like exploring reference material, there are guides that break down concepts into manageable lessons and websites that can expand your understanding.
Prefer to see things in action? Our video tutorials provide clear explanations and demonstrations of various APL concepts, all presented by experienced APL programmers.
Learn by Doing
Study Materials
Watch and Learn
Learning Support and Community
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.
If you prefer more directed learning, or would like to attend hands-on sessions with your peers, we offer various training courses and workshops.
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:
Join the APL Orchard, a friendly chat room where you can ask questions and learn from the community.
Find answers to common problems or ask your own questions in Stack Overflow’s active APL community.
Join discussions about APL, J, K/Q, kdb+, and all things array languages on the r/apljk subreddit.
For those who like to learn by doing, there are interactive tutorials, exercises, and resources that enable you to develop your knowledge of Dyalog APL at your own pace.
If you like exploring reference material, there are guides that break down concepts into manageable lessons and websites that can expand your understanding.
Prefer to see things in action? Our video tutorials provide clear explanations and demonstrations of various APL concepts, all presented by experienced APL programmers.
Dyalog APL for Non-programmers
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
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.