The SKY. Project
SKY. project idea is simple: this is a training project in the field of software, which develops rapidly and endlessly (or for a long time). How such a project may be realized? "The ends justify the means..." a popular quotation goes. However, in one way or another, any tool can either help achieve the goal, do harm or make no influence. In SKY. it is believed that the quickest development of the project can be achieved only with the involvement of the biggest possible number of programmers. How can they be involved in the work on the SKY. project? Nothing can be better than good will, which means SKY. must be useful and interesting in the first place to the users of the SKY. -programmers, and not in terms of its development, but for solving everyday tasks of programmers. So, SKY. should always be free, SKY. must start in the field of web-programming, since this area of programming can provide the most dynamic development of the project. The following programming languages make the core of the SKY. code: PHP, MySQL (for the same reasons).
PHILOSOPHY OF SKY
In general, in theory, one could use statistical analysis to some of the conclusions in the previous paragraph (and in a subsequent discussion), real data capturing, for example, number of web programmers on the planet, and compare it to the number of programmers in other areas, the number of web programmers working with PHP and with other programming languages. One can imagine a very big number of factors to be assessed on the basis of which you can make the right decision about starting the physical realization of SKY. - how, where and what way SKY. must appear to meet its main aim - the fastest infinite development. Many factors when comparing should be normalized (reduced to a unified scale of importance). For example, you can't directly compare statistical priority factor of the number of programmers in one of the programming languages with priority factor of the code speed performance (when implementing the same functionality) written in another programming language. For example, there are 10 times more PHP programmers in the world than C programmers, but C works 20 times faster than PHP. Numerically C wins to be given preference, but this comparison will be incorrect because numerical values must be normalized, reduced to a unified value of importance. For example, PHP gets 100 points, and C gets 1 point. Normalization takes into account secondary factors, such as, for example, complexity of writing the same code for PHP and C. Such statistical model of comparison to select preferences is real, so there is a hypothesis about the only correct condition of SKY. at the current moment of its development, which provides the quickest development of SKY. As this model works practically correctly, it is extremely complex and we described it here only to refer to the concept of "SKY. threads", that is the only correct line of development during which the maximum speed of SKY. development is observed. Instead of it,to select preferences at the early stage of SKY. materialization we can make a similar assessment by intuition, according to our experience. "Feel the thread of SKY." means to make correct conclusions and take correct decisions in preference for the actual state of SKY. to be minimum different from the only correct way of SKY. development. The concept of "nonsense" is introduced to indicate a significant deviation of software (most often - reusable) code from the perfect thread of SKY.
A REAL THINGS
Twice two is four,
twice two is four,
it is well known in the whole world.
In our material world with space and time, we attach the concept of "reality" to material things... We say, I am real, I have a body; the computer where I am currently reading this text is physically real... And is equation 2 * x = 4 real? Yes, it exists, it means it is real, moreover, - it has its material representation in the form of magneteed spots of the computer hard drive (or when it is written on paper). And if it did not have material shape (materialization), would it be real? In general, once it was like that when there was no written language and people could not count, and this equation materialized for the first time, i.e. took a material form on paper or even in the human mind in the form of special bond of neurons. Using the same analogy we can say that a lot of interesting things (virtually exists, but not found), which at one stage become materialized for the first time - these are scientific discoveries, and probably even a human soul itself - are similar in a way. For the above equation to be real, there is no need in existence of matter, space and time, in principle... Let us call it a simple spiritual essence. In the similar way there is a real theory of the structure of matter (which would be greatly welcomed by the contemporary scientists), it gives rather exact description of the role of elementary particles, which now has an incomplete material shape and on which billions of dollars are spent to move it at least one step forward. In a similar way we can say that SKY. is real and it is acquiring its shape right now. It follows from logical reasoning and SKY. definition. The leader of development among the software projects must exist. In the area of programming everything is considered in a bit simpler way than in scientific research of physicists. An enormous number of people can potentially work on the project (and this is a great power). Each of them has everything he needs, in comparison to the fact that a very limited number of scientists have access to the Large Hadron Collider. In general 3 things are important for any development:
- Innovation - creation of new material shapes of an object based on the existing foundation and on the foundation which was given naturally;
- Moderations - assessment of material shapes of innovations, and taking a decision on inclusion of the innovation in the development object;
- Crystallization - search of all possible factors important to the functions represented by the innovation, normalization of the factors and correction of material shapes of innovations to achieve the perfect look. In software it means choosing the best quality of fundamental basis for creation of this software.
PROGRAMMING OF LIVE ARTIFICIAL INTELLIGENCE
Probably many programmers who have experience of implementing complex algorithms, were wondering if it is possible to implement software-based consciousness... A complex of feelings flowing in time can be described as consciousness, and a feeling is some kind of real energy in a living being at a current moment, which may not show itself (not taking into consideration its effect on a human physiology - pulse, fever, sweat, blood pressure, etc.), but which can have a significant, sometimes unpredictable influence on the living being actions in the future. Feelings look like a secret of contact of the time world with the eternal and it is not possible to create an algorithm (a sequence of actions in time). If to believe that a human soul is a complex spiritual essence, unlike a simple spiritual essence, - the formula indicated in the previous paragraph, but which actually exists outside of matter, space and time, then the task of creating a living artificial intelligence comes down to finding and creating a peripheral hardware - that is an antenna unit that will select a singular complex spiritual essence, and the solutions that will be taken by such artificial intelligence will be coming through this peripheral hardware. Is it reasonable to conduct scientific research in this direction? No in any case! Such first experience will always be a step into the unknown: from a humanitarian point of view - we cannot say how such a living creature will feel having a virtual body in the computer, from the point of view of security - we cannot say how much strong, smart and aggressive such consciousness would turn out to be. Animals in our world are as alive as people, but for the sake of a human life we have to sacrifice an animal life, and nobody condemns a man. It is possible that the difference in levels of consciousness of a man and such AI will be enormous and a man will find himself in the place of an animal. Therefore, search for AI must be conducted in a purely algorithmic way, soulless one. Human needs in the AI area can be absolutely satisfied with this option. It is quite enough to explain to the computer using your voice what computer programs you want to create and it must be able to create them (with a perfectly effective code) within a short period of time. To continue our thoughts about spiritual entities, space and time, we can add that matter, space and time are also spiritual entities but special ones, these are products of the eternal world of mathematics and logics. Let's pay attention: living creatures do not require energy for decision-making! Energy is the notion of temporal world, the energy is needed to produce new energy (food digestion), for mobility (growth, movement in space), information communication with the spiritual essence and other things, but not for direct decision-making. Decision are not even "made", they are "taken" from the spiritual entity, and to think it means to seek quite a "light vision", that is, to tune communication with the spiritual essence in the most professional way. The brain of a living being is not deprived of the ability to algorithmic thinking, but this does not contradict with the above described ideas. A non-living AI unlike a living being needs energy to make decisions. How much real can such a theory be? The answer is simple: everyone chooses for himself to believe it or not that this theory is valid. I will give a simple example, that there is no just "Yes" or "No". If I ask you: will the Sun be shining tomorrow in the same way? I assume the answer is "Yes". And if I change the question: and in 100 years? and in a million years? In the end, in a very long period of time, the assumed answer will be either "I don't know" or "No". But in the time scale "Yes" will gradually disappear. How mush does the author believe in the validity of this theory?... I will answer in such a way: not less than in the validity of the Big Bang Theory. Scientists saw "receding galaxies", relict radiation and decided, "there was a Big Bang". Meanwhile there is a guess that the visual evidence is not enough and the Big Bang Theory is like the theory of the three whales. Singular point exploded and formed a universe, and where did the singularity come from and what it was doing before the explosion - no one explains, just like why there are three whales. Please note that the theory of eternal spiritual entities does not have this drawback. Of course, modern physics describes a large number of details and scientific knowledge is used even now with great practical benefit for the people unlike the theory of spiritual entities. But once you understand it, you will realize that obvious things which seem not worthy of attention because of stereotyped thinking, can be very important. To understand this theory it is necessary to comprehend everything written above in a quite abstract way.
PANDORA'S BOX OR POSSIBLE FUTURE
Let us imagine that "chain reaction" in SKY. started a long time ago and the project is growing rapidly, many people are working on it... As it has been said, the project will start in the field of Web programming, but with the development of the project it will cover the fields of programming not related to the Web or those which have a distant relation, and at one point the level of SKY. development will be on the threshold of creating artificial intelligence. How to prevent aggressive attitude of SKY. to mankind? Pandora's box is in our hearts, you just do not need to make SKY. aggressive! The Earth's nuclear arsenal is capable of destroying the life on the planet any moment, but it can also give hope for salvation from an approaching asteroid, for example. The same situation is possible with SKY. Let us talk about modern Web programming... Now there are many CMS and frameworks created to facilitate the work of programmers, providing a reusable code. But many of them appeared and have already died, some have no development or are used by small number of programmers. Some environments for a reusable code are rewritten by their authors practically from scratch. This confirms the fact recognized even by the authors themselves - that their previous work is not capable for development. Most of the reusable code which now is available in Internet is nonsense, that is, a considerably remote approach to code generation for its reuse from a SKY. thread. Programming in the form in which it exists now (or similar to it), cannot exist for a considerable amount of time and there is no sense in abundance of alternative programming languages. There will be a time when a single language appears on the planet for each level higher than assembler and all the programmers on the planet will work in a unified system that provides a reusable code. And later, programming will be an explanation of a human in his language to the machine what needs to be done. Is existence of multiple threads of SKY. (rapidly developing software environment) possible? Yes, it is logical, therefore, it is possible, as well as branching from the same thread in multiple directions. But the best thread of SKY. is unique, it is also logical, it has the best statistical indicators of comparison factors, among which one will be very important in the future -absence of aggressiveness to humanity.
WHAT IS GOOD AND WHAT IS BAD
The problem with many modern programmers, including high level ones, that they cannot properly understand the purpose, why they write code, what it should look like. And even sometimes having found the correct element in the sense of crystallization, they move away from the correct solution, being carried away by their incorrect thoughts or because of stereotypes. Tell me, can you give an understandable explanation, why to make a simple query to the database, the code in your framework looks as follows:
$db->$mysql->select( … )
No, you cannot? and why do you write it like this? Many could argue now and try to give an explanation, but after the following questions they will not be able to give a coherent answer, or they will give, but after the following ones - will not be able to do it again. And they are likely to loose their head from love to framework and few of them will be interested in the practicability of the code, they will begin thinking about who they're talking to. The matter is that in a great amount of code which is now available on the Internet, the priority factors are placed completely wrong as to what the code must look like. A simple query to the database does not have the object background and should not be a method of the object. In PHP there are a huge number of features, so why not add a feature called sql(...) which will be just a function, and not an object method? I would like to give an example of the object background: imagine that you are writing a browser in C++, a page in the browser is presented with many DIV elements, each of the element has properties and can change, i.e. you must prepare functions for it. This example has a vivid object background. In theory you can write a browser without using OOP, but it would be nonsense, while the arsenal of a programming language contains an object mechanism. Generally if you've written some code... just stop and think why such code is bad... and if you find the answer quickly, then you wrote nonsense, and this code does not have any future for reuse. This article describes the thread of SKY. and hopefully many programmers will fell it, of course only after the "chain reaction" starts. The first and the most important rule: SKY. code is always striving for maximum trivial simplicity, and it has no doubt in any aspect. In innovations we always tend to evaluate intuitively (as far as SKY. has no algorithmic mechanism) the code for all possible important factors in terms of the ideal type of a new code. Such evaluation is useful for SKY. fundamental code as well and it must be carried out on a permanent basis. Such a focused mental analysis can take a long time, however, it is necessary. There is a lot of information, books and articles on the complexity and on the use of OOP in simulation of complex objects and on complex simulations. But complexity is bad, simplicity is good. We could describe here a theory (though we will not do it), that the complex is the same as the simple, when you came to it following the crystal foundation. It means, complexity arises when the entropy of description exceeds the human mind's ability to clearly perceive the information. In general complexity is an ability of a human mind to perceive information. The complexity is formed by a human desire to get closer to the dream. As the complexity is a feature of a human mind to perceive information, you may wish not to see complications in anything and not to overload the brain. Without complications, one can perceive the same information, but at the same time he must have crystal clear understanding of the information that leads him to this new information, and in this case everything will be simple. Crystallization of previously received information is necessary to understand the new information and is an important, simple but great challenge (you need to find all of the important evaluation criteria and to many elements of innovations). If you do not know where mass of the Higgs boson comes from, you don't know what a proton (c) is.
THE SECOND STEP
So, above is the description based on logical reasoning, how to materialize SKY. - a project that has the most rapid and continuous development. Now let us describe in more details its features:
- the start of the project is the area of Web programming with PHP and MySQL languages
- the project must be free for all
- at the beginning of the project everything must be focused on the urgent needs of Web programmers to activate the goodwill. Work in SKY. must look like an interesting game
- the project must always strive to trivial simplicity, code crystallization must be the most important task of the project, an important factor is minimization of the need to read the documentation.
- at an early stage it is necessary to achieve the effect of "chain reaction" or "Rubik's cube effect" effect for the project to capture the minds of millions of people.
In more detail: storage of the reusable code in the form of separate libraries as with the current framework for building Web applications, must not be used. SKY. - is a client-server application where the code database is stored on the Web server, the website provides the necessary interaction. The application-client stores a part of the SKY. kernel code, several ready-to-use Web applications, SKY. null-website, functional is needed to exchange packets with a server, utilities are necessary for normal functioning of Web programmers (they facilitate work with any programming), the functional minimizing the work of Web programmers on preparation and sending to the server the new packages they created, the functional of the system of ratings and titles of Web programmers in the system (vote for work). Conclusion, what is new in SKY.: emphasis on the quest for simplicity and crystallization, centralization of the reusable code (while of course every framework inventor would wish his code was used by the whole world), in the global sense plug-in system is changed with the opportunity to change the whole SKY. code, the chaos in this issue must be addressed by the mechanisms of facilitation of moderation - the use of rating system, public moderation of a new code, at the initial stage the quest for the "chain reaction" of development to conquer the minds of millions of people.
7 Jan 2013 GMT