X# is the name that has been given to a "data-centric" programming language that Microsoft is said to be developing in order to make it easier for a programmer to specify XML-defined data and how it should be handled by the program. Sometimes referred to as functional programming, a language like X# might allow a programmer who identified an XML document to write a language statement to address a particular data item by symbolic name and specify what to do with it.
Reacting to the idea of such a data-centric language, some programmers believe that it would tend to undercut the value of object-oriented programming in which data is seen as an inherent characteristic of an object. In another view, the ability to address XML data fields directly could be done with special data-handling classes in C#, Microsoft's relatively new object-oriented language.
X# is also likened to Microsoft's Visual FoxPro, a well-known relational database (table-oriented) language. However, X# would apparently allow a programmer not to have to map data to either an object or a database but to address and manipulate it directly as a named field in a given XML file.