A preposition is a perfectly acceptable thing to end a sentence with. Seriously. If you find yourself re-writing it as "with which to end a sentence" you're going to come across as stilted and awkward.
It's a useful rule though: an English grammar book that proscribes trailing prepositions is one you needn't spend any more time with. Just put it down and forget that it exists.
Like so many other rules, it results from Latin-steeped scholars of the 19th century who were uncomfortable with the flexibility of their native tongue, and attempted to hem it round. It's understandable. These men knew they could use the full scope of expression of Latin. About the only person who's ever pushed English hard enough to make it creak was James Joyce.
Amusing aside: you can transform transitive verbs into nouns in English directly (to request, a request). You can't similarly transform intransitive verbs because they require a preposition. In German, you would say a for-ask or an of-ask, but we don't accept that in English. Verbs with both forms are an interesting grey area, such as to dig vs to dig for.
It isn't fixed like English, but parts of it are indeed fixed, prepositions being one of them. The issue isn't that putting a preposition at the end of a sentence in Latin gives the preposition undue emphasis, but rather that you simply can't put a preposition at the end of a sentence in Latin[1]. Ending an English sentence with an article would be roughly similar in terms of nonsensicality. As for Joyce, well, you know he's binomeans to be comprendered!
1. It's the same with split infinitives, which you just can't do in Latin short of tmesis (http://en.wikipedia.org/wiki/Tmesis#Latin).
> You can't similarly transform intransitive verbs because they require a preposition. In German, you would say a for-ask or an of-ask, but we don't accept that in English.
i think i'll have a bit of a lie-down now....
Maybe in your lean-to? (Only other example I can think of quickly.)
More seriously, thanks to the grand-parent for squelching the preposition nonsense so soundly.
That means prepositions are very much something you can end a sentence with. And you can start one with a conjunctive too, if it feels right. The rules of grammar are more like the pirate code than an ISO standard - they're more what you might call guidelines, really.
As an example, here's a wonderfully written article by the late statistician, Jacob Cohen: http://www.ics.uci.edu/~sternh/courses/210/cohen94_pval.pdf
-- Winston Churchill, on not ending sentences with prepositions
Overwhelmingly, projects I've been involved in that failed or nearly failed did so because of basic communication problems - misunderstanding someone, not clarifying, not getting enough detail, making assumptions, etc. Yet these skills are hardly ever taught anywhere. Hard tech skills in schools, certification progams, etc. all cover less than half of what makes a truly useful developer.
Despite that, the most important training I have received is from taking the in-house courses on subjects like Interviewing, making decisions, being effective, basic management skills, etc. The one thing they have all had in common was that they taught (and stressed) better communication skills.
Seemingly simple, "soft" stuff like learning how to listen better has been more useful in my day to day work as a programmer than a technical graduate degree. Go figure!
It's a nasty habit that I've been trying to curb this year, with some effectiveness. Whenever I catch myself making an assumption, I either come up with other assumptions and weight them, or wait until I can get some clarity on the issue.
I find that I have a nasty habit of giving a "voice" to a textual conversation. I'll start reading it as if the other person is happy, or angry. Then I'll continue down that path.
Recently it got to a point where I was seriously convinced that every text a friend was sending me was an angry quip. Every fiber of my being was slowly filling up with anger and resentment. When in fact they weren't angry at all, they were just short on time and words. I was getting upset over an imagined (assumed) problem.
I felt incredibly silly, and that is what made me decide to stop making assumptions in my communications.
- 25% Poisonous people in key architectural/infrastructure positions who actively make it as difficult as possible to communicate.
- 15% "Mea culpa". I fail to clarify or make an assumption due to busyness, lazyness or missing something.
- 25% Folks who do not take initiative to engage in conversations at the appropriate time. These folks typically pop up with 11th hour critical path problems.
- 35% General nonsense: People incapable of writing english, etc.
And of course it makes a difference what you read.
Learning how to do anything well takes practice.
But you will not become a good writer unless you read.
As for what you should read,
"Garbage in, garbage out."
What do you think are the effects on your writing from reading blogs like "codinghorror"?
If your aim is to be a better written communicator in business, then you should read business correspondence from good sources.
"For ever reading, never to be read." - The Dunciad III
Is there a difference in encouraging a "scholiast wit" to write versus encouraging a "dimwitted blogger"?
Being aware of why you are not developing a skill is probably key -- review from others helps to provide insight into potential underdeveloped areas.
Written communication is naturally more challenging than face to face verbal communication. These "short" communication modes make things worse, opening up all sorts of possibilities for misinterpretation and miscommunication.
I felt so shackled by IM conversations, that I disabled GChat earlier this year. I've rediscovered the telephone and how superior it is when I really want to understand the other person. The only modes of only written communication I employ now are blog posts, forum posts, and emails. They all give me the opportunity to thoroughly review my words before setting them free.
Twitter and FB status messages I put in a different category, because it's difficult to have a proper conversation with them. It's pretty easy to have a proper conversation on IRC, though, at least if all parties are text-chat-fluent.
I've used them for technical phone interviews and they work well. Combine that with phone and skype and you can make things happen (of course it's hard to run code in this).
Perhaps a screen sharing / webex approach would work in the case where you really need to run code together.
I've set up a private server and it's really nice. First of all you can record voice conversations. Secondly it offers chat between users and between channels.
I find that voice communication is really effective, but having the ability to say "Hold on, let me send you this link!" is also crucial.
But what about this compromise: Skype voice conversation + skype text-chat for showing each other code snippets.
I've been using this combination for a few weeks now, working on a development project with a partner who is ~1000 miles away. Besides voice and text, Skype also has screen sharing. All three parts have become essential to how we work.
For me, grammar is the farthest thing from the real issue. What I find makes it difficult to communicate are situations when the writer/speaker is producing without the understanding that the reader has no fucking clue (or limited understanding of) what they are discussing.
Inevitably what I read or hear in terms of "specs" or "user stories" has an entirely different meaning to the writer/speaker than to the reader. The writer/speaker generally has at least some domain knowledge and often assumes such knowledge that should not be expected of the reader/listener.
Sort of ironic but pretending your someone else "really well" could qualify you as both perhaps insane (under some definitions) and as a really good writer/speaker. The critical point for me is the age old adage "know your audience".
Admittedly my writing doesn't sound pretty. I'm okay with this. My e-mail chains end up much shorter than any other programmer/analyst I know and result in significantly fewer misunderstandings. That's what I call success.
A quick Google search reveals quite a few apps. I had never heard of this "genre" until now!
Please, fellow engineers, read the standards documents, and use terms correctly. Even the ones that you think you know already.
This isn't a problem of education, country of origin, or any other demographic: almost everyone sucks at writing. It's a real problem.
I suppose the best antidote to poor writing is more writing, especially on-line. Don't be bashful because as OP says, your readers won't be.
Thanks OP for the one "please" post this week that everyone can benefit from. (Did I just end that sentence with a preposition? Need more practice.)