C/AL How and where do I start?

Farid picture Farid · Nov 25, 2015 · Viewed 11k times · Source

I come from a C# background, used to do programming to control all the low-level stuffs (microcontroller, and HW related stuffs). I just changed job and is required to learn programming Dynamics NAV. I have never worked with database-heavy application my whole life, so the whole learning experience has been quite frustrating for me.

Questions:

  1. Any newbie friendly website so that I can learn C/AL from zero?

  2. Any website that I can go to that has small projects that I can copy and learn, ala CodeProject? (Some of CodeProject stuffs are small enough for newbie learning, although some are quite huge..)

  3. Any recommended books?

  4. Any advice to help me on my learning?

Answer

Raaen picture Raaen · Nov 25, 2015

Welcome to the world of Dynamics NAV :)

I come from C# and Java background as well, before I started working with NAV and C/AL.

Getting Started

The first thing you will need is a NAV demo with a development environment, which is unique to Dynamics NAV, preferably older than NAV 2016 (as the development environment has changed significantly).

I read the books "Implementing Microsoft Dynamics NAV" and "Programming Microsoft Dynamics NAV" as well as the Microsoft learning material "Microsoft Dynamics NAV Development" and "Microsoft Dynamics NAV Solution Development". There is also the learning material on Microsoft Partner Source, which is very useful, for a first time NAV developer.

Financial Knowledge

When you have learned the basics of Dynamics NAV development, I will advice you to start reading about Finance. This will help you a bunch, when trying to understand how NAV is put together. I cannot emphasize this enough, this will help you A lot!

About C/AL

You should know that the learning curve is steep in the beginning, coming from an object oriented development language. In C/AL we work with triggers and properties much like in other object oriented languages, but unlike C#, are triggers and properties defined in code Windows and property Windows. Instead of your usual .class file with object definitions in C#, C/AL require you to open objects in new Windows, which again opens new Windows, and everything has properties in property Windows.

Your way of thinking in objects remains the same, you just have to find everything in other places. So everything that you have learned, working with C#, you can somewhat translate to C/AL.

Less Is More

At some point in any project you should refactor your code and ask yourself if there is a standard function or a codeunit that you can use instead of your own code. Anything that you can use of the standard application, is maintained by Microsoft and therefore "free maintenance", which is why less of your own code is more time saved.

Follow Blogs

There is a bunch of blogs from MVP's and I would suggest that you start following some of them, to get the latest and greatest in Dynamics NAV. At least you should follow Microsoft's MSDN NAV Blog.

Good luck with your Dynamics NAV endavour!