From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public From: nasser@apldbio.com Subject: Re: Why C++ is successful? Date: 1998/08/14 Message-ID: <6r0ncn$1d1@drn.newsguy.com>#1/1 X-Deja-AN: 381029282 References: <6qg3on$kjq$2@reader1.reader.news.ozemail.net> <6qrdn4$4ac@drn.newsguy.com> Organization: Newsguy News Service [http://www.newsguy.com] Newsgroups: comp.lang.ada Date: 1998-08-14T00:00:00+00:00 List-Id: the main reason most programmers do not get it right first time is that little time is spend thinking about the problem and all the dimensions involved before starting to work on it(i.e. code it). and this has very little to do with the language. also sometimes it is hard to think of everything before starting to implement something, so we use something like the prototype model, which is build-it-quickly-first-to-learn-more-about-the-problem, but may be we liked the prototype model so much, it is now used to build the final product instead. I find that I "finish" a program faster the longer I delay the time I start coding. sometime I have to fight the urge of the keyboard inviting me to start coding, but I feel I am not ready yet as the problem is not completely clear in my mind, and when I think I am ready, and have written the high level design document, and have all diagrams and the classes input/output sorted out, and I think I know all the objects needed etc.. I still many times find I missed something and did not think of some condition or some case or some angle to the program once I start coding and start to test few things. every time I tell my self, the next program I'll write, I will not start coding as soon as I did on my last program . my ultimate goal is to one day write a program that will exactly meet the requirments and work as designed and never need to be changed and have no design bugs and all from the first time. I think for this I need to spend about 99% time just thinking about it, and 1% to implement it :) but I'll know I'll still miss something. my 2 cents. Nasser