Wednesday, July 18, 2007

Consequentiality of language and the essentiality of infrastructure

With the addition of object-oriented SQL statements to Z++ it is possible to present a more illuminating argument for the need of a monotonic formalism for developing application software.

The article Database illustrates SQL statements and their seamless extension in support of object-oriented notions. Here we argue that with sufficient complexity undertaken by a technological infrastructure, such as Z47, it is possible to support a platform-independent monotonic formalism.

The consequentiality of language

One does not first make a word and then think about what to use it for. A rare exception to this rule is the imaginary unit in mathematics (the square root of –1). However, many mathematicians considered the imaginary unit an unfortunate meaningless symbol until a satisfactory interpretation was found.

As hardware evolved, so did our linguistic formulation of software problems. For instance, at the era of assembly language we were able to conceive the notions of macro and libraries. Presently, a vast set of notions are scattered among a large set of languages. Many of these languages contain constructs specific to particular platforms. Nevertheless, these languages were designed to provide abstractions for developing software applications with lesser dependence to detailed knowledge of the platforms they supported.

Many abstractions introduced by contemporary programming languages are the result of valuable thoughts by scientists. Eiffel’s invariant, C++ templates and ADA’s range for case labels are among many such valuable observations that should be available within a single formalism. Thus, our conceptual understanding of software development has been evolving but our linguistic approach for expressing this understanding has been inadequate in that concepts are scattered among languages.

The Evolution of Software Formalism discusses the stages of maturity of a formalism, and Only software can be multi-domain expert discusses the difficulty of having to deal with multiple languages.

The essentiality of infrastructure

In software development, linguistic concepts are created in response to specific problems, as well as attempts to solve those problems. However, the age of designing a new language that introduces a few more concepts but ignores those introduced by others is over. For developing application software, we have reached the turning point where a single monotonic formalism is needed.

Science and harmony of formalism discusses the characteristics of an infrastructure required for achieving a monotonic formalism. For software development the notion of monotonic growth implies the lack of need for any code change. That is, previously written software should not need adjustments as a result of growth of formalism.

A chimpanzee is a complex biological machine that lacks the complexity for speech. In the same vain, a technological infrastructure for supporting an abstract formalism is necessarily more complex than variations of the technology known as virtual machine. Otherwise, BASIC, Smalltalk, C# or Java would have solved the problem. A virtual machine delegates the needed inherent complexity to the underlying platforms. Consequently, the abstractions of the formalism supported by a virtual machine are platform-dependent.

Code Mobility discusses the inherent complexity of Z47 processor and its suitability for supporting a universal abstractions for developing distributed application software.


Article Database demonstrates the ability of Z++ formalism to grow monotonically. The significance of Z++ extensions is in their universal availability, for all platforms. In contrast, regardless of the value of extending a language like ADA, it is not possible to make such languages available for small devices.

So far as developing applications (as opposed to system programs), we are moving away from the bronze age. In term of programming, my interpretation of bronze age is hearing statements like “Language X can do this, and language Y has that feature”. It is time to say something like, “How do we evolve the formalism to include a new scientific discovery”?

A brief digression

In communism, so long as you follow the law you are entitled to a piece of social services, living a predetermined life. In unregulated capitalism, so long as you follow the law you will live a hopelessly miserable life unless a servant of a lawmaker finds you useful. In the latter case there is a glimmer of hope that you might be able to become an exploiter.

Our goal should be a happy fight against the cruel laws of nature. Perhaps the happier next generation can find ways so we can leave our solar system in search of happiness and excitement for everyone.

We need to correct our social system by properly regulating capitalism, not crippling it. In particular, we must evolve to a point where vulture capitalists cannot bring miseries to us and then sit back and feed on our miseries. A vulture capitalist is an anomaly much worse than a serial killer.

Labels: , , ,