Imposing restrictions on available elements of the programming language
This approach is especially helpful in education, but also gives rise to
interesting recruitment challenges. Due to this capability of our system,
teaching recursion and functional programming may now be done without
introducing a dedicated programming language, and can be tested automatically.
For example, by disallowing the use of jumps and loops in the C language,
we force the programmer to come up with an alternative approach. In recruitment,
such a limitation will test the programmer's behavior in unexpected and
unusual situations, as well as his or her creativity.