Loading ...
Sorry, an error occurred while loading the content.

proceedure for writing a computer program ?

Expand Messages
  • Bill Scott
    Hi All: I have a question ... and I can never seem to get an answer for it bear with me for a moment.... the proceedure for framing a wall is .... pour the
    Message 1 of 6 , Nov 28, 2000
    • 0 Attachment
      Hi All:
      I have a question ... and I can never seem to get an answer for it

      bear with me for a moment....

      the proceedure for framing a wall is ....

      pour the slab foundation
      bottom and top plate the foundation
      mark the stud locations, doors and windows
      cut the cripples and headers
      lay the plates on the slab
      distrubute the studs on the layout marks ect ect ...
      then nail the studs,cripples and headers to the plate ...
      wall ahhh ... a wall

      My Question :
      is there a systemmatic way to start a computer programing project
      ...
      I cannot seem to find a" how do you design a programing
      project" book or tutorial ... anyone know of such an animal
      every perl tutorial I have read starts out with .. Hello World
      and the next thing you know we are doing scalar or hash arrays
      with curly brackets and such ... I want to know how to decide
      what I want to do first and flow chart it and then figure out
      whether to use a stud or a cripple ...

      Bill




      [Non-text portions of this message have been removed]
    • Marco Bernardini
      *This message was transferred with a trial version of CommuniGate(tm) Pro* Alle 01.54 Tuesday 28/11/2000 -0800, Bill Scott ha mandato a Marco questo ... My
      Message 2 of 6 , Nov 28, 2000
      • 0 Attachment
        *This message was transferred with a trial version of CommuniGate(tm) Pro*

        Alle 01.54 Tuesday 28/11/2000 -0800, Bill Scott ha mandato a Marco questo
        messaggio:


        >My Question :
        >is there a systemmatic way to start a computer programing project

        My Answers:

        1) mail askbill@... ;-)

        or

        - look for a user needing a program
        - be sure he can pay
        - explain him the job is more expensive he thought
        - ask him which input and which output he need
        - guess his common mistakes (capital letters, dates and so on)
        - ask him some money *before* to start
        - write the program (the easier thing)
        - check a beta version with the user
        - ask other money
        - debug the program
        - write the manual
        - cash your bill
        - tell the guy to subscribe an assistance contract in a way you can take
        directly money from the guy's bank
        - upgrade the program every 2 months, even with minor upgrades, so the user
        is always happy

        At the bottom there is a long useful price list, found on Usenet.

        Bye!

        Marco Bernardini

        ***********************

        Calling me with a question $10
        Calling me with a stupid question $20
        Calling me with a stupid question you can't quite articulate $30
        Implying I'm incompetent because I can't interpret your inarticulate
        problem description $1000+punitive damages
        Questions received via phone without first trying help desk $10.00
        Questions where answer is in The Manual $10.00
        Questions during Quake 3 Arena session $20.00
        Calling me back with the same problem *after* I fix it once $100
        Insisting that you're not breaking the software, the problem is on my end
        somehow $200
        Asking me to walk over to your building to fix the problem $5/step
        Asking me to drive to another town to fix your problem $50/mile+gas
        If you interrupt me while I was reading news $25/hr
        If you interrupt me while I was trying to actually fix somebody else's
        problem $45/hr
        If you try to hang around and get me to fix it now $50/hr
        If you expect me to tell you how I fixed it $60/hr
        If you've come to ask me why something isn't working that I'm currently
        working on $70/hr
        If you're asking me to fix something I fixed for you yesterday $75/hr
        If you're asking me to fix something I told you I fixed yesterday, but
        never did fix $85/hr
        If you're asking me to fix a quick patch that I made that didn't work $95/hr
        If you're bugging me while there's another admin in the room who could have
        done it for you $150/hr
        Making me trek to your office to fix your problem then leaving immediately
        after hanging up the phone $1500.00
        Calling up with a problem which "everybody" in the office is having and
        which is "stopping all work." Not being there when I rush over to look at
        it and nobody else in the office knows anything about it. $1700.00
        Explaining a problem for 1/2 hour over the phone BEFORE mentioning it's
        your personal machine at home $500.00
        Self-diagnosing your problem and informing me what to do $150.00
        Having me bail you out when you perform your own repairs I told you not to
        do $300.00
        Not telling all of your co-workers about it $850.00
        Figuring out you mean floppy drive when you say hard drive $50.00
        BEFORE I order your replacement hard drive $250.00
        Fixing your "broken" mouse with a mousepad $25.00
        Fixing your "broken" optical mouse by rotating the mousepad 90 degrees $35.00
        Fixing a "broken" mouse by cleaning the rollers $50.00
        Fixing your "broken" printer with an ink/toner cartridge $35.00
        Fixing your "broken" ANYTHING with the power button $250.00
        Fixing the "crashed" system by turning the external disk back on $200.00
        Fixing the "hung" system by plugging the ethernet transceiver back in $375.00
        Fixing the crashed nameserver by plugging back in the SCSI cord someone
        accidentally yanked out on Friday afternoon when the 'real' sysadmin has
        just left for a two week vacation $400
        Visiting your old university and fixing the broken PC by plugging the
        monitor lead back in $50
        Explaining that you can't log in to some server because you don't have an
        account there $10
        Explaining that you don't have an account on the machine you used to have
        an account on because you used it to try to break into the above server $500
        Forgetting your password after it was tattooed on your index finger $25
        Changing memory/disk partitions without informing me first $50
        Installing programs without informing me /getting permission first $100
        Technical support for the above programs $150/hr
        Spilling coke on keyboard $25 plus cost of keyboard
        Spilling coke on monitor $50 plus cost of monitor
        Spilling coke on CPU $200 plus cost of motherboard swap plus hourly rate of
        $150 per hour spent reinstalling the system
        Leaving files on desktop $5 per file
        Cleaning the mouse with spit and sleeve $50 plus cost of sleeve
        Bringing in your own copy of the original Norton Utilities v1.0 to fix a
        brand new machine $200
        Chewing on the end of the graphic tablet stylus $25
        Putting feet up next to workstation after ten mile jog through NYC streets $50
        Spending 30 minutes trying to figure out what your problem is, and another
        5 explaining how to verify and fix it, only to hear you say... "So that's
        what the little box that popped up on my screen was telling me; to do!" $40
        Listening to your network troubles, suggesting that you check to see if you
        are plugged into the network jack, hearing yes, trying five other things,
        asking you to identify your plug type, listening to you drag furniture, and
        hearing a sheepish, "Oops. Never mind." $35 (including discount for polite
        apology)
        Dealing with tech support requests for obviously pirated software $25
        Dealing with "How can I get another copy of [obviously pirated software]?
        Mine just died." requests $45
        Having to use the "We're really not the best people to talk to about that;
        why don't you try calling the number on the box in which you bought it?"
        line $55
        Actually needing to explain copyright law to you after you failed to get
        the hint in the previous response $95 (includes instructions for getting
        freeware replacements from the public file server)
        Having to point out anything that's on the wall in a typeface larger than
        18 points $15
        If I wrote the sign $45
        If it's in a 144 point font and taped to the side of the monitor facing
        the door $75
        Reporting slow connection by passenger pigeon packets to MPEG archive in
        Outer Slobavia as a Mosaic/Netscape/Gopher/FTP client problem $25.00
        Reporting it more than once $50.00
        Reporting it more than once and implying slothfulness on tech support's
        inability to solve problem $200.00

        Beeper Prices:

        Beeping me when I'm out with the significant other $50
        Beeping me when I'm out of town and I took pains to insure that help files
        were left all over and that diagnostics had been run on all machines before
        I left $100
        Beeping me more than once to tell me that the printer's offline and the fix
        is to press the On Line button $200
        Beeping me more than once while I'm asleep $50 per beep
        Beeping me and not identifying yourself within the first 5 seconds $25
        Beeping me and then changing your story / denying you placed the call /
        hoped I would forget who caused the problem $500

        Special Rates:

        Dealing with user body odor $75.00/hour
        Dealing with user not familiar with the primary language spoken at site
        $50.00/hour
        Dealing with user who is (self-proclaimed) smarter than you are, but still
        calls every other day for help $100.00/hour
        Dealing with computer hobbyists $125.00/hour

        Questioning the other prices ........... $50
      • Bill Scott
        Hi Marco ... the big kidder ... *||:^) Glad to see you don t hold a grudge ... ha ha ... but the most important thing is to cash the cheque ... Bill
        Message 3 of 6 , Nov 28, 2000
        • 0 Attachment
          Hi Marco ... the big kidder ... *||:^)

          Glad to see you don't hold a grudge ... ha ha ...

          but the most important thing is to cash the cheque ...

          Bill
        • Jim Hall
          Bill, ... Some thoughts regarding your query. Bear with me for a moment too Your wall building example is typical of the way most people learn to write
          Message 4 of 6 , Nov 30, 2000
          • 0 Attachment
            Bill,

            At 01:54 AM 11/28/00, you wrote:

            >Hi All:
            >I have a question ... and I can never seem to get an answer for it
            >
            >bear with me for a moment....
            >
            >the proceedure for framing a wall is ....
            >
            >pour the slab foundation
            >bottom and top plate the foundation
            >mark the stud locations, doors and windows
            >cut the cripples and headers
            >lay the plates on the slab
            >distrubute the studs on the layout marks ect ect ...
            >then nail the studs,cripples and headers to the plate ...
            >wall ahhh ... a wall
            >
            >My Question :
            >is there a systemmatic way to start a computer programing project
            >...
            >I cannot seem to find a" how do you design a programing
            >project" book or tutorial ... anyone know of such an animal
            >every perl tutorial I have read starts out with .. Hello World
            >and the next thing you know we are doing scalar or hash arrays
            >with curly brackets and such ... I want to know how to decide
            >what I want to do first and flow chart it and then figure out
            >whether to use a stud or a cripple ...
            >
            >Bill






            Some thoughts regarding your query.

            Bear with me for a moment too <G>

            Your wall building example is typical of the way most people learn to write
            programs (and maybe even clips).

            If I may also use your example then it wouldn't surprise me if the finished
            wall was 12 feet high, 133 feet long, with 4 x 12 studs, 17 windows and 5
            doors (or some other such foolishness).

            In other words, what might be the most important part seems to be missing here.

            That is the results of the Planning and Engineering phase.

            Examples of the questions that one needs answered to build the correct
            wall, in the correct manner, the first time, might be (among many others):


            What is the purpose of this wall (why do we even need to build it?)

            Is it for a house, a barn, a garage, a shed?

            Is it a single story wall, or a double story wall
            ( for a 10 story barn perhaps?? <G>)

            Is it a bearing wall or a partition?

            Is it a fire wall

            Is it to be insulated


            etc. etc.



            Good Programming requires good Planning and Engineering too.

            Just as there needs to be tools (drawings and bills of materials) to
            communicate the wall specifications to the person who is going to build it,
            so too should there be tools to communicate the Program Specifications
            (General Description, annotated flow chart, list of defined Variables,
            annotated coding, help files, perhaps a tutorial) to the person doing the
            coding and also to the seller/buyer/user of the program.

            Now it is true that a person can write a program to perform a desired task
            without creating these communication tools, if.....

            The person codes it themselves, uses it themselves, and never needs to go
            back a year later and try to remember what it was they did.

            Perhaps one should think of a "PROGRAM" as simply a human readable list of
            specific tasks to be performed by the computer, to a specific list of
            things, using a specific list of temporary names/values in the process plus
            some human UNreadable text added on at the bottom (the code).

            A major mistake is to get so involved with the coding & programming
            language that we forget to actually WRITE the program, THEN code it.

            This means that we try to WRITE the program WHILE we code it and that is
            just like trying to dig the footer ahead of the guy pouring the concrete.

            A well written program can be coded in several different languages by
            several different people, and ran on different platforms on different types
            of computers and still come up with the correct value for the sum of 1 + 3.
            (Or perhaps correctly print "Hello World" to the screen)

            I believe that a well written program should include (but by no means be
            limited to) all necessary tools (regardless of format) to accomplish the
            following.


            List and define for the person who is going to code the program (even if it
            is yourself) as well as for the person who is going to maintain and perhaps
            later revise the program :

            The specific reason(s) for the existence of the program

            What specific task(s) it is supposed to perform

            How specifically it is to do it.

            What specific Constants are to be used and for what

            What specific Variables are to be used and for what

            What specific Parameters are to be used and for what

            What additional files are needed


            (The person(s) selling /buying/using the program also need to know some of
            these things.)


            Generally all of these (and more) are the ";COMMENTS" at the very beginning
            and throughout the source code for the program.


            Usually there is other information included such as:

            Creation Date

            Copyright date/info

            Revision date/info

            Disclaimers and other legal info

            List of participating programmers

            etc. etc.



            Now we all know that a Stud is just another name for a long cripple (don't we?)

            In programming, we can often use either a long routine or a short routine
            to accomplish the same thing.

            We can also make a "Subroutine" or maybe a "macro" (user defined command)
            which will work as both a stud and a cripple (adjustable height jack)
            depending on a given set of circumstances and not have to have a routine
            for each.

            Knowing that there is a short/quick routine/command instead of the long
            version or when it is best to create a macro, are tricks of the trade
            learned only by hitting your thumb/forehead with the hammer/mouse enough
            times to know that it hurts.

            They come with experience.

            The one thing unique to computers that is different from all other trades
            (save perhaps medicine) is that it IS OKAY to ask for help and to admit
            FREELY that you don't know what to do (or what you are doing).

            Since we have all been taught from birth to never show our ignorance, this
            goes against our natural grain and requires some definite attitude adjustment.

            There are just too many applications/languages/platforms/computers for any
            one person to know them all so........

            If there is something about computers/programming that you don't know, you
            look in your code book (e-mail address book entries under "Guru") and see
            who does and ask them.

            I don't know if I answered your specific question in a specified manner or
            not but hopefully I have provided you with some specific food for thought.

            After thought.

            Maybe a more specific answer would be:

            Step 1. Take a pencil and paper (NoteTab Pro and NoName01.txt) and start
            PLANNING/ENGINEERING/WRITING your program.

            Step 2. CODE Your program

            Step 3. DEBUG your program

            Step 4. BETA TEST your program

            Step 5. REVISE your program

            Step 6. USE/SHARE/SELL/SUPPORT your program

            Hope it helps.

            Regards,

            Jim
          • Marco Bernardini
            *This message was transferred with a trial version of CommuniGate(tm) Pro* Alle 23.01 Thursday 30/11/2000 -0800, Jim Hall ha mandato a Marco questo ... It s
            Message 5 of 6 , Dec 1, 2000
            • 0 Attachment
              *This message was transferred with a trial version of CommuniGate(tm) Pro*

              Alle 23.01 Thursday 30/11/2000 -0800, Jim Hall ha mandato a Marco questo
              messaggio:

              >If I may also use your example then it wouldn't surprise me if the finished
              >wall was 12 feet high, 133 feet long, with 4 x 12 studs, 17 windows and 5
              >doors (or some other such foolishness).

              It's true!
              We architects call it "spontaneous architecture"... it becomes "typical"
              after a 200 years on so, and you can't modify it, in the same way you can't
              modify a spaghetti-coded program :-)

              Bye!

              Marco Bernardini
            • Bill Scott
              A major mistake is to get so involved with the coding & programming language that we forget to actually WRITE the program, THEN code it. Bill *||: )
              Message 6 of 6 , Dec 3, 2000
              • 0 Attachment
                A major mistake is to get so involved with the coding &
                programming
                language that we forget to actually WRITE the program, THEN code
                it.

                Bill *||:>) wrote:

                That is exactly what I am looking for how do you write a program
                before you
                code it or even decide what language will be the best to use ...
                *||:^) A wee bit of
                help.tips or ideas on how to start ... planning ... a project ...
                you know.a jump start ... with the obvious ..... so the light
                goes on .... a hint ... so more people get the joke ... *||:^)

                I work with animals allot border collies ..... when some college
                guy comes out to learn to do some training ... what is obvious to
                me is not always so obvious to him ... you might tell him five
                times and he just does not get it ... but if I take the time to
                give him a hint they will usually suprise you .. what you thought
                was dumb was just ignorant of animals ..... ignorance is curable
                in most cases ... *||:^) I had a male nurse that came to me about
                5 years ago for help he just won the Nursery Nationals ... but
                when I first met him he was comical ... he couldn't even spell
                border collie ..and I thought to myself what a dumb head ... but
                he stuck it out and ... there you have it ......

                Bill (off topic) Scott.
              Your message has been successfully submitted and would be delivered to recipients shortly.