That said, no one has yet invented a general-purpose language that makes mistakes impossible, and the actual design of C# and the .
In an ideal world the language and framework would prevent developers from writing the broken software in the first place, but we live in a world where general-purpose languages are imperfect.
However, UML is a general-purpose language, so it often lacks of elements to model and represent concrete concepts of specifics domains.
The UML, one of the most used languages to specify and document informatics applications, is a general-purpose language, reason why it is possible to use it to specify different systems and application domains (business world, aeronautical and academic issues, etc.
As reported by Emshoff and Sisson (Shannon 1975), important features of a special-purpose simulation language versus a general-purpose language
are that the special-purpose simulation language needs to be able to: 1) create random numbers; 2) create random variables; 3) advance time, either by one unit or to the next event; 4) record data for output; 5) perform statistical analyses on recorded data; 6) arrange outputs in specified formats; and, 7) detect and report logical inconsistencies and other error conditions.
The modularity of LLVM makes it easy for language and library designers to add support for GPU acceleration to a wide range of general-purpose languages
like Python, as well as to domain-specific programming languages.
SQL, the universal language of databases, looks simple and is often used by developers as if it is, but in fact its relatively few but very powerful commands and the necessity of it being invoked by general-purpose languages
such as C++, Java, Python and Perl make it a sophisticated tool that can solve difficult problems with a single statement.