Scope is much less complicated if functions cannot contain other function definitions (C++, Java: cannot; Ada, Pascal, Ada, Python, Ruby, Lisp: can). Give one good reason why functions should not contain other function definitions. Give one good reason why it should be allowed. Solution A function is the smallest block of code to perform a specific task. Which can be independently invoked. The variable defined in a function are available only to that block not to the whole program which gives abstraction. the scope and life of variable defined in the funciton are available only when it is invoked, which saves memory as well. b. To keep a function isolated. It\'s only used inside the function which is invoked i.e. one place. when it\'s locally used why define globally.It\'s just another way of breaking down a big function into smaller pieces without affecting the global namespace with another function name. Quite often the inner function isn\'t a stand-alone so doesn\'t rightfully belong in the global namespace..