[rant=on]

UML is not traditional software engineering, it's a big business approach to 
software, often associated with waterfall 
design<https://en.wikipedia.org/wiki/Waterfall_model>_. Unfortunately it 
implies a lot of human overhead (useless meetings) even though software and its 
requirements are a living beast and may change week by week (say a website for 
a news company) or at least month by month.

What happens is that the software ends up organized like the company that 
developed it with all its benefits but also all its inefficiencies especially 
arbitrary [business 
rules](https://en.wikipedia.org/wiki/Business_rules_engine), access controls, 
validation workflows and bypasses that everyone knows (the CEO can do anything) 
but no one bothers to voice or specify. I.e. implicit social contracts are hard 
to translate into code.

I think the essay "The Cathedral and the bazaar" is a must read for software 
engineering: 
[http://pld.cs.luc.edu/courses/412/mnotes/cathedral-bazaar.pdf](http://pld.cs.luc.edu/courses/412/mnotes/cathedral-bazaar.pdf).
 There is also a book.

[rant=off]

The easiest would be to wrap a C or C++ library, or maybe there are some 
tutorial for another language (Python) that you can follow with Nim.

Regarding Mumps, it's seems like an ever hard language to search for than Go, 
Nim and Rust congrats! Anyway the only thing I found related to it besides the 
wikipedia page is a code pretifier: 
[https://github.com/google/code-prettify/blob/master/src/lang-mumps.js](https://github.com/google/code-prettify/blob/master/src/lang-mumps.js).
 It seems like it's standardized by ISO but if there is not even public "Hello 
World" it's hard to test against. It seems like it would be possible to write 
an interpreter for it so that could be a student project.

Reply via email to