419 reputation
28
bio website sharp-gamedev.blogger.com
location Stockholm, Sweden
age 36
visits member for 3 years, 6 months
seen Nov 21 '12 at 12:03
The programmer formerly known as Joh. Joh used to think C++ was the greatest language on Earth, but he has now found the light in .net thanks to F#. Joh loved Linux and seldom used his installation of Windows. Due to his recent discovery and F#, he is now spending all of his computer time on Windows. He is not quite sure if this is a good thing or not.

Jan
3
awarded  Yearling
Oct
21
awarded  Nice Answer
Jul
11
comment Is it worth making a commit solely to resolve non-critical typos?
Checking with your team leader for a typo fix? If I was the team leader who's stressed up with the upcoming release, I wouldn't want to be disturbed with such trivialities.
Apr
28
comment When to stop inheritance?
@DeadMG: I've edited my answer to clarify that. I persist in thinking that calls to virtual methods in this situation is a no-go, if performance matters.
Apr
28
revised When to stop inheritance?
Added reference to a paper by Crafty's author, other overall improvements of the text.
Apr
18
revised When to stop inheritance?
Added an non-performance related argument against using inheritance for piece colors.
Apr
18
comment When to stop inheritance?
If you don't need extensibility, an approach based on switch/enum is preferable because it's faster than a virtual method dispatch. A chess engine is CPU-heavy, and the operations that are done most often (and therefore efficiency critical) are performing moves and undoing them. Just one level above that comes listing all possible moves. I expect this will also be time critical. The fact is, I have programmed chess engines in C. Even without OOP, low-level optimizations on the board representation were significant. What kind of experience do you have to dismiss mine?
Apr
18
comment When to stop inheritance?
@WeekendWarrior inheritance is OOP. If OOP isn't advisable, neither is inheritance.
Apr
18
answered When to stop inheritance?
Feb
22
answered Does programming in general become easier to read, write and understand as you gain experience?
Jan
10
answered How to keep a big and complex software product maintainable over the years?
Jan
3
awarded  Yearling
Nov
29
comment Should one comment differently in functional languages?
The use of "you" in the answer is ambiguous. I think you meant "what it (the function) is doing", "how it does it". The third point seems OK, I interpret it as "why it's needed".
Nov
18
revised Is there a name for “More events than expected” bug?
"reliance on timing and ordering" has a standard term: race condition.
Nov
17
comment Is there a name for “More events than expected” bug?
Nevertheless, the concept seems applicable to GUIs. After all, the term "bug" initially applied to hardware-related issues, but was transposed to software. You can criticize the author for not providing a definitive answer, but it's still an interesting remark, IMO.
Nov
17
answered Is there a name for “More events than expected” bug?
Nov
17
answered Should one comment differently in functional languages?
Nov
14
answered Should one use pseudocode before actual coding?
Nov
7
comment OO best practices for C programs
Great answer. Aim for modularity. OO is supposed to provide it, but 1) in practice it's all too common to end up with OO spaghetti and 2) it's not the only way. For some examples in real life, look at the linux kernel (C-style modularity) and projects which use glib (C-style OO). I've had the occasion to work with both styles, and IMO C-style modularity wins.
Nov
3
answered Is C++ suitable as a first language?