This wiki compiles practical information about learning English that I have picked up in my years of teaching. Since I have many students from the tech world and since this wiki is on Github, many of my examples will come from the software sphere. However, I hope that anyone who is trying to improve their English─even natives─may find some benefit.
My emphasis is on practical applications of the language. Wherever possible, I will use examples from the real world, and examine mistakes that I saw in the classroom or in real life.
- Preliminary
- How do We Use Language?
- Qualities of a Good Student
- Grammar
- Pronunciation
- How do I practice English?
- Useful Tools
If you can use a language to discuss anything at any time, stop reading now. You have already learned how to use a language at its full capacity. That is what members of a community of language speakers do: they get together and discuss all the real and imaginary things that did or did not happen at any point or sequence of points across the entire dimension of real and imaginary time.
This outstanding versatility is called "Displacement". It is a feature that is common to all human languages and foreign to all computer languages (except Lisp). When we begin to learn a language, we start with simple relationships, like the relationship between my pronoun, my name, and the place where I am from.
I'm Marvin. I am from Mars.
Later we can add layers of tense, and use words to connect relationships not only between words in a clause, but also between multiple groups of clauses.
My name's Marvin. I live in the Bay Area, although I grew up on Mars. On Mars I was a simple spaceship mechanic, but on Earth I work in DevOps.
Finally we can talk about large complex relationships using highly specialized vocabulary. We can even use this vocabulary to talk about complex event sequences the past times of worlds that never were, hypothetical consequences of actions that never happened.
If Marvin hadn't caught that logic error, we would have probably spent the next few months spiraling downward into a work-induced depression, patching a new problem every day or so until upstream got its act together.
The sentence above deals with single actions (caught a bug), ongoing actions (patching every day), uncertainty (probably), emotion (depression), and a whole set of imaginary consequences in an imaginary past world. Nevertheless, something sucks about it, doesn't it? Where's the "highly specialized vocabulary?"
My "highly specialized vocabulary" is vague and not really specialized at all. Actually it's not even vague; it's just a load of bullshit. This is because I am not a programmer, and my own language is not adequate to describe a software infrastructure problem. Indeed, there are probably many people in the real world who don't speak any English yet can likely understand concepts that are signified by the English words in a software library (eg "Array" or "null pointer") far better than I can. Is this because they speak English better than me, a native speaker and writer of an English wiki? Yes, exactly! They do speak English better than me─at least in the context of the narrow domain described by the words in the software library.
Your language skills are only as good as what you can do with them.
I've been teaching for a few years. In that time, I've seen multiple students who started at a low level ultimately surpass other students who started (and stagnated) at an upper-intermediate level. What's the difference between these students? It's not age, and it's not some mysterious language talent. Look, obviously some people are better at learning some things than others. But talent is not the quality of a good student. These items are:
Good students speak with intention, and they practice things they have learned with intention. When they learn a new word they try to use it. When they learn a new grammar structure, they consciously try to use it. When they hear about a mistake they made, they actively try to fix it. This intention, also called "giving a fuck," is the most important quality of a good student.
You are not going to master a language with pure passive study, but good students pay attention. They read, they listen to movies, they hear how native speakers talk and try to understand why they spoke the way they spoke.
I've seen so many students say they're going to go on a "crash course." They buy books, buy classes, study multiple hours a day, and quit quickly. After this initial heave, some students become more realistic about their learning and take it slowly. Others quit and then use the fact that they didn't master a language after such a colossal effort as evidence that they just don't have a talent for language. The first group are turning themselves from bad students to good students. The second group remain bad students until the day they die. I'm not saying to be lazy. Generally people who work hard get better results than people who don't. But expecting that a few weeks of effort will extricate you from a process that takes most people years is simply a pernicious form of laziness.
Language is useful only if it serves a community of speakers. Here's quiz. Which of the following is not part of a community of speakers?
1. Your mother in law.
2. A troll on a forum.
3. a reader of a CLI utility you wrote
4. Your boss.
5. A language exam.
I don't care that about your grade on a language exam. I suppose I should, because people pay me to care about their language, but I don't, and an angry customer or a confused reader of an API document that you wrote definetely won't.
I have more sympathy for people who struggle with this one. Many people are very shy about their foreign language, and they guard it like a secret. Well, people are shy in all languages! Realize a mistake is not the end of the world. Someone who really cares about the trivial language mistakes of others is in all likelihood someone who should be avoided whenever possible. Other people may not be shy but have no access to a community or teacher. Fortunately anyone with internet access also has access to an enormous quantity of interesting material in their target language (real material not grammar books). They can also participate in online discussions about topics that interest them.
This combines all of the above. You must care about learning. No amount of teaching or any number of classes can make you care. Why should a teacher care more about how you use a language than you do? A dirty secret of teaching is that the good students don't need a teacher and the bad students won't learn anyway.
My joy of teaching, which is not inconsiderable, comes from two things. 1) Teaching good students (who really don't need me) 2) Helping bad students realize how to be a good ones (so they really won't need me).
Am I saying teachers are useless? No, obviously no.However, we must understand a teacher's function. All a teacher can do is show a student the path. A good teacher shows the path very clearly. An exceptional teacher inspires the way a student thinks about a certain path.
I speak a foreign language and I use it every day. I also work with people who use English as their foreign language every day. And many of them are not just students, but people who use the language daily in their personal and professional lives.
Any one who has learned a language has experienced moments of complete inability to express or to comprehend. People who achieve mastery in a second language have likely experienced many of these moments, and made efforts to avoid repeating them. This process of improvement is how they became masters, ultimately gaining the power to discuss all things at all times in their second language.
I have never met a person who achieved mastery of a second language that did not fall into one of these two categories:
- Fortunate sons and daughters,i.e. people who went to bilingual schools or grew up in bilingual environments.
- Good students, who by definition have all or at least most of the properties of good students I listed above.