lf the languages in the C family of languages allow nested expressions, nested statements and nested classes. None allow nested subprograms (functions or methods), but all allow nested blocks. Using examples, illustrate the difference between a nested subprogram and a nested block.
What is the rationale for prohibiting nested subprograms? Is it a good language design decision? What languages allow them?