"Four of the Reading notes of the program Development Psychology"

Source: Internet
Author: User

"Four of the Reading notes of the program Development Psychology"

This book is definitely a classic, has already published its own two of the most interested in the insights and benefits from the harvest, but the remaining two is also relatively good, let me take you to swim in it!

Here are some of the better ideas that I think the authors of the book have written:

The first article is "The process of human behavior development", the following is what I think the author summed up the better point:

(1) The programmer's own code is to make up for the shortcomings of the computer itself, I think this is a relatively unique author's views.

(2) We've found that a lot of code is just trying to overcome the imperfections of the hardware configurations that we're likely to encounter, which is the author's new Thinking about program development.

(3) Another limitation that programmers face is the limitation of programming language to specific implementations, which is the grammatical rules of programming. (4) The third limitation is the programmer's own limitations, that is, their own ability and the control of the algorithm. (5) The overall structure of a program is determined by the size and composition of the software group that originally developed the program. (6)Program adaptability: Fisher theorem: The more adaptable a system is to a particular environment, the weaker its ability to adapt to the new environment. If the emphasis is on the efficiency of the program, then we tend to pursue "tight" code, and if you want to modify the code in the future, it will be very tricky. If you are using a higher-level language, then in order to make the program more efficient, we often need to go deep into the machine language layer. This approach at least offsets the benefits of using higher-level languages-portability between different machines.(7)How to study program design: After discovering a program error, will you calm down first and then explain the process of thinking that leads to the wrong? The next time you find an error, try doing it once and then write a brief report or an overview based on your experience.(8)Software development projects completed in universities are often non-maintainable, difficult to use and difficult to test, and are more practical here, as is the case with most of us today. The way the program is written depends on a multitude of factors; once we actually read the program, we'll see whether or not it's necessary that the codeThe reason for this is that the limitations of the computer, some due to the limitations of the programming language, some due to the limitations of the programmer, some because of historical accident, and some may be because of the specification. However, whatever the reason for this is that the final software is adding a particular piece of code, the reason must have a psychological side. This has led us to believe that the development of procedures as a human-dominated activity will result in fruitful results. (9) and there are also the following five major limits:

A. Machine limitations: For example, if the cost of making the main memory is low enough, there is no need for intermediate memory to exist at all. But this is an ideal hypothesis, in fact, we have to use storage media such as disks-this will bring a lot of program development work. In addition, each device has its own specific clock characteristics, addressing mode, and storage capacity. We find that a lot of code works just to overcome the imperfections of the hardware configurations that we're likely to encounter.

B. Language limitations: For example, there is a large number of redundant code in the Fortran language, either because the Do loop cannot be reversed, or because the expression is not allowed to be used as an increment or an upper or lower limit for a fall, or because the array subscript must start at 1. In many other languages, there is also a dull limit to the side branches. Unless these restrictions are removed, we may not be aware of these limitations at all. (Weinberg says this is a psychological issue that will be discussed later in the chapter, and I'm looking forward to seeing what's going on here.)

C. Programmer restrictions: One is that programmers may not understand all the functions of the programming language, the second is that the programmer may not know some specific algorithms, or can not take into account the various parts of a large problem, so as to effectively avoid duplication of work.

(10) Legacy issues: Some of the code has not been modified according to the recent improvements in the program language, which makes any piece of code possible with historical legacy issues. And if a program runs well, it is unlikely that anyone will be able to investigate it.

(11) Specification: In almost all programs, you can always find some code, and now it has become the function that people need. Even if we can successfully peel off these core parts from the program, we should not be misled by the illusion that we think we can standardize the kernel in the first place. It is difficult for programmers to determine their ultimate intentions when there is little knowledge, and it is difficult to write code that is based on it if there is a lack of a minimum understanding of the capabilities of the computer in making the specification. The specification is improved with the development of programs and programmers, and the process of writing programs is to use specific programming languages on specific computer hardware, with specific programmers in a particular working environment, in the context of a specific set of historical events, which not only determine the form of the program, but also include the function of the code.

the fourth chapter is the Program development toolThe most important point in this article is that, as a supervisor, you should be able to learn to find all the additional communication tools that programmers need to communicate, so that the communication between the program development team can be done normally and effectively. Another point is: To solve a very difficult problem, do not have fear, although the machine world we unpredictable, its complexity is difficult to imagine, but do not be discouraged, we should actively put into practice, even if the final can not find a way out, but do not worry, after all, the process is the most important, The continuation of the process is the accumulation of your experience, so do not care about the final results, but should focus on the accumulation of experience! Reading progress: This blog post is read or written.

"Four of the Reading notes of the program Development Psychology"

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.