| bio | website | |
|---|---|---|
| location | ||
| age | ||
| visits | member for | 2 years, 8 months |
| seen | 9 hours ago | |
| stats | profile views | 293 |
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.
|
Jan 5 |
answered | How do lines of code get executed by the CPU? |
|
Jan 3 |
answered | Sort algorithms that work on large amount of data |
|
Jan 1 |
comment |
Resources on Writing Efficient C Code for Micro-controllers? @mattnz: It varies. For most mainstream processors, yes, the C compiler will probably do a better job. Occasionally, on non-mainstream processors, the C compiler will not be anywhere near smart enough. For a concrete example, the C compiler for the pixel processors on the TI 320C80 image processor was nowhere near as good as an expert human assembly language programmer - and TI freely admitted it, and told programmers in no uncertain terms to hand-code their pixel-crunching kernels. (Been there, done that, sweated blood for MONTHS over a 20-some-instruction loop.) |
|
Jan 1 |
comment |
Any standards for naming variables in for loops (instead of i,j,k) +1 for "unnecessary Hungarian is evil." Except I'd delete the "unnecessary": Hungarian is ALWAYS unnecessary, now that compilers know how to check types. |
|
Jan 1 |
comment |
Any standards for naming variables in for loops (instead of i,j,k) +1 for "If your counter variables are getting confusing then its a sign your code needs breaking up." +100 if I could. |
|
Dec 18 |
comment |
Is it ever worthwhile using goto? The answer to this is most pithily stated in the old "Lay's Potato Chips" slogan: "Bet you can't eat just one". In your example, you have two "interlocking" (whatever that means, and I'm betting it isn't pretty) loops, and the goto gave you a cheap out. What about the maintenance guy, who has to modify that code after you got hit by a bus? Is the goto going to make his life easier or harder? Do those two loops need rethinking? |
|
Dec 18 |
comment |
Is it ever worthwhile using goto? Dijkstra provided the reasoning, in detail, decades ago. |
|
Dec 18 |
comment |
Is it ever worthwhile using goto? goto is never an elegant answer. When your loops are nested several levels deep, your problem is that you failed to architect your code to avoid the multinested loops. Procedure calls are NOT the enemy. (Read the "Lambda: The Ultimate ..." papers.) Using a goto to break out of loops nested several levels deep is putting a band-aid on an open multiple fracture: it may be simple but it isn't the right answer. |
|
Dec 15 |
comment |
Keep my classes and methods as small as possible? Back in the Dark Ages, the guideline was "one printer page". The key insight is that comprehension drops dramatically the moment the programmer has to "turn a page", whether that means turning a physical printed page, scrolling a file, turning his head to the next listing or monitor, or whatever. Read Weinberg's "Psychology of Computer Programming". |
|
Dec 8 |
comment |
Is an unfinished computer science degree at all useful? @Izkata: What makes you think you would have even GOTTEN the interview without that BS in CS? I've seen several places that won't even look at college dropouts: they consider the degree as critically-necessary evidence that the candidate can start a long, difficult task AND FINISH IT. |
|
Dec 6 |
answered | Using C++ to solve thermo dynamic equations |
|
Dec 5 |
answered | What does Tim Peters mean by “complex is better than complicated”? |
|
Dec 2 |
awarded | Nice Answer |
|
Nov 19 |
comment |
When should complexity be removed? +1 for "and pay for". If you're going to ask the client to pay for the change, you must allow the client to decide whether to make the change. Observe that leaving the system flexible adds some amount to the resale value of the business, as it will allow the NEXT owner to make changes more easily. |
|
Nov 16 |
revised |
Mission critical embedded language Changed URL tag. "Ada" is a programming language. "ADA" is an acronym for Americans with Disabilities Act. |
|
Nov 16 |
answered | Massive vehicular network simulator |
|
Nov 15 |
comment |
Mission critical embedded language Lots of people make that assumption, or use it to justify C++ over Ada. The claim is "we can't use Ada because no schools teach Ada". (Some of them should know better, having done highly successful JOVIAL projects when no schools ANYWHERE taught JOVIAL.) |
|
Nov 15 |
revised |
Mission critical embedded language minor grammar: "can has" -> "has" |
|
Nov 15 |
comment |
Mission critical embedded language +1 for mentioning Ada. -1 for assuming C++ and MATLAB programmers can't learn any other language. |
|
Nov 15 |
comment |
Mission critical embedded language I observe that you do not compare the Ada learning curve with the C++ learning curve. |