Why programmers should learn English well

Source: Internet
Author: User

When I was in college, I had to take the ordinary English course, and there was a "computer English" in the professional course. At that time, it was widely believed that the ordinary "English" was over 46, "computer English" is the real need of professional.

When I get to work, I find that many people hold the view that programmers should learn English well. This makes it easy to find information and to quickly learn the latest knowledge. In other words, "learn English" in many people's view, is "learn professional English"-this request is already very high, I have in the "programmer How to learn English" mentioned, not only to be able to read the document, but also know that "black screen" is blank screens, "The crash" is the system halt, Otherwise, the search will be laborious.

But today I want to emphasize that it is very important for programmers to learn "English" rather than "professional English". Learn only professional English, see technical documents, but that a lot of professional terminology and concepts may be like a meteorite, without reason to fall down, can only be eaten with a hard back. If you learn English well, you will have a sense of mastery, knowing that the terms and concepts originally grew out of the ground, with roots attached to the bottom.

Programmers are often considered to be dull and eccentric, to speak a language that outsiders do not understand, in fact, many of the terminology in the technical world are drawn from the experience of life, is very image and interesting. Unfortunately, these meaning and interest cannot be passed through the translation, and it is difficult to read hard in the study of the experience. So if you only look at Chinese materials, or to learn "professional English" attitude to treat, even if you can remember, can only hard back down. Forever, "strange" feeling also spontaneously.

For example, cache and buffer, these two English words are completely different, but the Chinese translation as "cache" and "buffer", looks very similar, many people do confuse (don't be surprised, my interview experience has been proved). Well-known people know that "cache" is the cache, "buffer" is buffer, but there is a bit of trouble, because "cache" is often used for reading, "buffering" is often used for writing. In order to avoid confusion, many people simply give up Chinese to speak English directly, this is really an effective way, but what does the cache and buffer mean, they fall from the sky, or the ground grow out? The answer is the latter.

The cache existed before the meaning of "caching", meaning a secret place of storage, which is "a hidden area for storing objects", such as where animals store food, or the secret of human burial gold. So it is very appropriate to use the cache to name "caches" in the computer: the cache stores the data for faster reading and it must be hidden. I have seen countless programmers write opaque cache, this "cache" must change the main line of business, use and maintenance are very troublesome, if the programmer know a little more English, knowing the original meaning of the cache, the problem will be much less.

The same is true of buffer, which originally meant devices or pieces of material for reducing shock or damage due to the contact, which is "a device or material used to reduce vibrations or damage caused by exposure", such as An air cushion for escape, or a shock absorber for a car. Using buffer to name the "buffering" in the computer is also ingenious: buffer is used to solve the problem of data loss (or blocking wait) when two devices are interacting with the data. When I was in college, the teacher specifically emphasized that "buffering is a problem to solve speed mismatch", which makes everyone impressed. But if you understand a little more English, know the original meaning of buffer, it is estimated that the teacher can not emphasize their own understanding.

such as serialize and flatten, these two words Java programmers are familiar with, other programmers are not unfamiliar. The former is "serialized" or "serializable", the latter, well, some people translate as "flat", and some people simply do not translate, called Flatten good. In short, these two words are more difficult to remember, to explain to other people is also very troublesome.

The document describes serialize: the object can be flattened to bytes and subsequently inflated in the future. Take a look at the original meaning of flat and serial. The meaning of flatten is "flattening, tearing down", serial means "no spacing of the regular arrangement." In this way, the entire description is very image: "Serialization" refers to the separation of objects into a bunch of tightly-stacked bytes (that is, byte arrays), and then can be assembled. There are a lot of people who struggle with whether Serialize is "serialized" or "serializable", and if you know the true meaning of seralize and flatten, it's not appropriate to "serialize" or "serialization", but it doesn't matter.

Yes, programmers are dealing with machines and technology, but that doesn't mean they don't have any fun at work, and they need abruptly to create a lot of "flying fairy" terms. On the contrary, many technical terms are like crops, the life experience as the birth of the soil, so it appears very vivid image. If the programmer's native language is English, he sees the cache, buffer, serialize, flatten and other words, although also to learn its professional meaning, but have background knowledge and life experience can learn from, so "backed tree good shade." But if the programmer's native language is Chinese, English is not good enough, there is no such advantage, those professional terms like meteor rain is difficult to understand and deal with, can only be eaten alive, trouble not to say, over time also easy to become uninteresting.

Some people say that a good translation can solve this problem. To a certain extent, this is true, such as Mr Dongle's translation of the "missile", catchy and vivid image, we heard all understand. Unfortunately, now such a diligent translator has been too few, plus the new words appear too fast, the speed of translation can't keep up. So for programmers, the real way out is also to themselves, do not self-restraint in the "professional English" in the world, but to seriously complete the study of English, understand the original meaning of English words, really know how to think and understand the world with English, to reap the effects of mastery.

Of course, this truth is also set up, do you remember the "Labyrinth" that was recently turned off? Its name and cache, buffer, serialize, and so on, the logic of the "outsiders", if the foreigner programmer only understand the Chinese technical information, see this name is probably also scratching his eyes.

Why programmers should learn English well

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.