One of the great benefits of the Hacker News community compared to most online communities is that Hacker News is truly international. We are blessed here with comments by participants from all over the world, many of whom did not grow up speaking English. But English is the common language (ἡ κοινὴ διάλεκτος, as the Greeks would say) here, so learning English is an interest of many Hacker News participants.

I had to learn Chinese up to a high level of proficiency as I studied Chinese as a major subject at university, lived for three years in Taiwan in the early 1980s, and then worked for several years as a Chinese-English interpreter all over the United States. I'll try to share here some information that helped me learn Chinese as a second language after starting out as a native speaker of English, in hopes that it will help readers here learn English better.

Any two languages, even closely related languages like Spanish and Italian or standard Thai and standard Lao (and, for that matter, different regional dialects of English or of Italian) differ in sound system, so that what is a phoneme in one language is not a phoneme in the other language.[1]

But anyone learning a second language past the age of early adolescence will usually simply not hear many of the phonemic distinctions in sounds in the language to be learned unless the learner is very carefully trained in phonetics. Disregarding sound distinctions that don't matter in one's own language is part of having a native language (or native languages). You can't imitate what you can't even perceive, so learning to perceive the sound distinctions in the language to be learned is the crucial first step in learning a second language.[2]

For most people it is brutally hard (especially after the age of puberty, and perhaps especially for males) to learn to notice sound distinctions that don't exist in the learner's native language. That is extraordinarily hard when the sound distinction marks a grammatical distinction that also doesn't exist in the learner's native language. To give an example, the distinction between "I speak" and "he speaks" in English involves a consonant cluster at the end of a syllable, and in Mandarin Chinese there are no such consonant clusters at the ends of syllables at all. Even worse for a Chinese person learning English, Chinese has no such grammatical distinction as "first person singular" and "third person singular" for inflecting verbs, so it is difficult for Chinese-speaking learners of English to learn to distinguish "speaks" from "speak" and to say "he speaks Chinese" rather than "he speak Chinese" (not a grammatical phrase in spoken English).

If software authors who write foreign-language-learning software simply included information about the sound system of the language to be learned, such as a full chart of the phonemes in that language, with descriptions of the sounds in the standard terminology of articulatory phonetics,[3] that would be a big help to language learners. Even better would be for all language-learning materials to teach the notations needed from the International Phonetic Alphabet[4] for each language to be learned.

Language-learning books, sound recordings, and software always need to include a lot of focused drills on sound distinctions (contrasting minimal pairs in the language) in the language to be learned. No software program for language learning should lack pronunciation drills and listening drills like that. It is still an art of software writing to try to automate listening to a learner's pronunciation for appropriate feedback on accuracy of pronunciation. That's a hard problem that needs more work.

Even before learners think about learning pronunciation, they think about learning vocabulary. But the vocabulary lessons in many language-learning materials are very poorly focused and ineffective.

The typical software approach to helping vocabulary acquisition is essentially to automate flipping flash cards. But flash cards have ALWAYS been overrated for vocabulary acquisition. The map is not the territory, and words don't match one-to-one between languages, not even between closely cognate languages. Every language on earth divides the world of lived experience into a different set of words, with different boundaries between words of similar meaning.

The best way to learn vocabulary in a second language is day-by-day steady exposure to actual texts (recorded conversations, stories, songs, personal letters, articles, and so on) written or spoken by native speakers of the language. The late John DeFrancis was a master teacher of Chinese, so I'll quote him on this point here. In the section "Suggestions for Study" in the front matter of his book Beginning Chinese Reader, Part I, DeFrancis writes, "Fluency in reading can only be achieved by extensive practice on all the interrelated aspects of the reading process. To accomplish this we must READ, READ, READ" (capitalization as in original). In other words, vocabulary can only be well acquired in context and the context must be a genuine context produced by native speakers of the language.

I have been giving free advice on language learning since the 1990s on my personal website,

http://learninfreedom.org/languagebooks.html

and the one advice I can give every language learner reading this thread is to take advantage of radio broadcasting in your target language. Spoken-word broadcasting (here I'm especially focusing on radio rather than on TV) gives you an opportunity to listen and to hear words used in context. In the 1970s, I used to have to use an expensive short-wave radio to pick up Chinese-language radio programs in North America. Now we who have Internet access can gain endless listening opportunities from Internet radio stations in dozens of unlikely languages. Listen early and listen often while learning a language. That will help with phonology (as above) and it will help crucially with vocabulary.

The third big task of a language learner is learning grammar and syntax, which is often woefully neglected in software language-learning materials. Every language has hundreds of tacit grammar rules, many of which are not known explicitly even to native speakers, but which reveal a language-learner as a foreigner when the rules are broken. The foreign language-learner needs to understand grammar not just to produce speech or writing that is less jarring and foreign to native speakers, but also to better understand what native speakers are speaking or writing. Any widely spoken modern language has thick books reporting the grammatical rules of the language.[5] It is well worth your time to make formal study of the grammar of your native language and of the language you are trying to learn, especially in materials for foreign learners.

[1] http://www.sil.org/linguistics/GlossaryOfLinguisticTerms/Wha...

[2] http://www.ncbi.nlm.nih.gov/pubmed/10442032

[3] http://en.wikipedia.org/wiki/Articulatory_phonetics

[4] http://www.langsci.ucl.ac.uk/ipa/ipachart.html

[5] http://www.amazon.com/Soluzioni-Practical-Contemporary-Routl...

http://www.amazon.com/Modern-Italian-Grammar-Practical-Gramm...

http://www.amazon.com/Reference-Grammar-Modern-Italian-HRG/d...

http://www.amazon.com/Comprehensive-Grammar-English-Language...

http://www.amazon.com/Cambridge-Grammar-English-Language/dp/...