It's not all about top-notch brains. It's also about many not-so-clever brains at lesser salary. This was the reason why US companies hired foreign labor, and this is the reason why thanks to the H1B caps, companies are happy to go east to other countries.
Most CEOs (especially American CEOs) don't care about how well it will be for the company 10 years down the line. They care about the next quarter.
More and more jobs are global now in computer science. If there is a programming job, it can be had anywhere in this world, not just in America.
Plus, isn't America so well off thanks to migrants? Who invented your rockets and your bombs near in the past as 50 years ago? Who makes your microprocessors? Suddenly, you want to stop immigration and be protectionist?
This professor needs to stop dining and think a little.
OTOH, there's the big problem of Indian companies gobbling up H1B slots like it was property.. but that's a different problem. There's also the problem of poor quality labour --- programmers who can't code, thanks to sneaky HRs and those who undercut salary, fire the good programmers and hire the cheap ones. It looks good this quarter, but they'll soon find out. Again, this has nothing to do with migration.
Here, we have Biotech, Commerce students recruited into the CS industry. "Don't worry we'll train you in 4 weeks."
Why? Because we can sell this to the western company whose CEO is more than eager to pick up this plate because it's cheaper.
Imagine if a CS worker were hired in an airline as a pilot (Don't worry we'll train you in 4 weeks), or *shudder* as a surgeon. Quality programming is harder and needs more experience than all this.
In the end, the Indian programmers who actually studied CS and are good at what they do get a bad name on Slashdot and elsewhere, cause they're a part of the lot.