Thursday, September 08, 2005

Science and imagination

Our brain’s imaginative mechanism helped us make caves out of fallen rocks instead of looking for one. Our only animal enemy is the one that can remove the rocks and enter our cave, which is our own species. Even worse, he can make us build and protect his cave with our lives. Our only solution so far has been a rudimentary democracy that I hope will evolve before its hijackers bring about the Armageddon.

Science comprises of products of our imagination known as theories. A theory can only be conveyed in symbolic form. The most desirable state of a theory is achieved when it is mapped to a mathematical formalism.

Computer science continues to strive in formalizing notions related to computation. Proving certain properties about threading, say by mapping the concepts to a topological space is significant. It helps us write correct programs in primitive languages, as well as guide us towards designing a more abstract software development language.

However, we need an abstract programming language in order to express our software solutions just as mathematics formalizes the foundations of computer science. An abstract language helps us think about a solution in a manner so that we can express the solution with proper understanding of the nature of the problem being solved.

The design of an abstract language is not as random as a none-deterministic Turing Machine. Our imagination takes previous successes and failures into account, with a focus towards solving a specific problem. We have reached the maturity to understand the characteristics of an abstract language, for some time now. The difficulty in the implementation of such a language has been the cause of birth of minimal and inadequate languages.

The effect of a weak initial design is the painful experience of having to deal with new unusual features added to the language to make up for the faulty design. Unfortunately this has been the trend even in the face of all the available facts against the defects of a design. Somehow vendors mesmerize everyone with features injected into the media, in the name of marketing. There is no consideration of long-term scientific advantages, as if a programming language is just a game of marketing among vendors.

I wonder what would have happened if mathematics were easy enough for purposes of marketing. Perhaps we would have a few dozens of none-compatible versions of each branch of mathematics.

The abstract language Z++ solves a large number of problems by correcting the C++ standard, and then extending it to platform independence for developing distributed applications. Like all other theories, Z++ is the product of imagination based on research and investigation of earlier successes and failures.

Z++ programming language provides all the rocks that one needs to build an edifice. It is human nature to continue to build caves until we see someone else’s palace. Then, we want to own the palace, either with sword or with the help of lawyers.

Labels: ,