Glossary
AL Language
By Emil Björk · Microsoft business apps consultant, Gothenburg
Microsoft's programming language for building extensions to Business Central, the successor to the older C/AL language.
AL is the programming language used to build extensions for Business Central. It replaced the older C/AL that was used in Dynamics NAV when Business Central moved to an extension-based customisation model. AL is a strongly-typed, Pascal-flavoured language with first-class objects for tables, pages, codeunits, reports, queries, and XMLports. Developers write AL inside Visual Studio Code with Microsoft's AL Language extension, debug against sandbox environments, and ship extensions as .app files distributed through AppSource, partner installation, or per-tenant deployment. AL is the only supported way to customise Business Central code.
In practice, an AL developer's day-to-day loop is: write code in VS Code against a locally-defined app.json (which pins the AL package's dependencies and the target BC platform version), compile against a Docker-based BC sandbox container or a cloud sandbox environment, and debug with breakpoints the same way as any modern IDE. The defining constraint that shapes AL's design is the extension model itself — an AL app can subscribe to events the base application raises, extend tables and pages with new fields, and override behaviour through interfaces, but it cannot directly modify Microsoft's own base-application objects, which is exactly what keeps every extension upgrade-safe across Business Central's continuous release cadence.
Where confusion arises: AL and C/AL look superficially similar (both are Pascal-flavoured with a similar object vocabulary) but are not interchangeable — C/AL code has to be manually ported to AL's event-and-extension model, which is real migration work, not a syntax find-and-replace, and is the largest technical task in any NAV-to-Business-Central upgrade project.