A nice discussion has been triggered by Jean Bézivin yesterday on Twitter, starting from this video that gives an introduction to the Wolfram Language:
Wolfram Language introduces itself as a knowledge-based programming language. I think this is a very interesting and powerful approach. However, the online discussion among us modeling people focused on understanding the positioning of such an approach within the classical modeling approaches. Main questions discussed were:
- What kind of language is it?
- What is its relation to domain-specific languages (DSLs)?
In summary, I think we can say that Wolfram Language can be seen as a UNIVERSAL LANGUAGE (as opposed to domain-specific), because it aims at covering ontological knowledge of the universe. Interestingly enough, this also opened a side discussion on what is an ontology, in technical and philosophical sense, with Paola Bonomo, Erik Wilde and many others.
However, for being strictly universal, the language should be able to describe itself and to describe reality states in thorough way (and Jean-Jacques Dubray was disappointed about the coverage of this aspect by Wolfram). This raised the question of whether any language should be able to describe itself. I think the final conclusion was that this is not the case. For instance, DSLs typically do not span to describing themselves. And Meinte Boersma correctly pointed out that this is not the case even for most general-purpose languages.
So probably the property of self-description is a general, independent classification dimensions of languages, as suggested by Jean Bezivin. Actually, if you think about it, actually in the metamodeling stack only the M3-level (metametamodeling) languages satisfy self-descriptivity property!
A visual summary of the Twitter discussion is reported here:
If you have any insights on the topic, feel free to share it!
To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).