Once a mathematician told me a project is possible on the condition that we got a language. Could you help me understand how we know when we do and when we don't? Like examples or whether an automated test can know what's a "language" and what isn't. Thanks
It is hard to understand what (s)he might have meant without any context. However, my personal (and highly speculative) association to this is domain languages. Users of a specific domain have their own terminology and logic, which the analyst/programmer must understand and translate into code in order to develop a successful sw product. If the users and developers speak the same ubiquitous language, the project has good chances to succeed. If not, however, even if something gets "successfully" developed, it will not be very useful for the end users, thus the project is in fact a failure.
The fundamental book for this is Domain Driven Design.