you will want to use a real programming language rather than look for a conventional shell when one of the following is true:
* your data structures go beyond "string"
* your network of processes goes beyond linear chains
* your exception/error handling goes beyond "trap"