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=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC 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: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public From: TanselErsavas Subject: Re: OO, C++, and something much better! Date: 1997/01/26 Message-ID: <32EBEAE0.29BC@rase.com>#1/1 X-Deja-AN: 212409772 references: <32DFD972.37E4@concentric.net> <5bphq4$5js@mulga.cs.mu.OZ.AU> <32E987FC.1FF2@rase.com> <32EB845C.68EB@interaccess.com> content-type: text/plain; charset=us-ascii organization: RASE Inc. mime-version: 1.0 reply-to: tansel@rase.com newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng x-mailer: Mozilla 3.0 (Win95; U) Date: 1997-01-26T00:00:00+00:00 List-Id: Robert Dewar wrote: > > 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. This is not a fact. I have been involved in large projects which used "incremental testing" that were quite successful. This depends on who is attempting it, and what tools and techniques they use. On the contrary, I use an approach which I call "conception-evolution" that is an advanced and formalized evolutionary prototyping technique similar to the ones you claim to cause disaster, which I am yet to see. Discrete steps of waterfall has long gone, and this applies to parts of testing as well. The problem with prototyping approaches is that they are not formally disciplined, and they mainly concantrate on the user interface which in some systems only the tip of the iceberg. If you can prototype the entire system using formal diagramming techniques and a disciplined approach, then you are much more likely to identify problems much earlier. The key to develop succesful systems is iteration. No one can claim that with careful planning and analysis they can come up with the ideal system in one shot. With most of the available inflexible languages, tools and development environments it is not practical to modify systems once a big chunk of them is developed. However with languages such as Smalltalk and a new breed of tools, this will be very possible in the near future. Our company is working on one such tool right now, and there are others. > "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. > It is true that interpretation and dynamic environments are implementation styles. As you say some languages are much more suitable for this than some others. I am sorry that you have to mention Basic and a lot of people will have to use it, just because it happens to be the favorite of "you know who", otherwise it wouldn't have had the place it has Today. Coming to intrepretive style of Smalltalk and Smalltalk like languages, they are made for this style. It is much more easier and natural to implement Smalltalk as is, while it requires a considerable amount of time and effort to come up with one for C. For that reason Smalltalk based environments are being increasingly used for other languages. A typical example is VisualAge suite. BTW there are entire languages and environments, for instance the PC version of the latest version of the LINC suite of Unisys, developed in Smalltalk. There are also a few Lisp implementations. It would be trivial to build a C or a Pascal interpreter, although I don't see much reason for it. Squeak group is actually discussing support for other languages to attract other developers to Squeak environment. They are very aware that most other languages have no chance to compete with a Smalltalk like language in the long term and they have an advantage of being able to distribute it free even for commercial uses. > 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. This is not an either-or case. You can have formalizm and formal tools in a dynamic environment, and once you have them, you'll have such powers, it will be another dimension in software development. Tansel ----------------------------------------------------------------------- RASE Inc. Clark NJ USA Voice: (908) 396 7145 mailto:tansel@rase.com Fax: (908) 382 1383 http://www.rase.com/ ----Sufficiently advanced technology is indistinguishable from magic--- -------------------------------A.C. Clarke-----------------------------