More Definitions & Examples
Let’s clear some viewpoints on the relationship among the notions: complexity, simplicity and calculus χπ.
Check this out now! There Mr. Charles Simonyi ("Intentional Software") is talking about "Executable Pictograms" with the only difference, where, what he's calling "doodle", I call it - "Calculus for programming", and what he's calling "... few boxes or a few arrows ... but it’s the data structures I maintain that are the key", I call it - "Executable pictograms", and finally, where, what he's calling " ... I keep them in my mind throughout the entire process", I call it - "programming with pictograms under supervision of user interface in cloud":
INTERVIEWER: When you shift gears and actually start programming, what do you do first?
SIMONYI: The first step in programming is imagining. Just making it crystal clear in my mind what is going to happen. In this initial stage, I use paper and pencil. I just doodle, I don’t write code. I might draw a few boxes or a few arrows, but it’s just mostly doodles, because the real picture is in my mind. I like to imagine the structures that are being maintained, the structures that represent the reality I want to code.
Once I have the structure fairly firm and clear in my mind, then I write the code. I sit down at my terminal–or with a piece of paper in the old days–and write it. It’s fairly easy. I just write the different transformations and I know what the results should be. The code for the most part writes itself, but it’s the data structures I maintain that are the key. They come first and I keep them in my mind throughout the entire process. (Programmers At Work. Charles Simonyi– 1986. By Susan M. Lammers.)
Here Mr. Bill Gates talks about "simplicity":
INTERVIEWER: What do you consider the most difficult part of computer programming?
GATES: The hardest part is deciding what the algorithms are, and then simplifying them as much as you can. It’s difficult to get things down to their simplest forms. You have to simulate in your mind how the program’s going to work, and you have to have a complete grasp of how the various pieces of the program work together. The finest pieces of software are those where one individual has a complete sense of exactly how the program works. To have that, you have to really love the program and concentrate on keeping it simple, to an incredible degree.
Later, Mr. Charles Simonyi in reference to the witticism "Anything you can do, I can do meta", has his vision of the user's domain developed into an intentional programming concept (The Death Of Computer Languages, The Birth of Intentional Programming. Charles Simonyi. September 1995. Technical Report MSR-TR-95-52). Which is as a result of "complexity" vs. "simplicity" advocacy in regard with developments of intentional programming concept.
Charles: ... Mathematics is leading the way with the discovery of very complex fundamental objects. The traditional name for a class of these objects, “simple groups,” ironically reflects the old belief that “fundamental” is equal to “simple.” Well, maybe it isn’t. In computers we may not get anywhere with real artificial intelligence, user interfaces, languages, and so on by harping on simplicity. (Programmers At Work. February 29, 2008. Charles Simonyi 2008/1986. By Susan M. Lammers.)
Here is my take on it all. Calculus "Ex..P" is designated to become a discipline of making in order complexity, thus transforming it into quantity. Put differently, the complexity of the user’s domain shall make an impact on the semantics of the calculus "Ex..P", leaving the complexity of the projection of the final product represented in calculus "Ex..P" not intact.
Our brain tends to simplify everything we perceive. Then our thinking kicks in. That's why simple things should have simple solutions in order to proceed. For a human being nothing could be more simple than a picture. That's why a picture should be that micro command of the human intellect to process. Acquire the knowledge, compressed into pictures, add to this type of scenario and you shall have the starting point where I'm, after more than 30 years slow journey along this path. I call it, Calculus "Executable Pictograms" for Programming. So, honestly, there is nothing new here. First you learn, and then you create a picture and learn again to change it repeatedly, until you unable to add anything more to the picture created. That's my philosophy of computer programming, and here you have samples of it.
All WEB site examples are nothing about "what you can see", it's all about "what you cannot see". What you see is the delineation of a sculpture of virtual reality, recreated adding to this picture: hyperlinks; options to choose from, created through computer analyze/assistance; and calculus for programming, based on the method of imperative programming for visual paradigm. You should perceive me as a filmmaker. If you ask him, "show me the movie?", what he can answer you, so neither me. Your take, on all you have, lays on your quick wits, unless you reinvent the missing. Keeping human comprehension and examples in mind, this sculpture has: his two-three dimensional picture; hyperlinks - another one dimension; calculus "Executable Pictograms" for programming - one more dimension; and computer analyze/assistance, enforcing calculus for programming, where interactive computer input is meant - the final dimension. So, there is a very important part missing - a tool called "Computer Aided Pictographic Design of computer Programs" (CAPDP) - the hyper space (Integrated Development Environment) created from above mentioned dimensions.
“The new version is coming soon”. Let's say - it is under construction. The construction itself is not to be disclosed yet. But I’ll give you a clue, where I go.
How many computers do you mean, when you say: -“a computer programming”?...
I’ll help you...
The answer is "Two":
- The first one – each of you tend to imply.
- And the “other one” computer – that all of you tend to omit – your brain!.
So, Calculus χπ is designated to shape, document and recall your thoughts on the "other one" computer – your brain, and the WYSIWYG IDE CAPDP – to address autonomously the first one (implied) to perform the coding and produce the results.