12,547 reputation
53045
bio website
location
age
visits member for 4 years, 4 months
seen 11 hours ago
Very senior embedded real-time systems programmer (Texas law is very picky about the use of the term "engineer"), unsuccessful candidate for U.S. Congress, and unreconstructed Cold Warrior.

Jun
4
comment are programmers more forgiving of buggy software?
+1000 if I could.
Jun
4
comment Are there advantages for using recursion over iteration - other than sometimes readability and elegance?
@KChaloux: Tail call optimization is not an attribute of a language, but of the language translator (compiler). In this, The Year of Our Lord Two Thousand Fourteen, a production-quality compiler that does NOT do tail call optimization must be regarded as brain-damaged. (We used a PowerPC compiler at Nortel Networks in about 2000, as I recall. I had occasion to test tail call optimization, ON REAL CODE FOR A REAL SYSTEM, and proved that the compiler did do it correctly. More recently, 8051-derivative and PIC compilers have surprised people by doing TCO correctly.)
Jun
4
comment Are there advantages for using recursion over iteration - other than sometimes readability and elegance?
@delnan: No, a function call does not NECESSARILY "need to do more than a loop backedge". Read "Debunking the 'Expensive Procedure Call' Myth, or, Procedure Call Implementations Considered Harmful, or, Lambda: The Ultimate GOTO", by Guy Lewis Steele, Jr. MIT AI Lab. AI Lab Memo AIM-443. October 1977. BRIEFLY, Steele shows that a procedure call is just { push RETURN_ADDRESS; jump routine }, and, in some cases, the "push RETURN_ADDRESS" step can be optimized out of existence.
Jun
3
revised Are there advantages for using recursion over iteration - other than sometimes readability and elegance?
typo
Jun
3
answered Does anyone still use logic analyzers for debugging real time systems?
Jun
3
comment Does anyone still use logic analyzers for debugging real time systems?
Quibble: The term is "logic analyzer", not "logical analyzer".
Jun
3
answered Are there advantages for using recursion over iteration - other than sometimes readability and elegance?
May
31
comment Single statement if block - braces or no?
@hotpaw2: On the contrary. Smaller fonts and larger fields of view increase the amount that the programmer can see at one time. It is well-known that programmer comprehension of code falls off dramatically the moment he has to start scrolling his terminal or flipping pages of a listing. Read "Psychology of Computer Programming", by Gerald Weinberg.
May
30
awarded  Good Answer
May
30
answered Which is more expensive multiple conditional branches or multiple relational expression in a single condition?
May
16
comment I am making 4-5x more story points than average, but producing bugs at half the rate. Graphs say it's 2x more bugs, how to deal with that?
@Telastyn, there are some important domains where "good" is just plain NOT GOOD ENOUGH. Review the Therac-25 case for one example. (Note: Therac-25 is not the best case to review. A competent hardware design would have included a MECHANICAL interlock on the beam power level control, so the high-power electron beam mode could not be engaged unless either the X-ray target or a special testing adapter was mounted properly in the beam path.)
May
16
comment I am making 4-5x more story points than average, but producing bugs at half the rate. Graphs say it's 2x more bugs, how to deal with that?
@mrjoltcola, again, read up on the Message Flow Modulator. They used a language, and a programming system, that was specifically built around formal proof of correctness as well as "testing". Part of the problem is that C is inherently unsafe and unverifiable, C++ is worse, and Microsoft Windows is a veritable morass of bugs and stuff, meaning that any attempt to write bug-free code in that environment is likely to be quite a bit more difficult.
May
16
comment I am making 4-5x more story points than average, but producing bugs at half the rate. Graphs say it's 2x more bugs, how to deal with that?
@mrjoltcola, see also the US Space Shuttle avionics. There was exactly one bug in the code when the bird retired. It was a growth provision, for a second robot arm, that was ultimately never done. The review committees looked at it, and determined that (a) it did no harm to anything, and (b) it would cost more than it was worth to "fix" it, because of part (a).
May
16
comment I am making 4-5x more story points than average, but producing bugs at half the rate. Graphs say it's 2x more bugs, how to deal with that?
@mrjoltcola, read up on the Message Flow Modulator project at UT Austin in the late 1970s/very early 1980s. Zero-defect code IS possible, and it is not that hard to do, IF you use the right tools and the right people and the right mindset.
May
14
answered Is lack of whitespace a sign of a cargo cult programmer?
May
11
answered Standardized Programming Languages
May
10
answered Do commercial statistical calculators calculate with a high degree of arbitrary precision or just floating point precision?
May
8
awarded  Good Answer
May
7
comment Why were short, int, and long invented in C?
@Mehrdad, there are platforms where the obvious choice for short is NOT 2x sizeof(char). The Harris 24-bit superminicomputers come immediately to mind. Some PICs and some DSPs have similar characteristics.
May
7
comment Writing in C for Performance?
The virtual function dispatch overhead is just about negligible, unless you have gone WAY overboard on decomposing and making things virtual. The vtables will be small compared to the rest of your code and data, and the indexed branch through the vtable adds a few clocks to each routine invocation. Given that routine invocations, all up, call to return, will be anywhere from a few hundred to a few million clocks, the vtable branch will be buried in the noise floor.