it has to be readable, and small according to your judgement. a good language 
allows much factoring, which is an advantage that Nim has. some people may 
abuse certain features (and lead to the situation you described), but it 
doesn't mean you need to avoid it where it does make sense. in your example, i 
would definitely use the oop runtime methods instead of a huge switch case. The 
main thing is to reduce complexity, especially in your own understanding of the 
code. every part should have one functionality, and clear limits that you 
decide. so some general decisions are needed (as well as details of how to 
enforce them). In my opinion, if a compiler helps you manage a really complex 
project, with a certain compile time checking feature, it may make sense to use 
that feature, even if your code diverges from the most direct way of doing 
things, because it finds errors at compile time instead of runtime.

Reply via email to