1,011 reputation
710
bio website
location United Kingdom
age
visits member for 3 years, 6 months
seen Dec 4 '13 at 21:41

I am a programmer. My principal language is C++. I've also done commercial work in Java, C, Perl, Python, Javascript and APL. I've also been known to dabble in python, lisp, Haskell, assembler (ARM, x86, amd64) and probably a few other languages that haven't left as big a mark.

I'm a member of the ACCU, and I spoke at accu2012 in April.


Oct
4
awarded  Yearling
Jan
10
awarded  Good Answer
Oct
4
awarded  Yearling
Aug
5
comment Why was the percent sign (%) chosen as the format specifier for the printf family of functions?
I am curious. Certainly, it would be possible to use {u} instead of %u but would it have any significant advantage? It seems like a largely arbitrary choice.
Jun
8
awarded  Caucus
Mar
1
awarded  Mortarboard
Feb
20
awarded  Enlightened
Feb
4
awarded  Nice Answer
Feb
4
answered std::shared_ptr as a last resort?
Oct
8
awarded  Yearling
Aug
20
comment How do you track your progress in a project?
+1: Your observations on "Percent Complete" are >90% correct.
Aug
20
answered How do you manage cross-class dependencies on destruction/design (more of a C++ question)
Aug
1
comment If a variable has getter and setter, should it be public?
@GlennNelson: What was your getter called? getFrame? getDialog? That mismatch between name and type matters a lot more - being part of the interface - than the actual name of the private variable. The fact that you were able to change the type of the object without affecting the public interface implies that the type change was minor enough not to affect clients, but doesn't that imply that even if it was a public variable that the corresponding type change also wouldn't have affected clients? I don't see how your argument shows concrete benefits to getters and setters.
Aug
1
comment If a variable has getter and setter, should it be public?
Personally, I think this is a bit of a bogus argument. If you change the meaning of a variable but the variable has a getter and setter, then it doesn't matter what it is called. It's not a visible part of the interface. You are much more likely to want to change the name of the getters and setters themselves to indicate to clients the change or clarification of the meaning of the encapsulated variable. In this latter case, you are in no better position that with a public variable. This is quite aside from the argument that a variable with getters and setters is more exposed than encapsulated.
Jul
9
awarded  Enlightened
Jul
9
awarded  Nice Answer
Jul
9
awarded  Good Answer
May
17
comment How do people know the C++ Standard so well?
@Xeo: Actually, I think for quite large values. Nobody ever thinks about, let alone remarks on, the places where it gets it right. It's the less good parts that generate all the discussions.
May
17
comment How do people know the C++ Standard so well?
@q0987: Yes, standardese isn't designed to be an easy read, it's supposed to be enable a definitive unambiguous interpretation (in some cases it even succeeds!) so that it can be used as the basis of a contract between implementers and users of the language. This is why it is terse and uses defined terms for their exact meaning rather than adopting the more accessible but less precise language you might find in a text book.
May
17
answered How do people know the C++ Standard so well?