How C/AL Evolved
During the
first introduction with the Dynamics NAV as a developer one of the first
question would come in your mind is "Which programming language does it
support?" and once you hear the answer "C/AL", the next question
will follow up is "What other programming
language is it similar to?" The
best response is "Pascal".
Pascal
was a preferred language while the three founders were pursuing their classes.
Some of the strengths of Pascal as a tool in an educational environment also attracted
the founders to make it a base in order to create a good model for Navision's
business applications development.
Michael
Nielsen of Microsoft, developed the original C/AL compiler and IDE. Speaking
about C/AL and C/SIDE, he told that the design criteria were to provide an
environment that could be used without:
- 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)
Summarizing
Michael's additional comments, the goals of the language and IDE design were
to:
- Allow the developer to focus on design, not coding, but still allow flexibility
- Provide a syntax based on Pascal stripped of complexities, especially relating to memory management
- Provide a limited set of predefined object types, reducing the complexity and learning curve
- Implement database versioning for a consistent and reliable view of the database
- Make the developer and end user more at home by borrowing a large number of concepts from Office, Windows, Access, and other Microsoft products
Please click the below link to download
the C/AL programming guide:
http://download.microsoft.com/download/f/a/2/fa2612d0-9fef-4517-b7ee-d7adbe54c3e6/navision_c-al.pdf
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <script> (adsbygoogle = window.adsbygoogle || []).push({ google_ad_client: "ca-pub-1754904632265904", enable_page_level_ads: true }); </script>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <script> (adsbygoogle = window.adsbygoogle || []).push({ google_ad_client: "ca-pub-1754904632265904", enable_page_level_ads: true }); </script>
Comments
Post a Comment