[ZT] for web programmers on the Internet

Source: Internet
Author: User
Tags what bit
Write to web programmers on the Internet


Programmers are a vulnerable and special group that survive in the world of 01 in various ways.

Programmer features:
Arrogant, but self-developed
Easygoing, but crazy
Willing to learn from anyone, but unwilling to accept anyone
Keep promises, but not punctual
Rich feelings, but simple
......
Web programs are a special group of programmers. They have stateless, ordinal, and unpredictable features similar to HTTP. This is because of the diversity of web programmers in their origins, components, ways of learning, and career processes. Web programmers are the most dynamic and complex and lovely people in IT practitioners today.

Compared with traditional "academic school" programmers (please allow me to say so for the time being), web programmers are generally born from "poor". This is an industry fact, most of them, especially those who just entered the industry, were not in college and suffering from the normal education system. Programmers with high school, junior high school or even junior high school education are everywhere. through their own efforts, they have mastered certain skills and achieved a good job.

"Academic school" includes many large-scale group-based development activities, outsourcing projects, development based on underlying or hardware, and research development, most of the development tools are concentrated in C, C ++, Ada, and other languages. Java can also be regarded as one of them to some extent, they are characterized by solid foundation, rigor, inner attention, and a bit boring. Web development tends to be more flexible, more efficient, and more expressive.

However, for various reasons, many students in colleges and universities have a very incorrect misunderstanding. They believe that web development is inferior to traditional development and has no level, impetuousness, and has no performance, and then look down on it. Relatively, many web practitioners believe that the work of big companies that college students go to after graduation is rigid, creative, boring, and less practical. They also believe that they cannot learn anything in the university, as a result, they also look down on college education (including those who have received higher education ). This is a very realistic contradiction.

Of course, this contradiction only involves students who have not graduated and those who have not been employed for a long time. After a period of work, they will have a lot of contact with each other, they will feel that they have not experienced the real meaning of each other. There are many creative and passionate contents in traditional development that are worth the reference of the Internet industry, traditional developers feel envious of the strange ideas and unpredictable environments faced by hundreds of millions of users in Web development, the combination of the two reflects the rigor of the school, the importance of knowledge, and the determination of user success or failure, such as search engines, such as enterprise-level B/S distribution systems.

A person who is familiar with C language and has rich experience, it is faster to switch to web development, however, a programmer who has been using PHP for two years and has no other language background will be hindered in his own development. Any language has risen to a certain level, and the problems it faces are no longer the language itself. Language is just a tool, and the method of using it is the deciding factor of production efficiency. After familiarizing yourself with the language, you will gradually encounter more content in your work, such as execution efficiency, storage methods, and algorithm optimization, which is biased towards analysis rather than Code Art. Generally, programmers who have not been systematically educated in computers and have not been trained in universities that think they are "useless" are blindly and helpless in the face of these problems. Many problems require rigorous mathematical analysis. Reading references requires a good level of English and mathematical basics. Smart People will immediately realize the importance of basic education in universities, and most of them will regret going to bed in class, haha ~~

Some people disagree with the analytical methods, and their understanding is mostly superficial. For example, they feel that the data structures and algorithms are indifferent and that they are rarely or impossible to be touched on in Web development. It is true that the current web development scripting languages all have rich functions and are used in a smart manner, most of them no longer need to name variables, create pointers, calculate memory addresses, and write sorting algorithms like the C language. Moreover, the unpredictability of the Internet makes it difficult to have a perfect algorithm to solve problems in all situations, such as sorting. In this case, programmers use the built-in functions of the language to complete operations. Of course, I am not saying that I have to write everything from the beginning. It is a silly task by the manger, but I think, now that the function is used, you should know more or less what is going on with the function. The function you write is a function. Isn't the function provided by the system? Do not understand the source code, at least know what it is doing. Programmers who are pursuing execution efficiency and page execution time every day ignore the efficiency of system functions and think of all system functions as unit operations such as Noop in the compilation.

Are there very few algorithm problems in Web development? For example, the iforum Forum (which I saw in Shanghai a year ago) records user group permissions by inserting a string similar to 11110010011100 in the data table, each representing an operation, 1 indicates that you have the permission to perform the operation, and 0 indicates that you do not have the permission. This method is simple and practical, but it is limited by the length of varchar (although the 255 operations are complicated enough), and the string computing efficiency is lower than the number, have you ever thought about the nature of this algorithm? Have you ever thought about optimizing it?

In ancient China, there was a set of mathematical theories called surplus techniques. For example, there were ten boxes, one plate in the first box, and two in the second box, put four in the third box, eight in the fourth box ...... Put 256 in the ninth box, put 512 in the tenth box, that is, put 2 ^ (N-1) in the N box plate, a total of 1023. The proposition is as follows: Within the number 1023, any number can be combined by a few combinations in the ten boxes (you will know by yourself ...... Haha ).
Why is the sequence 1, 2, 4, 8, 16, 32, 64, 128, 256, and 512 magic? Features of this series: 1. Each item is twice the value of the next item. 2. each item is bigger than all the preceding items and is 1 larger. This 1 is the key. Because of this 1, it can increase by 1 and spell out any integer in the sum. This sequence is called the superincremental sequence, which is the basis for solving the problem of backpacks.
For an integer, assuming 377, its binary value is "101111001", which is formed by the first, fourth, fifth, sixth, seventh, and ninth boxes, for a description of nine operations, 377 is an instance under this description and is a weight value.
What are the advantages and disadvantages of saving this string and such a value ~~ Obviously, the advantage of saving strings is that the computation pressure is low. We may have heard a story about extending the super-incrementing sequence to 64th items, that is, the legend of the magician and the emperor Asking for rice grains on the chess board. The sum of 64 items is an astronomical number! But don't forget, the computer itself is a machine that only knows binary! (This is ignored by many web programmers. Many people do not know what bit operations are.) Some people worry that the int length of the database is not long enough. Since it can save a varchar string consisting of 0 and 1, why can't I save a hex string? Is it specified that varchar can only save 01? The length of the hexadecimal string is exactly 1/4 of the binary, and the conversion from the hexadecimal string to the binary string is very direct and convenient.
The above is the origin of this permission string. I don't know how many web programmers think of this ...... When a C or assembly programmer sees this string, the first thought of it as a decimal 15516 (not immediately ).
This leads to web-related issues, such as saving multiple selection boxes and saving voting options ......

Web programmers need to learn some knowledge about data structures, algorithm analysis, and so on. Although they won't be so obvious in their work, these concepts are a good catalyst for learning their own languages, it will help programmers better understand information on materials and get twice the result with half the effort. It will also help developers clarify their clues when the problem is hard to get rid, find a breakthrough to solve the problem through a clear thinking process.

The first reason that hinders programmers from learning these things is that the basic discipline is not solid, such as mathematics. Division of computer science into science and engineering is very reasonable. Computer science is built on a profound and huge mathematical system, and how to learn mathematics ...... This is a problem. The second is mental disorder, and it is hard to learn from school. Natural schools are the best place to learn basic disciplines, but the knowledge needed at work is often closer to reality. In practice, learning is usually better than moving things in boring books. Third, objective reasons: Most practitioners are very busy at work and have little spare time (this is almost a programmer's sign), So learning can only be done at work. This learning method requires skill, will contact. The fourth is the information source. It is now suitable for web programmers to learn. There are too few basic books written based on the characteristics of the web script language! For example, most books on data structures are based on rigorous and traditional languages such as C, C ++, and Pascal. The operating system principles are mostly described by underlying scripts such as assembly, most of the design ideas are based on the pure OO language of Java. I have not found any schools that use the weird language Perl to teach data structures.

Based on the above research results, we can organize our ideas in a systematic manner and consider from the perspective of web programmers to make meaningful activities suitable for the special group to learn and improve.

Related Article

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.