Application-as-a-Function Thinking
No.<p>Applications are <i>not</i> functions.<p>How many applications that you use on a daily basis work as follows:<p>1. You prepare some parameters<p>2. You start the application with those parameters.<p>3. The application goes away and thinks for a bit.<p>4. The application returns with a result and then exits.<p>Trying to make actual applications and system fit into the function (or procedure) mold is, IMHO, one of the biggest obstacles to software simplicity, as there is a fundamental architectural mismatch here.<p>In the early days of computing, a lot of programs actually did work this way, which is why DSLs for algorithms (ALGOL) were appropriate, and probably where the idea originated that they are actually general purpose languages.  Which they are not.