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: 11232c,59ec73856b699922 X-Google-Attributes: gid11232c,public X-Google-Thread: 1108a1,59ec73856b699922 X-Google-Attributes: gid1108a1,public X-Google-Thread: fdb77,5f529c91be2ac930 X-Google-Attributes: gidfdb77,public X-Google-Thread: 103376,583275b6950bf4e6 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-05-01 12:44:19 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!arclight.uoregon.edu!enews.sgi.com!sdd.hp.com!ihnp4.ucsd.edu!news.ucsd.edu!not-for-mail From: Dr Chaos Newsgroups: comp.lang.java.advocacy,comp.object,comp.lang.ada,misc.misc Subject: Re: Using Ada for device drivers? (Was: the Ada mandate, and why it collapsed and died) Followup-To: comp.lang.java.advocacy Date: Thu, 1 May 2003 19:44:18 +0000 (UTC) Organization: Univ of Calif San Diego Message-ID: References: <9fa75d42.0304230424.10612b1a@posting.google.com> <9fa75d42.0304240446.493ca906@posting.google.com> <3EA7E0E3.8020407@crs4.it> <9fa75d42.0304240950.45114a39@posting.google.com> <4a885870.0304291909.300765f@posting.google.com> <416273D61ACF7FEF.82C1D1AC17296926.FF0BFD4934A03813@lp.airnews.net> <9fa75d42.0305010621.55e99deb@posting.google.com> NNTP-Posting-Host: lyapunov.ucsd.edu X-Trace: news1.ucsd.edu 1051818258 26677 132.239.222.85 (1 May 2003 19:44:18 GMT) X-Complaints-To: usenet@news1.ucsd.edu NNTP-Posting-Date: Thu, 1 May 2003 19:44:18 +0000 (UTC) User-Agent: slrn/0.9.7.4 (Linux) Xref: archiver1.google.com comp.lang.java.advocacy:62997 comp.object:62489 comp.lang.ada:36819 misc.misc:13871 Date: 2003-05-01T19:44:18+00:00 List-Id: On 1 May 2003 07:21:49 -0700, soft-eng wrote: > > But you are assuming a stricter type safety translates > to higher quality. > > There is little evidence for that. Type safety is > ONE thing that helps quality. But if a little > bit of sugar in a recipe is good, ten times > the sugar will not make it taste ten times > tastier. There are natural limits. > Ultimately, type safety only catches relatively minor > errors typically made by novice programmers. It cannot > catch errors of design and logic, which are the more complex > sources of quality defects. I think minor errors are made by even experienced programmers frequently. Novice programmers cannot really correct errors of design and logic as well as experienced programmers can. > Most programmers do not stay novice for their > whole careers. (If they do, they should consider > other careers too.) So the role of type safety > in assuring quality is limited. What it can do is ensure the proper use of code designed by the more experienced programmers. > That having said, if you cannot hire well, a good type > safe language might help in eliminating smaller > errors. But then, you are never going to have > anything working anyway, so what's the big deal > about eliminating smaller syntax-level errors? > > If you can hire well, a super-strong type safe > language will only annoy your best programmers, > who don't need the type safety to avoid bugs > but have to work around it for all the things > that they do need to do. And how often is it really necessary to 'work around it'? The question is what happens with the typical level of programmer that typically good people can hire. I've personally found in my own work that static strict typing is not so enormously helpful in initial development when I have everything still "in my mind". It is extremely helpful when I return back to a project after many months, and I have noticed many times when prevented me from making dumb mistakes by accident, and informed me about what I was supposed to be doing. I greatly preferred that to run-time errors. Inevitably, people do take other jobs, and having code that is somewhat resilient to new programmers can be a good idea.