FF Logo

Formal Formulations

===========================

The Form and Substance
of
Computer Programming Languages

The Fundamental Theorem from the Theory of Computability affirms that:

"Any function which is computable,
can be computed with a Turing Machine."

So why doesn't everybody just use a Turing Machine and save all the development overhead, system upgrades, and learning curves?

Well, the cynical answer has to do with economic collapse and the principle that if you actually understand something, then it must be obsolete. The pragmatic answer is that it would take too long to write a program that implements an algorithm of any significant substance. ( BUT IT COULD BE DONE ! )

Within the form of The Form of Form and Substance:

The Substance of the Program
is the abstract algorithm which the Program implements.
The Form of the Program
appears as the Program looks, and has two aspects:
The External Form
What the Users sees, when they run the finished program. This includes the manuals for the program, the data input formats, any error messages which may occur, and the output displays generated by the programs' execution.
The Internal Form
what the Programmer sees, when looking at the source code of the program, regardless of what specific Programming Language is being used.

When the whole of programming is divided up with this perspective, there is very little "wiggle room" for general improvement, except for the case of the Internal Form of the program.

As a general strategy for improving the software industry, "do more and more with less and less source code" became the industry motto.

The Homeless Mathematician knows that this is linear, dialectic thinking, but what else could the industry do? After all, there is no "wiggle room" allowed with the Substance - it must be perfect. There is very little "wiggle room" allowed concerning the External Form - the Users and Managers control all that. So in the finest Aristotlean form, the software industry formalized their survival strategy as always developing new languages that "produce more with less."

However, because the strategy is linear, The Homeless Mathematician must caution the kind reader of this page, that non-linear things do happen, especially in the course of human economic endeavors. For example, the folks at Apple ( thanks, Xerox Park ) introduced the MacIntosh in the mid 1980's and blew the hell out of IBM's mainframe linearity. Does anybody remember "magnetic card typewriters"? Today, one can convincingly argue to use MS Word for Windows is to use a programming language. Non-linearity does happen! The World Wide Web is non-lnearity in its finest form.

The Homeless Mathematician can easily explain the conditions which give rise to this non-linearity. Within the form of The Paradigm of Form and Substance as applied to those Objects commonly called Computer Programs, the Substance is time invarient. Thus, any change must arise from within the Form of Programming. Now, the External Form of Programming is arbitrary, but is limited by the input and output ( I/O ) media that are available at the time. In turn, the Internal Form of Programming Languages is limited by the same I/O factors, and by the access allowed to the native meta-system.

The critical factor for triggering non-linearity seems to be the introduction of a new I/O device like a terminal, a Mouse, a color monitor, a 14.4kbs modem, or a T1 line. Virtual Reality technology attempts to cover the complete spectrum of sensory experiences ( I/O media ). The Homeless Mathematician believes that the olfactory and gustatory senses have been overlooked in this regard.

===========================
Copyright © 1995. Formal Formulations. ~ ~ ~ Send e-Mail to comment@formal.com.
Updated 95/11/04.