Why do I think programming is like magic?

Source: Internet
Author: User
In addition to making every effort to generate various simple understandings, mental activities are mainly manifested in the following three aspects: combining several simple understandings into a composite cognition, resulting in various complex understandings; by putting two understandings together, no matter how simple or complex they are, they are not combined into one in doing so, so as to get an understanding of their interrelationships.

In addition to trying to generate various simple understandings, mental activities are mainly manifested in the following three aspects:

  1. Combine several simple understandings into a composite cognition to generate various complex understandings;
  2. By putting two understandings together, no matter how simple or complex they are, they are not combined into one in doing so, so as to get an understanding of their interrelationships;
  3. Separating cognition from all other understandings that are actually with them is abstract, and all universal understandings are achieved in this way.

In the Encyclopedia of English, the author pointed out that in the process of understanding and understanding the real world, humans generally use three construction rules:

  1. Differentiate objects and their attributes, such as the size or spatial location of a tree and a tree.
  2. Differentiate the entire object and its components. for example, distinguish between a tree and a tree branch.
  3. The formation and differentiation of different object classes, such as the formation and differentiation of classes of all trees and classes of all stones.

We are going to learn about the computing process. Computing processes are a kind of abstract things that exist in computers. in their evolutionary processes, these processes operate on abstract things that are considered as data. People create rule patterns called programs to guide such processes. In terms of function, it is like we are controlling the genie in the computer through the magic of our own writing.

A computation process is indeed like a kind of magic. it cannot be seen or touched, and it is not made up of material. However, it is very real and can complete some intellectual work. It can answer questions and influence the world by paying cash in the bank or manipulating robots in the factory. The program we use to command such a process is like a magic spell of a Wizards. they are carefully organized in the form of symbolic expressions by some mysterious and esoteric programming languages, they describe what we want to do with the corresponding computing process.

In a normal computer, a computing process will precisely and accurately execute the corresponding program. In this way, new programmers must learn how to understand and anticipate the effects of their spells, just like the apprentices of the Wizards. Even if there is a small error (often called a program error or failure) in the program, it may have complicated and unpredictable consequences.

Fortunately, the danger of learning programs is far less than learning wizards, because the gods we want to control are constrained in a safe way. The real program design requires extreme care. Experience and wisdom are required. For example, a small fault in a computer-aided design system may cause catastrophic damage to an airplane or dam, or self-destruction of an industrial robot.

The software engineering masters can organize their own programs so that they can reasonably be confident that the computing processes produced by these programs will be able to accomplish the expected work. They can see their system behavior patterns in advance and know how to construct these programs so that unexpected problems will not cause catastrophic consequences. In addition, when such a problem occurs, they can also exclude errors in the program. A well-designed computing system, like a well-designed automobile or nuclear reactor, has a modular design. each part of the system can be independently constructed, replaced, and eliminated.

The acts of the mind, wherein it exerts its power over simple ideas, are chiefly these three: 1. combining several simple ideas into one compound one, and thus all complex ideas are made. 2. the second is bringing two ideas, whether simple or complex, together, and setting them by one another so as to take a view of them at once, without uniting them into one, by which it gets all its ideas of relations. 3. the third is separating them from all other ideas that accompany them in their real existence: this is called into action, and thus all its general ideas are made.

We are about to study the idea of a computational process. computational processes are abstract beings that inhabit computers. as they evolve, processes manipulate other abstract things called data. the evolution of a process is directed by a pattern of rules called a program. people create programs to direct processes. in effect, we conjure the spirits of the computer with our spells.

A computational process is indeed much like a sorcerer's idea of a spirit. it cannot be seen or touched. it is not composed of matter at all. however, it is very real. it can perform intellectual work. it can answer questions. it can affect the world by disbursing money at a bank or by controlling a robot arm in a factory. the programs we use to conjure processes are like a sorcerer's spells. they are carefully composed from symbolic expressions in arcane and esoteric programming versions that prescribe the tasks we want our processes to perform.

A computational process, in a correctly working computer, executes programs precisely and accurately. thus, like the sorcerer's apprentice, novice programmers must learn to understand and to anticipate the consequences of their conjuring. even small errors (usually called bugs or glitches) in programs can have complex and unanticipated consequences.

Fortunately, learning to program is considerably less dangerous than learning sorcery, because the spirits we deal with are conveniently contained in a secure way. real-world programming, however, requires care, expertise, and wisdom. A small bug in a computer-aided design program, for example, can lead to the catastrophic collapse of an airplane or a dam or the self-destruction of an industrial robot.

Master software engineers have the ability to organize programs so that they can be reasonably sure that the resulting processes will perform the tasks intended. they can visualize the behavior of their systems in advance. they know how to structure programs so that unanticipated problems do not lead to catastrophic consequences, and when problems do arise, they can debug their programs. well-designed computational systems, like well-designed automobiles or nuclear reactors, are designed in a modular manner, so that the parts can be constructed, replaced, and debugged separately.

This article is available at http://www.nowamagic.net/librarys/veda/detail/1912.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.