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: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: OO, C++, and something much better! Date: 1997/01/26 Message-ID: #1/1 X-Deja-AN: 212351481 references: <32DFD972.37E4@concentric.net> <5bphq4$5js@mulga.cs.mu.OZ.AU> <32E987FC.1FF2@rase.com> <32EB845C.68EB@interaccess.com> organization: New York University newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng Date: 1997-01-26T00:00:00+00:00 List-Id: Bob asks " So you test everything as-you-go, bottom up, without having to create test harnesses, stubs, and other administrative trivia. So you code seldom gets out of control. Lint-style static checks could be included in the above description; I understand some Smalltalk tools are coming on the market to do that. Is there any other environment (except Lisp) that enables such dynamic testing?" Robert replies The danger is that the "test everything as-you-go" style degrades into "design everything as-you-go", which is tempting for fast development, and is even appropriate for certain kinds of prototyping, but is a complete disaster for generating large scale reliable software, as has been proved over and over again by experience. "is there any other environment" Yes, of course, this kind of dynamic environment is common. Many Basic systems share this kind of flexibility. APL and ABC come to mind immediately, but there are many others. This is actually more a matter of implementation style than languagde design, though in some cases language designs facilitate this kind of dynamic approach. You can even provide this kind of dynamic development envrionment with languages like C, using incremental compialtion and fix-and-continue. But once again, this kind of dynamic environment can be very dangerous. it is the antithesis of the careful approach using formal or semi-formal tools that is the key to generaing large scale reliable software. Consider for instance the clean room model. I would get that most of those who like the highly dynamic style cannot even *imagine* that the clean room approach works, let alone that it has been found to be highly effective.