If an interviewer insulted me or my language choice in an interview it would definitely make me wonder how they would treat me as a coworker.
Also, a lot of geniuses are socially inept. I doubt you said everything right in your interview either. It helps to smile and keep going when one person in ten shows a flaw.
Or, if I was really annoyed: bust out some Common Lisp for the next problem, then leave.
#include <stdio.h>
char f[8] = {70, 117, 99, 107, 32, 121, 111, 117};
int main(){
int u; for(u=0; u<8; u++) { printf("%c", f[u]); }
printf(".\n");
}
Thank them for their time and walk out.I'm guessing it'd be nice starting writing in a lesser known language or even just go for some old arch object code (like 68k object code which is pretty simple to write, and the chance is high that the interviewer will be clueless and find this a bad joke - and yes i can write that as i did a lot of it 15years ago, its straight forward)
Then Google writes you as an "do not employ" person of course and say that you do not fit (while you declined them), but hey, honesty, balls, and being dumb sometimes feel good. Sounds like a true story.. oh, I know.
Obviously it's rational for this event to make you uninterested in working for Google, but if that's not the case, it helps to escalate your concerns or complaints.
When I interview someone, I explicitly prefix coding questions with "you can just write pseudo-code or whatever you prefer" or "please use C/C++".
The next question had to do with string manipulation and I think he was just worried it would've been terribly easy if done in Python.
That being said, it's a very Python friendly team. Guido's on it (HI GUIDO).
The dynamic nature puts many errors into the runtime stage and increases verification complexity. Can be limited by static code checking, but grows cumbersome.
class Foo {
type_t getValue() const;
}
When I call foo.getValue(), I can be certain [1] that foo has not been mutated.[1] In C++, things like memset((void*)this, val, 1024) are always possible.
I love that C++ programmers still believe in the false gods of the const keyword.
Zen: reflect upon the meaning of a const volatile pointer.
-> exits stage right
I've worked on rather big projects in Ruby and Javascript, and testing always managed to keep things sane. Static typing helps you refactor things or make sure certain variables are the correct type, but in the grand scheme of things, I'm not sure type casting is the major source of bugs/errors in any system
I'd say Go is, though.
As the case may be of late...Haskell.
edit: depending on who you meant by 'they', I bet go would be a contender for (parts of) a total rewrite