I've been using C++ as my primary language for the last 10 years and know what virtual base classes are. I would never use them, Instead I'd avoid diamond inheritance at all costs.
I'd rate myself as a 9 or 10 for language proficiency but perhaps not for certain niches. For example I know comparably little about Win32 or COM (ugh).
However, there are tons of programmers out there who can't program. Faced with a clean slate they would either choke or create an atrocity. If they rated themselves 5/10 then for me to rate myself only 8/10 would be a disservice to myself. The same is true of perhaps 90% of the programmers on HN.
Of course, I can look back at my former self and know that he thought he was awesome but clearly I have surpassed his ability. It only makes sense that there are far greater programmers out there and I have met a few.
Right. The bit about virtual base classes is to simultaneously find the folks who know what it is, and to get a good feel for their design sense.
"Don't know" is okay, if they're otherwise a strong engineer. "Love them!" is only good if they can justify it. "Yeah, diamond inheritance, avoid that" is pretty much what I'm looking for, though I'm willing to have a serious conversation about their merit.
These are just questions I can get through in a minute or two, to gauge the person quickly.
I have a more in-depth paper that was rejected last year which I'm trying to extend right now. If you'd like to read it, you can. I have another paper under review that uses my work to make a Cell, GPU and Quad Core performance comparison.
Comments
I've been using C++ as my primary language for the last 10 years and know what virtual base classes are. I would never use them, Instead I'd avoid diamond inheritance at all costs.
I'd rate myself as a 9 or 10 for language proficiency but perhaps not for certain niches. For example I know comparably little about Win32 or COM (ugh).
However, there are tons of programmers out there who can't program. Faced with a clean slate they would either choke or create an atrocity. If they rated themselves 5/10 then for me to rate myself only 8/10 would be a disservice to myself. The same is true of perhaps 90% of the programmers on HN.
Of course, I can look back at my former self and know that he thought he was awesome but clearly I have surpassed his ability. It only makes sense that there are far greater programmers out there and I have met a few.
Right. The bit about virtual base classes is to simultaneously find the folks who know what it is, and to get a good feel for their design sense.
"Don't know" is okay, if they're otherwise a strong engineer. "Love them!" is only good if they can justify it. "Yeah, diamond inheritance, avoid that" is pretty much what I'm looking for, though I'm willing to have a serious conversation about their merit.
These are just questions I can get through in a minute or two, to gauge the person quickly.
I think that LinkedListItem or RefCounted are good candidates for sane virtual base classes.
I guess you'd never hire me: http://github.com/scotts/cellgen/blob/offstencil/src/xformer...
"OpenMP like support for the Cell Processor"?
Where do I sign?
All the code is there. It's part of my dissertation, which I'm trying to finish up: http://people.cs.vt.edu/~scschnei/cellgen/
I have a more in-depth paper that was rejected last year which I'm trying to extend right now. If you'd like to read it, you can. I have another paper under review that uses my work to make a Cell, GPU and Quad Core performance comparison.