For specific writing advice, I recommend the new book The Sense of Style by Steven Pinker, which is about not just fussy rules of English but also about THINKING in a way that helps improve writing. I will have to practice with the ideas in that book for a long time.
For specific advice on improving English, I have some tips I've shared before here on Hacker News that other readers have liked. As I learned Mandarin Chinese up to the level that I was able to support my family for several years as a Chinese-English translator and interpreter, I had to tackle several problems for which there is not yet a one-stop-shopping software solution. For ANY pair of languages, even closely cognate pairs of West Germanic languages like English and Dutch, or Wu Chinese dialects like those of Shanghai and Suzhou, the two languages differ in sound system, so that what is a phoneme in one language is not a phoneme in the other language.
But a speaker of one language who is past the age of puberty will simply not perceive many of the phonemic distinctions in sounds in the target language (the language to be learned) without very careful training, as disregard of those distinctions below the level of conscious attention is part of having the sound system of the speaker's native language fully in mind. Attention to target language phonemes has to be developed through pains-taking practice.
It is brutally hard for most people (after the age of puberty, and perhaps especially for males) to learn to attend to sound distinctions that don't exist in the learner's native language. That is especially hard when the sound distinction signifies a grammatical distinction that also doesn't exist in the learner's native language. For example, the distinction between "I speak" and "he speaks" in English involves a consonant cluster at the end of a syllable, and no such consonant clusters exist in the Mandarin sound system at all. Worse than that, no such grammatical distinction as "first person singular" and "third person singular" for inflecting verbs exists in Mandarin, so it is remarkably difficult for Mandarin-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).
Most software materials for learning foreign languages could be much improved simply by including a complete chart of the sound system of the target language (in the dialect form being taught in the software materials) with explicit description of sounds in the terminology of articulatory phonetics
with full use of notation from the International Phonetic Alphabet.
Good language-learning materials always include a lot of focused drills on sound distinctions (contrasting minimal pairs in the language) in the target language, and no software program for language learning should be without those. 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 is not an easy problem.
After phonology, another huge task for any language learner is acquiring vocabulary, and this is the task on which most language-learning materials are most focused. But often the focus on vocabulary is not very thoughtful.
The classic software approach to helping vocabulary acquisition is essentially to automate flipping flash cards. But flash cards have ALWAYS been overrated for vocabulary acquisition. Words don't match one-to-one between languages, not even between closely cognate languages. The map is not the territory, and 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 royal road to learning vocabulary in a target language is massive exposure to actual texts (dialogs, stories, songs, personal letters, articles, etc.) written or spoken by native speakers of the language. I'll quote a master language teacher here, the late John DeFrancis. A few years ago, I reread the section "Suggestions for Study" in the front matter of John DeFrancis's book Beginning Chinese Reader, Part I, which I first used to learn Chinese back in 1975. In that section of that book, I found this passage, "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 (an argument he develops in detail with regard to Chinese in the writing I have just cited) 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,
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,
and it is well worth your while to study books like that both about your native language(s) and about any language you are studying. Good luck.
AFTER EDIT: I'm registered on Stack Exchange now. I refer in my user profile there to my Hacker News user I.D.
"English Language Learners Stack Exchange is a question and answer site for speakers of other languages learning English."
I'd add Write Right! by Jan Venolia and Writing With Style by John Trimble.
The Sense of Style is wonderful but I worry especially that it might be too advanced for relative beginners, and the chapter about sentence diagramming / sentence grouping may be confusing.
One way to learn a lot of those phrases is to
have a little story with maybe 20 such sentences
and then read the story out loud maybe 20
times a day for a few days. Then practice
making the sounds correct via use of language
lab where hear a recording of a native speaker
reading the story and, then, correcting your
reading of the story.
Can learn a lot of a foreign language that way,
So, this approach is radical: Start with reading
and speaking and leave writing and grammar until
later, say, after have already learned a lot of
phrases. Or, in English, how does one learn
I am, you are, he is, we are, you are, they are?
Sure, not by memorizing such a table but by
lots of phrases that are examples of the content
of such a table. Then, when have lots of good
examples, learn the rules later.
I really like this because you get to hear usually several different accents & voices that you can start to correlate with stereotypes - how does a young woman talk, how does a shy person talk, how does a businessman talk, how does a thug talk, etc.
Articles are published daily, as the name implies, and the they are not that long, so you can learn about standard English usage without spending too much time at it.
> "It is brutally hard for most people (after the age of puberty, and perhaps especially for males) to learn to attend to sound distinctions that don't exist in the learner's native language."
I'm a native French speaker who learnt English in Scotland when I moved there (been living in mostly English-speaking countries ever since). As far as most people I meet are concerned, I have a very weird accent; the perception ranges from "he's Scottish" to "what the hell?" depending on where I go and who I talk to. In any case, while phonology is clearly very important, I would argue that it is not completely necessary for expressing yourself properly, at least in writing.
> "[...] another huge task for any language learner is acquiring vocabulary, and this is the task on which most language-learning materials are most focused. But often the focus on vocabulary is not very thoughtful."
This is sadly very true, though I honestly don't think there's a silver bullet when it comes to learning vocabulary. One additional source I would add to your "royal road to learning vocabulary" would be exposure to colloquial language, or slang at the extreme, i.e. listening to day-to-day conversations between "commoners". This is how I realized that there is often a "correct" way of saying something (as in purely grammatically correct), and the "natural" way (i.e. as expected by native speakers).
> "Every language has hundreds of tacit grammar rules [...] which reveal a language-learner as a foreigner when the rules are broken"
Continuing from my previous point, I think the opposite sometimes applies too. For instance, back in Scotland, I had to force myself to say "If I was" instead of "If I were", because the mistake has become so systematic that it has almost become a rule.
I think grammar is at least as important as vocabulary, particularly in a language like English where the language is so modular that words can fairly easily be made up, to the extent that they are understandable within a logical context, even if incorrect.
Finally, I would add culture as a possible fourth big task to add to your list. This may just be me, but there seems to be a dimension of language closely tied to the culture associated with it. There are idioms that make complete sense to me, yet I cannot explain why to my (French) family. This is ostensibly related to linguistic relativity.
I agree as well to the advise given to listen to locals having conversation. It is probably the best way to learn colloquial conversation skills and therefore blend within the local population.
On the accent, it is really hard to leave completely behind your native accent and requires huge amount of effort to replace it. I am not saying it is impossible, but as mentioned by grownseed, some folks will be completely oblivious to the fact that you are not a local and some other will just recognize a twang in the way you speak that isn't quite what they expect from another local.
That being said: "practice makes perfect" ;)