Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
06/30/07 15:57
Read: times


 
#141372 - Real Work vs. Fooling Around
Responding to: ???'s previous message
Andy said:
Be explicit with your code, use parentheses liberally, and don't use the clever tricks K & R show you.
You'll understand your code in six months, the compiler will do what you expect, stepping through code in the debugger is a lot easier, and everyone will be a lot happier when it just works.

I think we need to make a distinction between "real work" and "fooling around".

When you're doing real work, I agree with you 1000%.

However, I also see some value in little recreational programming puzzles that challenge your creativity and encourage you to try various things that you wouldn't dare to put in a "real" program. I know I've learned a lot over the last few months from the little quizzes and puzzles that have appeared on this site.

Just as an example, consider Chris's comments on operator precedence and the use of parentheses. In real work, I agree with you that you should use parentheses liberally in order to make your intentions explicitly clear, not so much for the benefit of the compiler (which has the operator precedence rules down cold!) as to help the next poor clown who has to maintain your code. If doing so "dumbs you down", as Chris put it, then the occasional challenge of puzzles like this one, where parentheses have an artificial cost, can serve to reverse the effect.

IMHO, anyway.

-- Russ


List of 36 messages in thread
TopicAuthorDate
Mini quiz for Friday            01/01/70 00:00      
   a classic            01/01/70 00:00      
   Non kosher C            01/01/70 00:00      
      Please Explain            01/01/70 00:00      
         The reason            01/01/70 00:00      
            The real reason???            01/01/70 00:00      
               welcome to the club            01/01/70 00:00      
            Worse than "implementation dependent"            01/01/70 00:00      
               Can you clarify this point?            01/01/70 00:00      
                  splint gives a (very) detailed warning:            01/01/70 00:00      
                     Interesting ...            01/01/70 00:00      
                        Sequence point            01/01/70 00:00      
   Lesson complete            01/01/70 00:00      
      The weird part            01/01/70 00:00      
      There's a fine line            01/01/70 00:00      
         Problem            01/01/70 00:00      
            operator precedence            01/01/70 00:00      
               I second the motion            01/01/70 00:00      
                  As I said            01/01/70 00:00      
                     re: As I said            01/01/70 00:00      
                        Productivity?            01/01/70 00:00      
                           wrong comment            01/01/70 00:00      
                           re: Productivity            01/01/70 00:00      
                        that's IT            01/01/70 00:00      
                           Then again ...            01/01/70 00:00      
                              OK, is this better ?            01/01/70 00:00      
                                 12 year olds are smarter            01/01/70 00:00      
                                    Sorry but            01/01/70 00:00      
                                       Order of operations            01/01/70 00:00      
                                       I know            01/01/70 00:00      
                                    How about ...            01/01/70 00:00      
                                       Wrong?            01/01/70 00:00      
                                          point proven            01/01/70 00:00      
         Real Work vs. Fooling Around            01/01/70 00:00      
            I got caught out recently            01/01/70 00:00      
               re: I got caught out recently            01/01/70 00:00      

Back to Subject List