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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
06/15/07 00:23
Modified:
  06/15/07 00:25

Read: times


 
#140811 - Never had to do that ... and for good reason.
Responding to: ???'s previous message
I've written a little 'C' code, maybe ~9-10K lines, but found that, since it easily compiles code that has no chance of operating at all, because of its weak type-checking (or none) and all the other things that it doesn't do, that it's much easier and probably as sensible, to use other tools that help you a little more. I think the reason 'C' is so popular is because it is widely used in educational institutions, heaven knows why. Pascal was designed for education, and it does that pretty well. 'C', on the other hand, discourages rigor and discipline, both of which are necessary for any useful work.

Whe I was in college, nobody used such languages. We had Fortran and Cobol, and, of course, assembler. BASIC didn't yet exist. Many large computers used "characters" rather than words, wherein one had to specify in the instruction, what the associated data length and format was. Computers didn't have stacks, and a subroutine was often entered with an instruction such as JST (jump and store) wherein the current PC was incremented and stored at the entry point of the routine and subsequently used as a return path. On the last job I held as a programmer, we were denied the use of Fortran-IV because the "higher ups" didn't want application programmers having access to certain I/O devices, so we had to use Fortran-II, to which we users referred as "Threetran."

'C' may be useful for large programs (those exceeding 1 milion lines) but it's really only maintainable if it's thoroughly documented, with each and every statement bound back to the requirement that justifies it. I found that, since there are often many dozens of ways of expressing the same simple sequence, some "approved" and some not, it makes much more sense to use a more strongly self-enforcing tool. The thing that convinced me that extensive documentation is absolutely necessary was an experience I had with "updating" decade-old code of considerable size. I couldn't find two people who could agree on what even one page of that entire project's code was intended to do.

The inherent flexibility of a language can be its undoing. From the standpoint of the long term, that's 'C' for you. It sacrifices "keeping it afloat" later on for "getting it out the door" now, in a sense. It's easy for someone to write code that compiles, and, as a result, it removes one small obstacle from the equation, namely discipline.

If everyone used more or less the same subset of 'C' these matters wouldn't be such an issue. If everyone were disciplined enough to delay writing the code until the requirements were documented and signed, and then wrote the code to match the reuquirements, it wouldn't be so bad, but too much code is written before the requirements are agreed upon and too little of that code is justified.

The documentation is required becuase someone else will eventually have to fix the code.

No, the 'C' code I've written was not documented in the way I recommend, because I knew it would never have to be maintained, even by me, as its real effect was to convince me that 'C' was not a tool I'd find acceptable for use in profesisonal-quality work, and that was because it disocurages rigor and discipline.

RE


List of 87 messages in thread
TopicAuthorDate
Sunday Quiz - Bit Flipper in C            01/01/70 00:00      
   Here's My 41 Bytes            01/01/70 00:00      
      Very nice, but call it 43 (explained herein)            01/01/70 00:00      
   Sunday Quiz Update            01/01/70 00:00      
      OK Then 39 Bytes...            01/01/70 00:00      
         Oh my goodness            01/01/70 00:00      
            If you want performance...            01/01/70 00:00      
         More bytes, but ...            01/01/70 00:00      
   OK Then 38 Bytes            01/01/70 00:00      
      Comma            01/01/70 00:00      
         36! Holy cow! Very nice!            01/01/70 00:00      
            my 36            01/01/70 00:00      
               Non-conforming            01/01/70 00:00      
                  Wow! 34! |<3WL! :-)            01/01/70 00:00      
                     ???            01/01/70 00:00      
                        KEWL = cool in l33t :-) (worse than SMS...)            01/01/70 00:00      
                  Wow is right!!! plus another 36            01/01/70 00:00      
         Broken            01/01/70 00:00      
            C doesn't try to save you ...            01/01/70 00:00      
            Not Broken            01/01/70 00:00      
   look for samples of FFT code ...            01/01/70 00:00      
   this is competing to make the worst possible            01/01/70 00:00      
      it's certainly not the solution...            01/01/70 00:00      
         correction            01/01/70 00:00      
            Unless you're "porting" ...            01/01/70 00:00      
               there are situations...            01/01/70 00:00      
                  au contraire            01/01/70 00:00      
                     overlayed variables            01/01/70 00:00      
                        non-religious reasons and debunking some            01/01/70 00:00      
                           I doubt that            01/01/70 00:00      
                              now try            01/01/70 00:00      
                                 with the error or without?            01/01/70 00:00      
                                    the 49 is a compare the 48 is coding time            01/01/70 00:00      
                                       47, 48, 49            01/01/70 00:00      
                                          for such a cause as            01/01/70 00:00      
                                          Still more            01/01/70 00:00      
                                             one more point for Pascal            01/01/70 00:00      
                                                Language and vocabulary contributions            01/01/70 00:00      
                                                   Language and vocabulary contributions            01/01/70 00:00      
                                                Yes, it's much more "self-documenting"            01/01/70 00:00      
                                    Singular?            01/01/70 00:00      
                                 well... around 5 minutes            01/01/70 00:00      
                              It's not funny            01/01/70 00:00      
                                 this is why I don't like the "modern" over-windowe            01/01/70 00:00      
         Tastes            01/01/70 00:00      
      Skill in reading            01/01/70 00:00      
         in other words: because there are burglars detecti            01/01/70 00:00      
            That's why one should use ASM and not 'C'            01/01/70 00:00      
               nope            01/01/70 00:00      
                  are you perfect?            01/01/70 00:00      
                  That's why the documentation is necessary            01/01/70 00:00      
                     the old argument from C haters            01/01/70 00:00      
                     One page of comments per statement?            01/01/70 00:00      
                        If it's to be understood later on ...            01/01/70 00:00      
                           if I have to explain my choice of syntax in C, the            01/01/70 00:00      
                              The point is to show why, and not why-not            01/01/70 00:00      
                                 I post, you 'reply'            01/01/70 00:00      
                           Sorry, I still need more help on this            01/01/70 00:00      
                              Never had to do that ... and for good reason.            01/01/70 00:00      
                                 Maybe just one unclear point now            01/01/70 00:00      
                                    Well, if it were up to me ...            01/01/70 00:00      
                                       Thanks            01/01/70 00:00      
                                          I hope you're not missing my point ...            01/01/70 00:00      
                                             You explained yourself clearly            01/01/70 00:00      
                                 Upside down            01/01/70 00:00      
                                    Just look at the body of work ...            01/01/70 00:00      
                                       Nature of commercial software            01/01/70 00:00      
                                          Maybe it's more like a 747 vs. a bicycle            01/01/70 00:00      
                                    on driving and "coding"            01/01/70 00:00      
         even Mr. K agrees            01/01/70 00:00      
   Post Mortem #1            01/01/70 00:00      
      I object            01/01/70 00:00      
      Post Mortem #1.1            01/01/70 00:00      
         both translations are "strange"            01/01/70 00:00      
            Uninitialised?            01/01/70 00:00      
      20 bytes.            01/01/70 00:00      
         teaching the compiler...            01/01/70 00:00      
            Maybe for HLLs, but not for C ...            01/01/70 00:00      
               I know this is the praxis....            01/01/70 00:00      
         incorrect/incomplete statement            01/01/70 00:00      
   Post Mortem #2            01/01/70 00:00      
      Vote: 1. Yes 2. Dont care            01/01/70 00:00      
      modify it!!!!            01/01/70 00:00      
      vote            01/01/70 00:00      
         methink            01/01/70 00:00      
   its interesting that C            01/01/70 00:00      
      I like your proposal            01/01/70 00:00      

Back to Subject List