First of all, intern salaries are typically set at ~90-100 percent of full-time salary (but without bonus or equity). So these people who are freaking out about intern salaries are missing the point. They assume that if "even an intern" makes $8,000 per month, that every full-time employee makes $200k+. No, it's not like that. It's like this: we properly pay interns with an entry-level salary, unlike the soft industries (e.g. publishing, media) that have an oversupply of qualified but unimpressive hipsters who'll take the job for free, and we pay interns for their work because it's the right thing to do, and (for as much flak as I give the tech industry) that's one area where we do the right thing.
It annoyed me when Valleywag attacked intern salaries. There's so much to impeach the Valley for, but paying interns properly isn't one of them.
Second, we don't really know what software salaries would be without the H1-B program. The program may or may not be depressing wages, but we don't know right now.
Third, I'm all for high-talent immigration, and I'm sure that there are good companies who treat their H1-B workers well. Some don't, and it's the body shops that are getting the negative attention.
With the bad actors, more than it is about costs or talent at the bad-actor companies, it's about deference to authority (or, "disinclination to agitate"). The H1-B program keeps the worker captive, and that's more valuable to the company than any wage depression. Programmer salaries aren't high enough for anyone to care about shaving a few percentage points off entry-level figures, but a lot of these tech companies do want people who are captive-- or, better still, young (age discrimination is a part of this issue, as well) and perceived to be culturally disinclined to challenge managerial authority.
My problem, on this issue, isn't with the H1-B program, although it should be reformed. (A high-talent immigration program must, by definition, be unconditional on month-by-month employment status.) I certainly don't have a problem with a company like AeroFS that needs to hire a foreign worker to fill a niche. However, I take umbrage to the assholes who complain about a general "talent shortage" but won't look twice at a programmer over 35. They're being disingenuous to the point of being unethical. Instead of being honest about their economic interests ("good people cost more than we want to pay") they're attempting to play the Existential Risk Card ("talent shortage"). It's vile to make that claim.