Ok, how about reversing a string in place? checking if an expression has balanced parenthesis? I don't care that much what you code, but you need to be able to demonstrate you can code.
(and, in my industry - high performance embedded OS - the way you store, search and sort stuff is actually critical)
I don't disagree with you, but that was only one of the points of the message. The others were about the uselessness of asking coders to code in an interview - here is where I disagree with the post.
Programmers are asked to program in a job interview - what a ridiculous idea. Perhaps when I hire programmers I should ask them to paint or dance?
And then there's the racial/gender/age bias nonsense on top of it. We've been asking programmers to write code in all job interviews, and: about half the team is women (including 2 of the 3 team leads), and about 20% are white (rest are Russians, Indians, Asian, Israelis). Why would asking to code be a bias against anyone except people who can't code?
Interviews are never an exact process, and I agree that riddles ("a chicken and a half lays a egg and a half in an interview and a half") and knowledge questions ("what is NP complete") are a waste of time. But if you can't code a sorting algorithm without a reference, or if you can't come up with a simple client server algorithm, or if you can't devise a locking scheme to have multiple threads cooperate on a resource, then you don't have the skills I need. I might be missing people who'd be great on the job if I just gave them a chance, but I can't just hire someone and fire them 2 weeks later if it turned out they can't do the job. A free trial would be ideal, yes, but it's not realistic in our job environment. BTW, I always ask interviewees to write code at home and email it to me - this can count as another way for people who struggle in front of a whiteboard to get a second chance. But I've never seen someone who was great in the email and awful in front of the white board.
The article uses
> void naiveswap(string &a, string & b)
which made me believe (I guess erroneously) that "string" is now a keyword. Still, template, for_each and other keywords were added after the fact.
There are simple workarounds for that, from using _lambda instead or creating a compatibility mode for older code. And, btw, what about all the keywords that have been added along the years? Have we broken every program that uses "string" (a much more common word than lambda)?
Agreed. C and C++ seem to love the idea of figuring out what the programmer's intention by looking at punctuation marks. For example, why on earth there's no function keyword? Make it two keywords, one for declaration and the other for implementation. The result is that a misplaced comma or a missing semi-colon (for example at the end of a function declaration) completely throws off the compiler. And, as Errol says, it makes the code completely unreadable. The new Lambda syntax is a good example. Would it be that painful to add a lambda keyword?
I heard they can be used for tracking devices and radios that will transmit instructions to your brain. Has Mr Stallman removed these malicious bones from his mouth?
Searching "update internet explorer" in Bing top hits are for IE6 SP1. Going to the IE9 download page with IE9 release candidate leads to warnings on "certificate errors" and malicious contents. Oh Microsoft, do you have to be that crappy?
At my company (EMC) management reduced all cubicles by 20%. Of course, manager's offices remained the same size. The gain in additional office space was minimal, but now we have these long wide corridors that separate tiny cramped cubicles. The cost was the change was high, the gain minimal, and the morale hit is obvious. But somewhere there's an executive who got to claim savings of tens of millions of dollars and I'm sure a fat bonus.
Ok, how about reversing a string in place? checking if an expression has balanced parenthesis? I don't care that much what you code, but you need to be able to demonstrate you can code. (and, in my industry - high performance embedded OS - the way you store, search and sort stuff is actually critical)
I don't disagree with you, but that was only one of the points of the message. The others were about the uselessness of asking coders to code in an interview - here is where I disagree with the post.
Programmers are asked to program in a job interview - what a ridiculous idea. Perhaps when I hire programmers I should ask them to paint or dance? And then there's the racial/gender/age bias nonsense on top of it. We've been asking programmers to write code in all job interviews, and: about half the team is women (including 2 of the 3 team leads), and about 20% are white (rest are Russians, Indians, Asian, Israelis). Why would asking to code be a bias against anyone except people who can't code? Interviews are never an exact process, and I agree that riddles ("a chicken and a half lays a egg and a half in an interview and a half") and knowledge questions ("what is NP complete") are a waste of time. But if you can't code a sorting algorithm without a reference, or if you can't come up with a simple client server algorithm, or if you can't devise a locking scheme to have multiple threads cooperate on a resource, then you don't have the skills I need. I might be missing people who'd be great on the job if I just gave them a chance, but I can't just hire someone and fire them 2 weeks later if it turned out they can't do the job. A free trial would be ideal, yes, but it's not realistic in our job environment. BTW, I always ask interviewees to write code at home and email it to me - this can count as another way for people who struggle in front of a whiteboard to get a second chance. But I've never seen someone who was great in the email and awful in front of the white board.
The article uses > void naiveswap(string &a, string & b) which made me believe (I guess erroneously) that "string" is now a keyword. Still, template, for_each and other keywords were added after the fact.
There are simple workarounds for that, from using _lambda instead or creating a compatibility mode for older code. And, btw, what about all the keywords that have been added along the years? Have we broken every program that uses "string" (a much more common word than lambda)?
Agreed. C and C++ seem to love the idea of figuring out what the programmer's intention by looking at punctuation marks. For example, why on earth there's no function keyword? Make it two keywords, one for declaration and the other for implementation. The result is that a misplaced comma or a missing semi-colon (for example at the end of a function declaration) completely throws off the compiler. And, as Errol says, it makes the code completely unreadable. The new Lambda syntax is a good example. Would it be that painful to add a lambda keyword?
I heard they can be used for tracking devices and radios that will transmit instructions to your brain. Has Mr Stallman removed these malicious bones from his mouth?
Searching "update internet explorer" in Bing top hits are for IE6 SP1. Going to the IE9 download page with IE9 release candidate leads to warnings on "certificate errors" and malicious contents. Oh Microsoft, do you have to be that crappy?
At my company (EMC) management reduced all cubicles by 20%. Of course, manager's offices remained the same size. The gain in additional office space was minimal, but now we have these long wide corridors that separate tiny cramped cubicles. The cost was the change was high, the gain minimal, and the morale hit is obvious. But somewhere there's an executive who got to claim savings of tens of millions of dollars and I'm sure a fat bonus.