Skip to content

Comment on Never trust a programmer who says he knows C++parent

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.

"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.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.