dag@control.lth.se (Dag Bruck) (02/27/91)
I will refrain from commenting the entomologist's latest posting. I will instead give a few examples of what I mean by: >1. If the the design is well-understood and verified, for example by >implementing a prototype, we can generate header files and stubs from >the prototype. The first example is Ibuild, a user interface builder that is part of InterViews 3.0 (currently in alpha-release). The user composes several predefined graphical and interactive objects with a graphical editor. When the design is complete, Ibuild can generate a set of .h and .c files that implements this user interface. The code is not complete -- the behaviour of interactive objects must be added afterwards, for example. Ibuild will also generate a small "main" program so you can test drive the user interface. The second example is TeleUse, another user interface management system, although for C and X11. This is a rather more mature (commercial) product. I believe the output of TeleUse requires much less hand-crafting than the Ibuild output. The third example is not directly related to C++, but perhaps the most interesting because it goes beyond computer programming. Simnon is a simulator package for non-linear systems. It provides a complete interactive environment for simulation of models based on non-linear differential equations. Simnon is a useful package, for example for designing a control system. There is an additional package that takes Simnon code as input and produces Modula-2 code suitable for implementing a controller on an IBM PC (there is also a small runtime library that provides initialization and a simple graphical user interface). Dag M Bruck -- Department of Automatic Control E-mail: dag@control.lth.se Lund Institute of Technology P. O. Box 118 Phone: +46 46-104287 S-221 00 Lund, SWEDEN Fax: +46 46-138118
rfg@NCD.COM (Ron Guilmette) (03/03/91)
In article <1991Feb26.202515.28688@lth.se> dag@control.lth.se (Dag Bruck) writes: > >>1. If the the design is well-understood and verified, for example by >>implementing a prototype, we can generate header files and stubs from >>the prototype. > >The first example is Ibuild, a user interface builder... >The second example is TeleUse, another user interface management system... >The third example is not directly related to C++, but perhaps the most >interesting because it goes beyond computer programming. Simnon is a >simulator package for non-linear systems... These three examples are indeed good examples of a category of systems which are sometimes refered to as "Fourth Generation Languages", i.e. "automatic programming" systems designed to minimize the amount of specification and effort needed to create some hunk of software for some very narrow applications area. I have to admit that Dag's examples do (to some extent) disprove my contention that you can't get an implementation from a mere specification (where the "specification" could be loosely viewed as a sort of "interface" and vise versa). Obviously, there *are* systems which can "build" the implementation for you as long as you are only dealing with some narrow applications area where there exists a known "pattern" for the typical sorts of implementation code needed. My contention was for the general case however. As of now, I know of no system, either experimental or commercial, which can do a reasonably good job of intelligently selecting data structures and algorithims to solve random problems which span various application areas. (If there was such a system, I might be out of a job! :-) Perhaps when those fellows working on "Deep Thought" get their machine to win the World Chess Championship they will become bored with chess and move along to this separate (but equally interesting) problem. -- // Ron Guilmette - C++ Entomologist // Internet: rfg@ncd.com uucp: ...uunet!lupine!rfg // New motto: If it ain't broke, try using a bigger hammer.