Got a chuckle and wanted to share. [message #181266] |
Sat, 27 April 2013 20:51 |
Scott Johnson
Messages: 196 Registered: January 2012
Karma: 0
|
Senior Member |
|
|
I was brushing up on some debugging techniques and ran across a page
with this quote that made me chuckle.
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by
definition, not smart enough to debug it." - Brian W. Kernighan
|
|
|
Re: Got a chuckle and wanted to share. [message #181267 is a reply to message #181266] |
Sat, 27 April 2013 21:06 |
The Natural Philosoph
Messages: 993 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 27/04/13 21:51, Scott Johnson wrote:
> I was brushing up on some debugging techniques and ran across a page
> with this quote that made me chuckle.
>
> "Debugging is twice as hard as writing the code in the first place.
> Therefore, if you write the code as cleverly as possible, you are, by
> definition, not smart enough to debug it." - Brian W. Kernighan
>
that makes a LOT of sense to me..
After revisting code I had written months before I thanked heaven I had
written it for any damned fool to debug, cos frankly I couldn't
understand or remember how on earth I came to write it in the first place!
All I can say is that working under extreme pressure I was on some sort
of coding planet...
--
Ineptocracy
(in-ep-toc’-ra-cy) – a system of government where the least capable to lead are elected by the least capable of producing, and where the members of society least likely to sustain themselves or succeed, are rewarded with goods and services paid for by the confiscated wealth of a diminishing number of producers.
|
|
|
Re: Got a chuckle and wanted to share. [message #181270 is a reply to message #181266] |
Sun, 28 April 2013 20:36 |
Arno Welzel
Messages: 317 Registered: October 2011
Karma: 0
|
Senior Member |
|
|
Scott Johnson, 2013-04-27 22:51:
> I was brushing up on some debugging techniques and ran across a page
> with this quote that made me chuckle.
>
> "Debugging is twice as hard as writing the code in the first place.
> Therefore, if you write the code as cleverly as possible, you are, by
> definition, not smart enough to debug it." - Brian W. Kernighan
That's why peer programming and code review exists ;-) In our team code
*always* get's reviewed by someone else before it will make it to the
final production stage.
--
Arno Welzel
http://arnowelzel.de
http://de-rec-fahrrad.de
|
|
|
Re: Got a chuckle and wanted to share. [message #181272 is a reply to message #181270] |
Sun, 28 April 2013 23:03 |
Scott Johnson
Messages: 196 Registered: January 2012
Karma: 0
|
Senior Member |
|
|
On 4/28/2013 1:36 PM, Arno Welzel wrote:
> Scott Johnson, 2013-04-27 22:51:
>
>> I was brushing up on some debugging techniques and ran across a page
>> with this quote that made me chuckle.
>>
>> "Debugging is twice as hard as writing the code in the first place.
>> Therefore, if you write the code as cleverly as possible, you are, by
>> definition, not smart enough to debug it." - Brian W. Kernighan
>
> That's why peer programming and code review exists ;-) In our team code
> *always* get's reviewed by someone else before it will make it to the
> final production stage.
>
>
Yeah but when you are the team, that is all out the door.
I understand what NP is saying though. I have revisited code I wrote
years ago. I know I must of been in 'the zone', because some of the
algorithms (some) where just short of brilliant and trying to figure out
what I was thinking without comments (kind of wipes out the brilliant
part I know), was like an outer body experience.
:)
Scotty
|
|
|
Re: Got a chuckle and wanted to share. [message #181273 is a reply to message #181272] |
Mon, 29 April 2013 02:42 |
Doug Miller
Messages: 171 Registered: August 2011
Karma: 0
|
Senior Member |
|
|
Scott Johnson <noonehome(at)chalupasworld(dot)com> wrote in news:klk9mf$ce8$1@dont-
email.me:
>
> I understand what NP is saying though. I have revisited code I wrote
> years ago. I know I must of been in 'the zone', because some of the
> algorithms (some) where just short of brilliant and trying to figure out
> what I was thinking without comments (kind of wipes out the brilliant
> part I know), was like an outer body experience.
And that is why I *always* comment code whose purpose is not immediately obvious: self-
defense. Even with a large applications group, you still wind up maintaining a lot of your own
code, maybe years later: "Hey, who wrote this module? Doug did? OK, Doug, you get to do
this enhancement." Never mind the fact that Doug is now the sysadmin, and hasn't worked in
apps development for five years... Naah, that'd never happen... Would it?
|
|
|
Re: Got a chuckle and wanted to share. [message #181274 is a reply to message #181273] |
Mon, 29 April 2013 03:45 |
The Natural Philosoph
Messages: 993 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 29/04/13 03:42, Doug Miller wrote:
> Scott Johnson <noonehome(at)chalupasworld(dot)com> wrote in news:klk9mf$ce8$1@dont-
> email.me:
>
>> I understand what NP is saying though. I have revisited code I wrote
>> years ago. I know I must of been in 'the zone', because some of the
>> algorithms (some) where just short of brilliant and trying to figure out
>> what I was thinking without comments (kind of wipes out the brilliant
>> part I know), was like an outer body experience.
> And that is why I *always* comment code whose purpose is not immediately obvious: self-
> defense. Even with a large applications group, you still wind up maintaining a lot of your own
> code, maybe years later: "Hey, who wrote this module? Doug did? OK, Doug, you get to do
> this enhancement." Never mind the fact that Doug is now the sysadmin, and hasn't worked in
> apps development for five years... Naah, that'd never happen... Would it?
I think what happens with me anyway, is that after a while I have more
or less the whole structure and design in my head, and coding is just a
matter of writing the mental picture in the language. The temptations is
to do that but IF the actual concept is flawed or its got lost in
translation its vile to debug without the comments.
Often I will write the pseudo code as a comment and see if the code
actually corresponds..
--
Ineptocracy
(in-ep-toc’-ra-cy) – a system of government where the least capable to lead are elected by the least capable of producing, and where the members of society least likely to sustain themselves or succeed, are rewarded with goods and services paid for by the confiscated wealth of a diminishing number of producers.
|
|
|
Re: Got a chuckle and wanted to share. [message #181275 is a reply to message #181274] |
Mon, 29 April 2013 08:29 |
Tim Streater
Messages: 328 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
In article <klkqc4$c8g$1(at)news(dot)albasani(dot)net>,
The Natural Philosopher <tnp(at)invalid(dot)invalid> wrote:
> On 29/04/13 03:42, Doug Miller wrote:
>> Scott Johnson <noonehome(at)chalupasworld(dot)com> wrote in
>> news:klk9mf$ce8$1@dont-
>> email.me:
>>
>>> I understand what NP is saying though. I have revisited code I wrote
>>> years ago. I know I must of been in 'the zone', because some of the
>>> algorithms (some) where just short of brilliant and trying to figure out
>>> what I was thinking without comments (kind of wipes out the brilliant
>>> part I know), was like an outer body experience.
>> And that is why I *always* comment code whose purpose is not immediately
>> obvious: self-
>> defense. Even with a large applications group, you still wind up
>> maintaining a lot of your own
>> code, maybe years later: "Hey, who wrote this module? Doug did? OK, Doug,
>> you get to do
>> this enhancement." Never mind the fact that Doug is now the sysadmin, and
>> hasn't worked in
>> apps development for five years... Naah, that'd never happen... Would it?
> I think what happens with me anyway, is that after a while I have more
> or less the whole structure and design in my head, and coding is just a
> matter of writing the mental picture in the language. The temptations is
> to do that but IF the actual concept is flawed or its got lost in
> translation its vile to debug without the comments.
>
> Often I will write the pseudo code as a comment and see if the code
> actually corresponds..
How about internal documentation? I've already written 30 pages of that
for my app.
--
Tim
"That excessive bail ought not to be required, nor excessive fines imposed,
nor cruel and unusual punishments inflicted" -- Bill of Rights 1689
|
|
|
Re: Got a chuckle and wanted to share. [message #181276 is a reply to message #181274] |
Mon, 29 April 2013 13:37 |
Richard Yates
Messages: 86 Registered: September 2013
Karma: 0
|
Member |
|
|
On Mon, 29 Apr 2013 04:45:08 +0100, The Natural Philosopher
<tnp(at)invalid(dot)invalid> wrote:
> On 29/04/13 03:42, Doug Miller wrote:
>> Scott Johnson <noonehome(at)chalupasworld(dot)com> wrote in news:klk9mf$ce8$1@dont-
>> email.me:
>>
>>> I understand what NP is saying though. I have revisited code I wrote
>>> years ago. I know I must of been in 'the zone', because some of the
>>> algorithms (some) where just short of brilliant and trying to figure out
>>> what I was thinking without comments (kind of wipes out the brilliant
>>> part I know), was like an outer body experience.
>> And that is why I *always* comment code whose purpose is not immediately obvious: self-
>> defense. Even with a large applications group, you still wind up maintaining a lot of your own
>> code, maybe years later: "Hey, who wrote this module? Doug did? OK, Doug, you get to do
>> this enhancement." Never mind the fact that Doug is now the sysadmin, and hasn't worked in
>> apps development for five years... Naah, that'd never happen... Would it?
> I think what happens with me anyway, is that after a while I have more
> or less the whole structure and design in my head, and coding is just a
> matter of writing the mental picture in the language. The temptations is
> to do that but IF the actual concept is flawed or its got lost in
> translation its vile to debug without the comments.
>
> Often I will write the pseudo code as a comment and see if the code
> actually corresponds..
My best commented code happens when I start by writing a complete
outline of the module with each line starting with // and then write
the code between the comments.
Doing that first exposes logic errors since I am thinking of the
overall flow without being bothered by little syntax details. It also
makes writing the code easier since the tasks are all broken down into
manageable and logical pieces. Then when it's done the code is already
commented as if by magic and i don't have to do that drudgery.
Of course, I don't always discipline myself to do it that way, but I
am always glad when I have done so.
Richard Yates
|
|
|