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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 1108a1,59ec73856b699922 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,583275b6950bf4e6 X-Google-Attributes: gid103376,public X-Google-Thread: fdb77,5f529c91be2ac930 X-Google-Attributes: gidfdb77,public X-Google-Thread: f43e6,899fc98b2883af4a X-Google-Attributes: gidf43e6,public X-Google-ArrivalTime: 2003-05-16 11:49:14 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!newsfeed.stueberl.de!feed.news.nacamar.de!uio.no!newsfeed.kolumbus.fi!fi.sn.net!newsfeed1.fi.sn.net!nntp.inet.fi!inet.fi!newsfeed1.nokia.com!news1.nokia.com!news2.nokia.com.POSTED!not-for-mail Message-ID: <3EC532A8.A13C0342@none.yet> From: Linnea X-Mailer: Mozilla 4.75 [en]C-CCK-MCD {Nokia} (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.java.advocacy,comp.object,comp.lang.ada,comp.software-eng Subject: Re: Quality systems (Was: Using Ada for device drivers? (Was: the Ada mandate, and why it collapsed and died)) References: <9fa75d42.0304230424.10612b1a@posting.google.com> <7507f79d.0305121629.5b8b7369@posting.google.com> <9fa75d42.0305130543.60381450@posting.google.com> <254c16a.0305140549.3a87281b@posting.google.com> <9fa75d42.0305141747.5680c577@posting.google.com> <3EC3D737.6020509@attbi.com> <9fa75d42.0305160924.2bf76373@posting.google.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Fri, 16 May 2003 18:54:49 GMT NNTP-Posting-Host: 10.163.12.84 X-Complaints-To: newsmaster@nokia.com X-Trace: news2.nokia.com 1053111289 10.163.12.84 (Fri, 16 May 2003 21:54:49 EET DST) NNTP-Posting-Date: Fri, 16 May 2003 21:54:49 EET DST Organization: Nokia Xref: archiver1.google.com comp.lang.java.advocacy:63938 comp.object:63562 comp.lang.ada:37401 comp.software-eng:19241 Date: 2003-05-16T18:54:49+00:00 List-Id: soft-eng wrote: > > But the truth is the choice of language has little to > do with situations like these. You just need professionalism > and discipline. Don't fix until you are sure you > have found the bug, or at least the module where > the bug is. If you have to shoot-in-the-dark, > use a source code control system so you can back > out of any theories that didn't work out, without > leaving new bugs. This far I can agree, > If you are working with critical parts > of the system, read the code until you know what every > if statement does, and even this far, > and don't touch it until > you know EXACTLY what you are doing. Don't > be afraid of re-writing large chunks of > the code, but only if you have done the > homework of understanding the old code cold. but here you are saying something I cannot agree with. I have learnt my first lessons on refactoring in early 80's, long before I knew anything about version control and the other aids to support it, and almost two decades before I found Martin Fowler's book on refactoring. Ever since those first lessons, I've always considered refactoring - even when I didn't have a name for it - as the only way to ensure that I know exactly what I am doing, and to find out what exactly the code is doing. You HAVE to touch the code IN ORDER TO understand it. You have to continuously edit, compile, debug, edit, compile, debug, in order to find whatever you are looking for. Even when you don't understand which change eventually fixed a bug, refactoring is a way to ensure your fix doesn't break anything. There is no better method to read the code than refactoring, especially when dealing with the various sediments of history, but so many generations of programmers have been educated to just WRITE programs. Each new generation believes they write better programs than the previous, and therefore are privileged to discard what others wrote. When shall we see the first generation that was taught from the beginning to read the code and respect the experience? The only way to learn to read the code is my touching it, by refactoring it. If that's what you mean by "homework of understanding the old code cold", then we agree. However, I see no indication of you meaning it that way. > None of which has to do with the language choice. >From here on I can agree again. Linnea