I remember being sent to an interview for a PHP developer, only for it to transpire that the company was actually after a Perl developer. The recruitment agent had sent me along anyway, having helpfully added a couple of lines to my CV.
The strange thing was that after I explained what had happened (after 15 or so minutes of initial interview fun) and said something like "Thanks for taking the time to see me, and sorry it couldn't be more productive," the interviewers were suddenly really keen on me; I was standing halfway through the door, answering questions for a good few minutes until I worked out how to leave, much to the interviewers' reluctance.
Had I more sense at the time (I was 18 or 19 then), I would've sat down the extra ten minutes and tried to work out if we could've done business together one way or another. So whilst there are definitely times to leave early, nowadays I wouldn't be too hasty in doing so.
Same exact story. I actually got to the third interview simply because the lead dev liked my general knowledge and the HR liked my character. Once I talked to the CTO, his first question was "So you're not a Perl programmer, why do you want this job?" I was quick to answer that I fully know now that the job wasn't for me, but if there was anything that he had in place for me, that would be great. He didn't, but we talked for about 45 minutes. It was pretty much the only time I left impressed and happy, knowing that I will never return to the place of current interview.
I can't speak for the parent, but having been in that same boat, I'll answer for myself.
Why limit yourself to <language_x>?
It isn't about limiting myself to the language as it is being able to hit the ground running with it. I was mistakenly given an interview where they were looking for a Ruby developer, and had been referred to them. Only problem was that I didn't know Ruby as intimately as I do other languages. The position was fairly high paying, and one assumes an expectation of proficiency that I wouldn't be able to deliver on.
Could I have learned the language? Sure, almost certainly -- but the question is really whether or not I can learn the language faster than they can realize how inefficient I'm being and (rightly) fire me? Even if I'm upfront about it (which I was), I'm still not willing to gamble unemployment on whether or not I'll get up to speed within their expectations when I could easily justify my salary somewhere in a language I'm more familiar with.
Edit: I should also add that since that time, I have spent more time with Ruby and figured out that I don't really like it. Not going to get into a language debate or anything, it's a fine language, but it didn't fit the way I naturally think so, had I taken that job and learned quickly and all that, I'd have found myself programming in a language that I didn't really love, which could have lead to less job satisfaction as well.
Why ask children "Why can't you run?" when they just learned to walk? You have to start somewhere and it's really not easy to learn several languages at the same time, especially not your first. Eventually you'll want to run/learn more languages, but there's a time and place for everything.
The strange thing was that after I explained what had happened (after 15 or so minutes of initial interview fun) and said something like "Thanks for taking the time to see me, and sorry it couldn't be more productive," the interviewers were suddenly really keen on me; I was standing halfway through the door, answering questions for a good few minutes until I worked out how to leave, much to the interviewers' reluctance.
Had I more sense at the time (I was 18 or 19 then), I would've sat down the extra ten minutes and tried to work out if we could've done business together one way or another. So whilst there are definitely times to leave early, nowadays I wouldn't be too hasty in doing so.