Book Image

Programming Microsoft Dynamics 365 Business Central - Sixth Edition

By : Marije Brummel, David Studebaker, Christopher D. Studebaker
Book Image

Programming Microsoft Dynamics 365 Business Central - Sixth Edition

By: Marije Brummel, David Studebaker, Christopher D. Studebaker

Overview of this book

Microsoft Dynamics 365 Business Central is a full ERP business solution suite with a robust set of development tools to support customization and enhancement. These tools can be used to tailor Business Central's in-built applications to support complete management functions for finance, supply chain, manufacturing, and operations. Using a case study approach, this book will introduce you to Dynamics 365 Business Central and Visual Studio Code development tools to help you become a productive Business Central developer. You'll also learn how to evaluate a product's development capabilities and manage Business Central-based development and implementation. You'll explore application structure, the construction of and uses for each object type, and how it all fits together to build apps that meet special business requirements. By the end of this book, you'll understand how to design and develop high-quality software using the Visual Studio Code development environment, the AL language paired with the improved editor, patterns, and features.
Table of Contents (12 chapters)
9
Successful Conclusions

AL's roots

One of the first questions asked by people new to AL is often, "What other programming language is it like?". The best response is Pascal. To those unfamiliar with Pascal, the next best response would be C or C#.

At the time the three founders of Navision were attending classes at Denmark Technical University (DTU), Pascal was widely used as a preferred language not only on computer courses, but on other courses where computers were tools and software had to be written for data analyses. Some of the strengths of Pascal as a tool in an educational environment also made it an ideal model for Navision's business applications development.

Perhaps coincidentally (or perhaps not), at the same time at DTU, a Pascal compiler called Blue Label Pascal was developed by Anders Hejlsberg. That compiler became the basis for what was Borland's Turbo Pascal, which was considered the everyman's compiler of the 1980s because of its low price. Anders went with his Pascal compiler to Borland. While he was there, Turbo Pascal morphed into the Delphi language and IDE tool set under his guidance.

Anders later left Borland and joined Microsoft, where he led the C# design team. Much of the NAV-related development at Microsoft is now being done in C#. Keeping it in the family, Anders' brother, Thomas Hejlsberg, also works at Microsoft as a software architect on Business Central. Each in their own way, Anders and Thomas continue to make significant contributions to Dynamics NAV.

In a discussion about AL and Visual Studio Code, Michael Nielsen of Navision and Microsoft, who developed the original AL compiler, runtime, and IDE, said that the design criteria provides an environment that can be used without the following tasks:

  • Dealing with memory and other resource handling
  • Thinking about exception handling and state
  • Thinking about database transactions and rollbacks
  • Knowing about set operations (SQL)
  • Knowing about OLAP (SIFT)

Paraphrasing some of Michael's additional comments, the goals of the language and IDE designs included:

  • Allowing the developer to focus on design rather than coding, but still allowing flexibility
  • Providing a syntax based on Pascal stripped of complexities, especially relating to memory management
  • Providing a limited set of predefined object types and reducing the complexity and learning curve
  • Implementing database versioning for a consistent and reliable view of the database
  • Making the developer and end user more at home by borrowing a large number of concepts from Office, Windows, Access, and other Microsoft products

Michael is now a co-founder and partner at ForNAV. Michael and his fellow team members are all about developing high-quality reporting enhancements for Dynamics Business Central, with the goal of making working with reports easy. This is another example of how, once we're part of the Business Central community, most of us want to stay part of that community.