This great post by Greg Wilson in the software carpentry site proposes a new metric for language designers: the Robustness of a language.

“I’d therefore like to throw out a challenge to programming language designers. Forget about parallelism or the esoteric corner cases of various type systems; instead, focus on robustness. How forgiving is your language? How well do programs written in it work when people make minor mistakes? Or to switch to industrial engineering terminology, what are your language’s tolerances? “

I think this robustness metric is also very relevant for modeling languages (quite obvious for textual languages like OCL but also relevant for graphical notations). Note that this concept goes beyond the idea of allowing models that are not completely well-formed (i.e. models that do not satisfy all metamodel constraints maybe because of a mistake but maybe just because at that point of the development process the designer is not interested in specifying a complete and precise model).

Want to build better software faster?

Want to build better software faster?

Read about the latest trends on software modeling and low-code development

You have Successfully Subscribed!

Pin It on Pinterest

Share This