How to Learn X++ development?
That’s the question. When you start in this whole Microsoft Dynamics environment, you will run into programming languages like C#, C++, Visual Basic.NET and X++.
The latter one, X++, is the main programming language of Microsoft Dynamics 365 Finance and Operations (former Dynamics AX). So, if you want to start working with this ERP and CRM platform, you need to begin building X++ skills.
It is also important to mention that learning X++ and learning how to develop with X++ is not the same. Learning a programming language is like learning a new language.
It is like learning Spanish or French, which means that there are many details and elements to process and understand from scratch to start getting comfortable with it. After all, as the saying goes, “Learn to walk before you run.” In other words, you need to learn the language before jumping into the development part of it. And hey! Don’t try to hurry things up because there is no shortcut when it comes to learning these sorts of things. In the end, learning X++ development is possible, even without great development or programming experience. The key is to find the right way to do it.
In this article, we are going to cover:
- X++ development: What is X++?
- X++ development: How to learn X++ from scratch?
- What is Dynamics 365 for Finance and Operations?
- X++ development: About MorphX
- About X++ development
- Working with Dynamics 365 for Finance and Operations using X++
- In conclusion, how to learn X++ development?
We hope that this will serve you as a guide to start learning how to develop with X++.
First thing first! Let’s start with “What is X++?”
X++ development: What is X++?
As we mentioned, X++ is the main programming language of Dynamics AX, now rebranded as Dynamics 365 for Finance and Operations. This programming language powers all the items and elements that you can find within this Microsoft environment. Such as classes, forms, queries, data types, etc. We are talking about an object-oriented language (OOP) that is very similar to C# or Java programming. So, if you are familiar with these two languages, learning X++ will be much easier as you already have an idea of how those two works. For example, learning german is easier for English speakers as these two languages belong to the same branch. In this sense, the same thing applies to programming languages.
And even though it is easier to learn X++ if you manage those two languages, learning X++ without any programming background or knowledge is also possible. Without any further ado, let’s see how you can learn it from scratch.
X++ development: How to learn X++ from scratch?
You can go from zero to hero when it comes to X++. As we mentioned, learning X++ from scratch is like learning any other language. In this sense, it can be a little bit difficult at the beginning, but once you get the hang of it, the rest will be easy peasy -sort of-. If you feel kind of lost and don’t know where to begin with X++, you can follow the following steps:
Keep in mind that these are OUR recommendations for learning X++. And like any other learning process, it will depend entirely on your learning preferences. This process is neither mandatory nor the only way to learn about it.
STEP 1: Read about X++ Functions
To give you an idea about where to start, you can begin with the list of X++ Functions. Before doing anything else, start by reading about each one of those functions. There are multiple X++ function categories in Dynamics 365 for Finance and Operations so, take your time with this. You can also read about Kernel functions. This will give you a foundation for the basic language programming functionalities, which is an excellent starting point to set your mind to “programming mode.” Above all, that will give you a better idea of how X++ works. In short, any other book or guides about X++ will help you. Find out one that will help you become familiar with the topic.
STEP 2: Proceed reading X++ documentation
Microsoft offers lots of documentation that you can access for free. If you want to learn more about X++ on your own, you can navigate through this documentation. This will help you to start picking up some of the X++ basic concepts. In fact, Microsoft has an X++ Language Programming Guide that will help you understand more about this programming language.
This guide covers some of the basic concepts about X++ like:
- Variables and data types
- Statements, loops, and exception handling
- Classes and methods
- Data selection and manipulation
- Attribute classes
Also, within Microsoft documentation, you can find X++ Language References, C# Comparison, X++ Syntax, Debugger features, etc. So, get ready to read a lot because there is plenty of material out there! Start with the basics and then immerse yourself in the more advanced topics—one step at a time. The next step is not mandatory, but it can be extremely helpful if you want to speed up the process.
STEP 3: Enroll in a training course
You can get pretty far without a training course, but truth be told, Instructor-led training courses make things easier for you. If you feel like you need to go a step further, try enrolling in one of those. X++ beginners courses are a great way to start your Dynamics 365 career. You can even take some courses without previous programming experience from day 1.
One of the biggest advantages of taking a training course is the guidance and practice exercises you get from your Instructor. The combination of both is great to start building a strong skill set.
STEP 4: Finally, Practice a lot!
The practice is key. Try to put what you have learned into practice so you can reinforce those skills. Hands-on labs are a great resource to do that! Remember that the more you practice, the better.
In short: How to learn X++ from scratch?
There you go! Now you have an idea of how to start learning X++. Moreover, it’s time to talk (very briefly) about Dynamics AX, the place where you will use X++.
What is Dynamics AX?
Dynamics AX (Now rebranded as Dynamics for Finance and Operations is a Microsoft Enterprise Resource Planning (ERP) on-premise software that brings multiple business processes together.
Its core functionalities are:
- Supply Chain Management
- Financial Management
- Business Intelligence Reporting
- Sales Management
- Human Capital Management
- Project Management
This means that with AX, you can basically run an entire business with one single platform. Now that we’ve cleared that one out, it’s time to talk a little bit about the Integrated Development Environment of Dynamics AX, commonly known as MorphX.
X++ Development: About MorphX
So, X++ is the main programming language of Dynamics AX, which’s very clear at this point. But in order to understand more about X++, you need to know that this language exists within an Integrated Development Environment (IDE) named MorphX.
MorphX includes tools for:
- Editing code
- Designing code
- Compiling code
- Debugging code
This means that, in order to develop, you need to work with this IDE. All the programmable elements in Dynamics AX, like tables, forms, reports, classes, etc., are organized in a tree structure called the Application Object Tree (AOT). So, creating and editing these elements is enhanced by the drag-and-drop functionality and by automatic settings for certain object properties. In other words, with MorphX, you can create accounting and management systems around the Dynamics AX environment with little understanding of code. As we said, you can create tables, classes, or forms without dealing with too much coding in between. Surprising right? But as unusual as it sounds, it is possible to be a really good Dynamics AX developer with little understanding of code. Mainly because the MorphX environment was set up like that. As a matter of fact, the memory management model of X++ is very simple.
That might sound a bit complicated, but put it differently, a pointer is a variable that stores the memory address of another variable. In MorphX, you can’t use these pointers. In MorphX, there are only addresses, and that is what gets stored. Also, you can’t execute arithmetic operations with these pointers. Now let’s continue… It’s time to see a little bit of X++ Development.
X++ is an OOP programming language within the MorphX environment in Dynamics AX. Is very similar to Java or C#.
Why do you need to learn X++?
Learning X++ is necessary to manage the more complicated stuff in Dynamics AX.
You can go pretty far without it, but at the end of the day, it is very convenient to manage X++ if you want to add additional features to your Dynamics AX Items.
About X++ Development
As we said, when it comes to Dynamics AX, you can get decently far without coding. However, coding is necessary if you want to do things the right way. We could say that X++ is more like an internal platform language that you can use to set more advanced configurations. It is basically a way to set up features and data for the different elements that coexist in the Dynamics AX environment. The source code for methods on classes, tables, forms, and other objects is going to help you extend and customize Dynamics AX multiple functionalities. For example, you can manage to do a lot of functions through configurations or drag and drop. But in order to add additional features and customize your elements, coding is necessary. Like incorporating calculations or the information that is taken from the database… All that requires coding.
Working with Dynamics AX using X++
When it comes to Dynamics AX, programming is not the toughest part to manage. The real challenge becomes actually knowing all the processes that take place in AX (or Finance and Operations). Because as we mentioned, there are a lot of functionalities within this platform, and when we say “a lot,” we mean “A LOT!” This is why sometimes you are not going to be 100% proficient in all its areas, and that’s completely normal. After all, building a strong Dynamics AX skillset takes time and practice.
Conclusion: How to Learn X++ Development?
Here something no one anywhere else will tell you… There is no secret when it comes to learning development or programming. There is no magic formula that is going to turn you into a Senior Developer overnight, that’s for sure. But you can speed up the process if you are smart enough to make the right decisions. Start at the beginning, simple as that! You can start with the basic concepts. Read articles, watch tutorials, listen to some podcasts and try to catch up as much information as you can. If that is not enough, you can go for training courses. There are a lot of training courses out there, from beginners to more advanced learning programs.
Learning X++ development from scratch: Last Considerations
At Instructor Brandon, we have several options for those looking to start their development career.
Additionally, we sincerely hope that you enjoyed this article. We hope you feel encouraged to begin your Dynamics journey! Moreover, if you need to get in touch, reach out to me here. – Brandon Ahmad, founder of Instructor Brandon and Dynatuners. Leave a comment below if you have any questions. See you next!
What is X++?
X++ is an object-oriented programming language. Learn more in our blog
What does X++ mean?
X++ means postfix increment operator. To learn more, visit our blog.
What is X++ used for?
X++ is commonly used to construct accounting and business management systems in Dynamics AX. To learn more, read our blog.
How can I learn X++ language?
To learn X++ you can begin by reading X++ functions and Microsoft Documentation. You can also enroll in a training course. Read our blog for more details.
How can I learn X++ development?
Read about X++ development in our blog