Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C/AL How and where do I start?

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?

like image 256
Farid Avatar asked Nov 25 '15 08:11

Farid


Video Answer


3 Answers

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!

like image 55
Raaen Avatar answered Oct 19 '22 21:10

Raaen


The main coding language of NAV is fairly simplistic, certainly for someone with a C# background.

The real skill of a NAV developer is understanding the business logic of the system. A relatively small change in a core component can have quite a knock on effect. This knowledge though only comes with time. I've been doing this nearly 15 years and still get lost in the connected processes.

As mentioned http://mibuso.com is a great resource for development questions.

like image 24
pf79 Avatar answered Oct 19 '22 19:10

pf79


I'm sure you'll enjoy the NAV world, I was doing it for almost a decade and I love it.

I can recommend books from Packt : link

and the biggest NAV community on mibuso.com

Cheers!

like image 1
azatoth Avatar answered Oct 19 '22 20:10

azatoth