Tuesday, March 21, 2006

Science and the harmony of formalism

Science is formalized intuition complemented with theories. Egyptian intuitive geometry had to await Pythagoras and later Euclid’s formalization before we could generalize its applicability. We have come to think that formalizations occur at much faster rates in our times. Indeed, the Theory of Computation went right through a wormhole avoiding the fate of programming. However, software development has had a chaotic start in making the leap to the harmonious realm of formalization.

The infrastructure for mathematics is Set Theory and First Order Predicate Calculus. We can define and derive the rest of mathematics from this infrastructure. An infrastructure for abstract software development is of computing nature. Instead of definitions and derivations we must translate the statements of the formalism to executable instructions for the infrastructure. Thus, without a self-contained abstract computing infrastructure it is impractical to envisage a universal formalism.

When XML appeared, some researchers felt that they had found a means to achieve formalism without an infrastructure. Soon it became clear that XML was a false hope and ended IBM’s PC venture. Interestingly, Microsoft is still absorbing victims just as the sun attracts unaware asteroids from Solaris on a tour of our solar system. Chopin’s Funeral March is playing in C# minor in every advertised job listing.

A group of engineers engaged in developing system programs for a device or a device driver such as an operating system for Palm, must retain a lot of specific information about the device and its driver. This is so the application developers for their platform can do their job by earning a college degree instead of certification from the vendor. An architect learns how to compute the strength of material used in a construction. How the contracting company produces the material is irrelevant.

Unlike system programs, applications are inherently abstract. The lack of formalism for expressing solutions for application software has impeded the progress of research in this area. By the time a research group manages to build a prototype to demonstrate the viability of the research, the underlying technology has changed so much that the prototype becomes obsolete. It was this phenomenon that two decades ago led to the idea of a self-contained abstract operating system to support a monotonic formalism similar to mathematics. The Z47 Processor is a realization of that idea.

The construction of Z47 took many years. In particular, thousands of complex tests had to be designed in order to verify the correctness of the implementation. A scientific formalism is a serious endeavor quite apart from a child’s game like XML. The Z++ formalism is a scientific effort towards solving the engineering problems of software development, not a marketing brand name.

The best way to appreciate the value of Z++ formalization is to realize that in solving a problem using mathematics we do not deal with third party versions of calculus, or some vendor’s implementation of college algebra. Indeed, we have reached the level of maturity to end paradigm and language contests and move on to higher levels of abstraction.

Ordinarily, a virtual machine needs the services of the underlying operating system. However, Z47 is an extended operating system minus IO. The extension is in RPC, remote linkage, etc. Z47 handles its own threads, their intercommunication, signaling and everything else without making a single system call of any kind. Clearly, a standard protocol such as TCP/IP is not specific to any particular operating system.

The language Z++ is the formalism powered by Z47. The file manipulation abstraction is same as C++ for all platforms, including devices like Palm. Obviously, Z47 makes system calls in order to draw GUI entities. However, Z++ GUI-related statements are abstract and universal, just like file manipulation statements.

Formalism is beautiful and attractive. Nevertheless, one must differentiate between scientific beauty and the magnificence of nature. Leave formalism to science and apply your human feelings to appreciating the glory of nature for the brief moment that you exist in it. The goal of formalizing nature through laws is exploitation, more often than not.

Z++ is freely available from ZHMicro.

Labels: , , , ,