News for hackers. Stuff that matters.
Re:Deep C and C++ (2011) by jamornh on Wednesday October 23, 2013 @03:17AM (#6597377)
However, I'd be concerned that the person with strong understanding of things will simply leave uninitialized static variables lying around in the code simply because they _knew_ it was always initialized to 0. It might work if your entire coding team has that innate understanding, but that is unlikely.

Sometimes I think that having deep and expert understanding of a language may cause you to create code that other team members cannot understand... not on purpose, but due to your assumption that these are common knowledge (whether they should be or not isn't the issue.)

Re:Deep C and C++ (2011) by mansr on Wednesday October 23, 2013 @04:47AM (#6597649)
Static initialisers are a horrible example of "deep" knowledge. Not knowing how they work reveals not only ignorance of syntax but a fundamental lack of understanding of the entire programming and execution environment. Failure to understand your environment inevitably leads to confusion and bad decisions.
Re:Deep C and C++ (2011) by Jare on Wednesday October 23, 2013 @08:22AM (#6598259)
A more common example is operator precedence, especially booleans. The precedence rules are easy and set in stone for decades, but always use parentheses to clarify, and I do not trust programmers that don't.
Re:Deep C and C++ (2011) by thepicard on Wednesday October 23, 2013 @12:14PM (#6599623)
Again, I think one with deep understanding would know that leaving it unset would result in zero, but also know that initializing it declares intent of the original author, and is thus useful.
Re:Deep C and C++ (2011) by lttlrck on Wednesday October 23, 2013 @08:00AM (#6598182)
I disagree that static initialization is deep understanding nor is it innate.