Friday, September 02, 2005

Magic and Science

Magic and Science always seem opposite things. Magic is wonderful and unexplainable whereas basis of science itself is explanation. An explanation which is universal can be understood by anyone. But fundamentally they are same in one point that is wonder. Good magic and good science are always wonderfull to look at. The new age has denied both. If I tell you that soon we would be all mechanic zombies with infinite computing capabilities embedded in our neural systems then you would think ya ya ya it is possible. Magic inherently is science and vice versa. What looks magic to one has a science behind it. Remember all the great magicians where great intellectuals, had high IQs and where really intelligent.

That magic has gone out of technology domain. Where if you see a moving train on a huge screen you would run for your life. That awe for the unexplained as dimmed. May be it is because we have lost our curiosity. The scietific zeal. How many of us think how are things made how are things done? When science has entered electronic domain our experience of technology the internals, the dynamic has been remote.

To be more clear let us take example of mechanics and electronic/software. Engineering itself comes from wod engine. In my discussion it would mean a system not necessary and "engine" or a tangible machine but a system which has various components which is designed and implemented to fulfill a particulare requirement or desire.

In mechanical engineering you can visualize that if you pull this gear it will pull this part,this part will rotate and so this part would move by this amount. Your imagination and visualization depends on everyday experience. In software and even in hardware it becomes increasingly abstract and remote. It is always very difficulto to explain the software "design" and "architecture". How can you explain a server "running" and client listening . How do you explain or visualize what software does. The mental image that you make may not be necessarily the same the other guy makes.

One way is software documentation where by words and diagrams one tries to explain and "represent" various parts, connections, behaviour of software. The other is sorce code. It is the human readable form of actual thing that runs on machine. But increasingly we need better mechanisms to represent them. What a function does and how does it achieve this. We should move out of the standard documents in a hierarchical folder concept.

Crazy Idea: We can simulate a physical thing i.e. a machine, physical set up by software can we simulate another software using a software ?

No comments: