It's sad and ironic; using "who" in object position is a common mistake, and prescriptivists (grammar nazis) often correct it to "whom". But in this case, "who" would be right, but the poster has seen the correction so often that they've applied that "correction" even where it's wrong.
PS - thanks for posting first and giving me an excuse to talk about it :)
"Who do you hang with?" sounds more correct than "whom do you hang with?", but only because of that trailing preposition. Use "With whom do you hang" (as has been mention elsewhere) and we're all square.
But damn those Grammar Nazis anyway; that's not how people speak."Who do you hang with?" works perfectly well for me, gramatically incorrect or not.
Well, it's language, not science or mathematics. It's not as though language has rules that emanate from axioms. It's a matter of convention and consensus. And the consensus changes over time.
So Latin rules were applied to the non-Latin English language: i.e., not splitting infinitives and not ending sentences with prepositions.
However, applying these rules changes meaning and tone.
English doesn't have special grammatical structures (e.g., Thai) or verb conjugations (e.g., Spanish) to discern levels of formality or tone; so we must encode them in the dynamics of the word choice and standard grammar.
Being able to form sentences in such structures is one of the primary ways in which we do this.
Double negatives are another example. In the 1700s people wanted Formal Logic rules to be in English and decided that a double negative was invalid.
However, the double negative places a meaning in the sentence that is intended by the speaker, and comprehended by the audience.
That meaning is fundamentally different from the single negative form.
Observing such restrictions create artificial barriers to communication and unnecessarily hinders the depth and character of expression.
Hey, it's this or going back to doing it based on skin color and last names.
Um. Someone had to.
Or the canonical form: "Around with whom do you hang?" :)