The tragic programmer paradox

Source: Internet
Author: User

Good programmers often spend most of their time doing the work he hates, using tools and techniques that he hates.

This is, in a sense, a paradox. Often our intuition is that poor programmers spend their time on crappy technology, while good programmers are using high-tech time. Are you sure? I found this paradox in practice, and I didn't understand why until later. And listen to my one by one-way.

What kind of work does the programmer despise?

For those programmers who have experience in web development, it is know why, but here I mainly explain to non-programmers.

If one thing can be done automatically, then the best programmers are usually dismissive of it. If you force a programmer to do something that can make a machine (usually a computer), he will be so angry that he wants to beat you up. The programmer's wish is to let the machine to finish all the work, is all oh, haha. And the only thing that the machine can't do is that the programmer will be interested in tinkering with it.

This is the instinctive idea of any physical and mental programmer.

Here is a case that needs to be done automatically. If the programmer is browsing the code document, it needs to fix 791 lines of bugs. There are a total of 1000 lines in the file, but his file editor can only display 30 rows. Most people will choose to scroll down--scrolling--scrolling, then up to 791 rows. But as a good programmer, could you do such a foolish thing? He will write an editor that automatically jumps to the exact number of rows. For example, "Ctrl-l, 791, Enter" is the editor I use.

This example is simple and complex.

The reason is that a good programmer hates to do this kind of mechanical, repetitive things, because these trivial things will interrupt their thinking process. Thinking is so fragile that once interrupted, like a train, it takes a while to clean up. If you need to do some manual work every 5 minutes, then your mind train will not be able to get anywhere. In the day-to-day work, programmers need to use a variety of tools to complete projects in a variety of technologies. So no wonder they like the relatively small jobs of "manual labor" and are particularly disgusted with projects that require a lot of manual work. They like almost no manual technology and tools (such as Python,django and Git), and hate the need for a lot of manual technology (I don't give an example, everyone is free to play).

But because of the need for work, programmers are also forced to use ugly's technology that requires manual manipulation while using cute, fascinating automation techniques. That's when the difference comes, and good programmers try not to use the annoying technology, but there are times when he can't be avoided. Sometimes it is because of the need for software that he is writing, for example, when all programmers are doing web programs, they cannot avoid using a large HTML language. Sometimes the reasons why these outdated technologies cannot be eliminated are simply because everyone is using them, and programmers need to collaborate with everyone so easily.

Time has been wasted on these outdated technologies.

From this point of view, the paradox presented at the beginning of the article is easy to understand. This poor technology takes up most of the programmer's time and effort, and the good technology is not. Every programmer has a limited amount of time and effort every day, because of the problems of the software itself, which makes them devote most of their time to the technology and work that they hate. That's the reason, the great programmers are miserable!

I especially hope to be able to solve this problem at the end of the article or something, but unfortunately not. What we can do is to minimize the bad technology, let them out of our lives, and for those that cannot be avoided, remember a word-endure it.

Free to receive the lamp brother even original PHP video tutorial CD/"Detailed PHP" Essentials Edition, details of the website customer service:

Http://www.lampbrother.net

The tragic programmer paradox

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.