Slova v X++ rezervovaná pro budoucí použití

Best Practice Check v Dynamics AX si stěžuje, pokud použijete určitá slova jako identifikátory, protože mohou být v budoucích verzích použita jako klíčová slova. Například pokud nazvete nějakou proměnnou namespace, dostanete následující chybu v Best Practices:

The name namespace will be used as a reserved word in a future release.
= Jméno namespace bude v nějaké verzi použito jako klíčové slovo.

Ačkoli Microsoft říká “bude použito”, já bych to četl jako “může být použito”. Nicméně to stále stojí za pozornost – ukazuje to, co Microsoft zvažuje, že implementuje (nebo zvažoval, protože stejný seznam existoval už v AX2009 a plány se mezitím mohly změnit).

Zde je kompletní seznam těchto slov:

  • As
  • Attribute
  • Enum
  • Foreach
  • Friend
  • In
  • Instance
  • Internal
  • Long
  • Is
  • Module
  • Namespace
  • Native
  • Out
  • Override
  • Readonly
  • Ref
  • Unique
  • Unsigned
  • WebService
  • XMLRoot

As a Is už jsou s námi – byly do X++ přidány v AX2012.

Nemám žádné informace o tom, jaké změny se plánují do další verze X++, ale některá z těchto klíčových slov odkazují na koncepty, které jsou momentálně v AX neznámé: sestavení (nebo jiné balíčky), jmenné prostory a podobně. Přestože by bylo možné vytvořit nějaké unikátní řešení jen pro Dynamics AX/X++, mnohem lepší smysl dává využití toho, co už existuje: .NET. Dynamics AX se tímto směrem posouvá už řadu let, otázka je, kde to skončí.

Já věřím (a doufám), že X++ bude přeměněno na další .NET jazyk a dokonce věřím, že to může být celkem brzy. Už máme způsob, jak kompilovat X++ do CIL (ačkoli to má v tuto chvíli daleko k  “normálnímu” kompilátoru) a s pomocí Code Upgrade Service bude reálné upgradovat obrovské množství existujícího kódu.