* Re: Reserve Demobilization System Built Around Reused Ada Code @ 1991-06-05 18:57 John Goodenough 1991-06-11 6:27 ` Jim Showalter 1991-06-18 17:21 ` Reserve Demobilization System Built Around Reused Ada Code Bob Munck 0 siblings, 2 replies; 21+ messages in thread From: John Goodenough @ 1991-06-05 18:57 UTC (permalink / raw) In article Re: Reserve Demobilization System Built Around Reused Ada Code of 30 May 91 18:30:53 GMT chuck@brain.UUCP writes: > code. It is misleading to the customer and the industry at large to portray > such development efforts as true reuse. I am NOT demeaning the achievement. > Let's just call a spade a spade. Maybe "rapid tailoring" or "rapid reengineering" > is a more suitable term for this type of approach. It is my impression that the figures quoted for high levels of software reuse and productivity in Japan are often based on just this kind of "rapid tailoring" or "rapid reengineering". I remember a paper some years ago concerned with generating process control software by a Japanese company in which they reported high levels of software reuse because they were tailoring their standard software to each customer's needs. Should we call it reuse when the end user is different, and otherwise call it enhancement? Depends on what techno-political games you want to play... John B. Goodenough Goodenough@sei.cmu.edu Software Engineering Institute 412-268-6391 ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Reused Ada Code 1991-06-05 18:57 Reserve Demobilization System Built Around Reused Ada Code John Goodenough @ 1991-06-11 6:27 ` Jim Showalter 1991-06-14 17:32 ` Piercarlo Grandi [not found] ` <1991Jun14.103725.2765@dit.upm.es> 1991-06-18 17:21 ` Reserve Demobilization System Built Around Reused Ada Code Bob Munck 1 sibling, 2 replies; 21+ messages in thread From: Jim Showalter @ 1991-06-11 6:27 UTC (permalink / raw) >Should we call it reuse >when the end user is different, and otherwise call it enhancement? Depends >on >what techno-political games you want to play... My definition of reuse is quite simple: any time you didn't have to write a line of code, you reused it. This may not be the definition of reuse people envision when they use the term "reuse", but in the end all that truly matters is the COST--a line saved is a line earned. If you treat the entire software development process like a black box, then from the outside of the box it matters little why the box is more efficient than other software development boxes--all that truly matters is that it IS more efficient. If the box is more efficient because of "mere" software enhancement instead of "pure" reuse, so be it. It degenerates (like so many things) into an argument over semantics. -- **************** JIM SHOWALTER, jls@netcom.com, (408) 243-0630 **************** *Proven solutions to software problems. Consulting and training on all aspects* *of software development. Management/process/methodology. Architecture/design/* *reuse. Quality/productivity. Risk reduction. EFFECTIVE OO usage. Ada/C++. * ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Reused Ada Code 1991-06-11 6:27 ` Jim Showalter @ 1991-06-14 17:32 ` Piercarlo Grandi 1991-06-14 22:25 ` Reserve Demobilization System Built Around Re rharwood 1991-06-15 0:22 ` Reserve Demobilization System Built Around Reused Ada Code Jim Showalter [not found] ` <1991Jun14.103725.2765@dit.upm.es> 1 sibling, 2 replies; 21+ messages in thread From: Piercarlo Grandi @ 1991-06-14 17:32 UTC (permalink / raw) On 11 Jun 91 06:27:03 GMT, jls@netcom.COM (Jim Showalter) said: (somebody)> Should we call it reuse when the end user is different, and (somebody)> otherwise call it enhancement? Depends on what (somebody)> techno-political games you want to play... jls> My definition of reuse is quite simple: any time you didn't have to jls> write a line of code, you reused it. This may not be the definition jls> of reuse people envision when they use the term "reuse", but in the jls> end all that truly matters is the COST--a line saved is a line jls> earned. But this does not capture what people "really" mean by reuse. Surely then using a DBMS, OS, math library, is "reuse" then, by your definition. IMNHO "reuse" is so poorly defined, because everybody (but me of course) does not understand sw development, that any discussion like "using X means more reuse" is pointless. For example the use of 4GLs, DBMSes, X windows, and math/GKS/stats/... libraries to me it is all reuse. Reuse is much more prevalent than people think, thanks to old fashioned concepts like servers (process based reuse) and libraries (module based reuse). Usually, I suspect, reuse is meant to be applied to the narrow case where one does custom sw development, which is no longer the case in most commercial installation; nearly everybody nowadays is using DBMSes and enjoying the benefits of not reimplementing from scratch data management programs. -- Piercarlo Grandi | ARPA: pcg%uk.ac.aber@nsfnet-relay.ac.uk Dept of CS, UCW Aberystwyth | UUCP: ...!mcsun!ukc!aber-cs!pcg Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@aber.ac.uk ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Re 1991-06-14 17:32 ` Piercarlo Grandi @ 1991-06-14 22:25 ` rharwood 1991-06-15 1:07 ` Jim Showalter 1991-06-15 23:03 ` Orville R. Weyrich 1991-06-15 0:22 ` Reserve Demobilization System Built Around Reused Ada Code Jim Showalter 1 sibling, 2 replies; 21+ messages in thread From: rharwood @ 1991-06-14 22:25 UTC (permalink / raw) In article <PCG.91Jun14183250@aberdb.aber.ac.uk>, pcg@aber.ac.uk (Piercarlo Grandi) writes: > Usually, I suspect, reuse is meant to be applied to the narrow case > where one does custom sw development, which is no longer the case in > most commercial installation; nearly everybody nowadays is using DBMSes > and enjoying the benefits of not reimplementing from scratch data > management programs. OK... maybe we can LIGHTLY (read as: "without flame") discuss and subsequently define what reuse really IS (or ought to be!). My Personal Opinion: Calling a DBMS or GUI or math routine is NOT reuse. Libraries of complex mathematical subroutines have been available to FORTRAN programmers since ENIAC, I suppose. Perhaps "reuse" is truly short-hand for "source code reuse"? The term has mostly come to represent the ability to incorporate software written for or funded by "some other" project with little or no modification; perhaps some customization (specifically, the instantiation of an Ada GENERIC unit for the target elements). A major rewrite would be excluded frp Ray ----- Ray Harwood |Data Basix |Associate Faculty, Voice: (602)721-1988 |PO Box 18324 | Pima Community College FAX: (602)721-7240 |Tucson, AZ 85731 |Instructor in Ada and Pascal CompuServe: 76645,1370|AppleLink: DATA.BASIX|Internet: rharwood@east.pima.edu ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Re 1991-06-14 22:25 ` Reserve Demobilization System Built Around Re rharwood @ 1991-06-15 1:07 ` Jim Showalter 1991-06-15 6:17 ` rharwood 1991-06-15 23:27 ` Reserve Demobilization System Built Around Re Orville R. Weyrich 1991-06-15 23:03 ` Orville R. Weyrich 1 sibling, 2 replies; 21+ messages in thread From: Jim Showalter @ 1991-06-15 1:07 UTC (permalink / raw) >My Personal Opinion: Calling a DBMS or GUI or math routine is NOT reuse. >Libraries of complex mathematical subroutines have been available to FORTRAN >programmers since ENIAC, I suppose. What is it, then? "use-again"? "repeated-use"? "use-more-than-once"? Sounds like reuse to me... >The term has mostly come to represent the ability to >incorporate software written for or funded by "some other" project with little >or no modification; When one makes use of a DMBS or a GUI or a set of math routines, is this not PRECISELY what you just described? Okay, I will concede one point: people do seem to think that reuse spans projects. Fine--doesn't a DBMS span projects? Over multiple project lifetimes, mechanisms that keep coming up (that "haven't we built this already?" feeling of deja vu) eventually get turned into highly reusable componentry--such as a DBMS, a GUI, or a set of math routines did at some point in the distant (or not so distant) past. The only possible distinction I can see between this and the rather loose notion people seem to have of reuse is that when one reuses a DBMS/GUI/math routine one is reusing some software component that has become common currency. Perhaps people think of reuse as being the repeated use of some kind of software that has yet to become common currency? In that case, the only clear distinction is one of TIME. -- *** LIMITLESS SOFTWARE, Inc: Jim Showalter, jls@netcom.com, (408) 243-0630 **** *Proven solutions to software problems. Consulting and training on all aspects* *of software development. Management/process/methodology. Architecture/design/* *reuse. Quality/productivity. Risk reduction. EFFECTIVE OO usage. Ada/C++. * ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Re 1991-06-15 1:07 ` Jim Showalter @ 1991-06-15 6:17 ` rharwood 1991-06-17 14:51 ` Ralph Johnson 1991-06-15 23:27 ` Reserve Demobilization System Built Around Re Orville R. Weyrich 1 sibling, 1 reply; 21+ messages in thread From: rharwood @ 1991-06-15 6:17 UTC (permalink / raw) In article <1991Jun15.010746.12768@netcom.COM>, jls@netcom.COM (Jim Showalter) writes: >>My Personal Opinion: Calling a DBMS or GUI or math routine is NOT reuse. >>Libraries of complex mathematical subroutines have been available to FORTRAN >>programmers since ENIAC, I suppose. > > What is it, then? "use-again"? "repeated-use"? "use-more-than-once"? Sounds > like reuse to me... COTS (commercial off-the-shelf) software could indeed be defined as "software reuse". And if that's the case, then everyone who's ever purchased WordPerfect (<=insert the name of whatever word processor you like) instead of WRITING THEIR OWN word processor has indeed REUSED software. I guess what I'm proposing is that software REUTILIZATION be broken into three distinct categories, with words and definitions similar to the following: (1) Commercial Off-the-shelf (COTS) software: executable machine instructions written, compiled, and distributed by an organization as a primary market item. Includes word processors, spreadsheets, desktop publishing, and run-time-only DBMS licenses, and I suppose also includes operating systems. (2) Library routines: object code provided by someone other than the end-product programming organization, generally without source code, incorporated into a distinctly separate software "entity" with a purpose greater than that of any individual library routine. Includes mathematical function libraries, matrix manipulation, file handling (such as an indexed file system for PCs which have no inherent indexed file capability), DBMSs with callable interfaces, network interfaces (like APIs?), and specialized "glue routines" in one language designed to interface to the underlying operating system or other COTS software. (3) Reused/reusable Source Code: 3rd or 4th generation source language statements provided by anyone (including within and outside of the end-product programming organization) which is compiler by the programming staff and used with little or no modification. If you've got to run it through your own compiler to use it, and you didn't write it, it's reused. Summary: COTS = executable, Libraries = object, Reuse = source. Again, these terms & definitions are just my impressions of what many people seem to mean when they talk about "not writing it yourself." I suppose this discussion is a lot like "recycling", a lot depends on your definitions! Driving alone in your own car every day ISN'T recycling dinosaur energy... > Over multiple project lifetimes, mechanisms that keep coming up (that "haven't > we built this already?" feeling of deja vu) eventually get turned into highly > reusable componentry--such as a DBMS, a GUI, or a set of math routines did at > some point in the distant (or not so distant) past. Without belaboring the origins of any one DBMS, I'd say "Yes, Oracle (<=insert name of any DBMS) was AT SOME POINT IN ITS DEVELOPMENT composed of reuseable source code, but once it was compiled into an executable module and sold "as is", then it became COTS software; and the linkable calls are a part of your library of routines; but it's NOTp suit your particular needs." Indeed, Oracle Corp REUSED it's own code when porting the SOURCE code to create executables for other platforms... but YOU can't take your own "reusable" copy of Oracle and modify it to run on a 2MB Nintendo (without losing a LOT in the translation!). Ray ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Re 1991-06-15 6:17 ` rharwood @ 1991-06-17 14:51 ` Ralph Johnson 1991-06-18 11:58 ` Eric Wayne Sink 0 siblings, 1 reply; 21+ messages in thread From: Ralph Johnson @ 1991-06-17 14:51 UTC (permalink / raw) In article <1991Jun14.231725.1@east.pima.edu>, rharwood@east.pima.edu writes: |> |> COTS (commercial off-the-shelf) software could indeed be defined as "software |> reuse". And if that's the case, then everyone who's ever purchased |> WordPerfect (<=insert the name of whatever word processor you like) instead of |> WRITING THEIR OWN word processor has indeed REUSED software. |> ... |> (1) Commercial Off-the-shelf (COTS) software: executable machine instructions |> written, compiled, and distributed by an organization as a primary market item. |> Includes word processors, spreadsheets, desktop publishing, and run-time-only |> DBMS licenses, and I suppose also includes operating systems. There is a world of difference between a word processor or a desktop publisher and a spreadsheet or a DBMS or an operating system. The first two are usually systems that are not programmable and can not be used with other software. Most DBMSs can be linked to application programs, and let those programs reuse all the file access and search routines. Operating systems let application programs reuse I/O and file system routines. A spreadsheet (when treated as reusable software, and not just a fancy calculator) provides a user interface, a constraint solver, and a library of math and database routines. EMACS is more reusable than vi because it comes with an extension language and can be completely reprogrammed. Lots of people use it as a user interface manager. Similarly, DBMS's, spreadsheets, and OS's differ in reusability. Nevertheless, they can all be considered reusable software. Almost nobody who gets published equates reuse with making the source code available. In fact, most people consider it a liability to have to distribute source code. I guess I do to, though I consider it a necessary liability, because the systems I've seen that offered the most reuse all came with source. It is bad to require people to look at source, but the ability to change the source adds an extra degree of reuse. While I am at it, some people think that reuse occurs ONLY when you do NOT change the source. I disagree with this opinion. It is best when you do not have to change the source because that makes it easiest to see what is reused and what is new. However, if you can reuse 1,000,000 lines of code and only have to change 100 lines then it seems to me to be a great success. It is impossible for the designers of reusable software to predict every use to which it might be put. Access to source lets the reusers take paths that the designers did not forsee. Ralph Johnson -- U. of Illinois at Urbana-Champaign, Dept. of C.S. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Re 1991-06-17 14:51 ` Ralph Johnson @ 1991-06-18 11:58 ` Eric Wayne Sink 1991-06-18 14:46 ` 27126-Joe Niederberger(G030)m000 ` (2 more replies) 0 siblings, 3 replies; 21+ messages in thread From: Eric Wayne Sink @ 1991-06-18 11:58 UTC (permalink / raw) In article <1991Jun17.145146.5307@m.cs.uiuc.edu> johnson@cs.uiuc.EDU (Ralph Johnson) writes: > [stuff deleted] >EMACS is more reusable than vi because it comes with an extension >language and can be completely reprogrammed. Lots of people use it >as a user interface manager. Similarly, DBMS's, spreadsheets, and OS's >differ in reusability. Nevertheless, they can all be considered >reusable software. [more stuff deleted] > >Ralph Johnson -- U. of Illinois at Urbana-Champaign, Dept. of C.S. What irks me about some of this is the rapidly graying distinction between 'reuse' and 'use'. From a research perspective, most people will agree with the idea that reusable software is hard to make. Some would even say that USABLE software is hard to make. But where are we going to draw the line between these two ideas ? If we make the idea of 'reuse' too wide, it ceases to be quite so interesting. For example, I'm using a terminal program called Telex to access a Sun to write this message. Come to think of it, I used Telex yesterday too. Actually, I've used Telex EVERY day for months ! However, I consider this to be software USE, certainly not reuse. On the other end, a linkable library of routines offers me reuse. A collection of well written routines with source offers me reuse. It's the middle ground that bugs me. Is there a fine line between use/reuse when talking about a spreadsheet ? Is Emacs REUSABLE just because it has a programming language built in, or is it just a whole lot more USABLE than vi ? I'll admit I don't know how to put this distinction into a well worded definition. Perhaps USE is associated with a USER ? Therefore, REUSE occurs when software is used by a non-USER ? (ugly definition) Perhaps, REUSE occurs when software is employed to develop more software (but what do you call a compiler then ?) I honestly don't know, but I haven't seen a definition I like yet. That's why I ask questions. :-) Eric W. Sink | "If no one is criticizing |Opinions Departamento de Telematica | your work, it is possible |mine - Universidad Politecnica de Madrid| that you are not doing |all of esink@turia.dit.upm.es | anything." -George Verwer |them. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Re 1991-06-18 11:58 ` Eric Wayne Sink @ 1991-06-18 14:46 ` 27126-Joe Niederberger(G030)m000 1991-06-18 18:13 ` James E. Cardow 1991-06-20 19:41 ` Ralph Johnson 2 siblings, 0 replies; 21+ messages in thread From: 27126-Joe Niederberger(G030)m000 @ 1991-06-18 14:46 UTC (permalink / raw) >What irks me about some of this is the rapidly graying distinction >between 'reuse' and 'use'. From a research perspective, most people >will agree with the idea that reusable software is hard to make. >Some would even say that USABLE software is hard to make. But where >are we going to draw the line between these two ideas ? <stuff deleted> >Is there a fine line between use/reuse when talking about >a spreadsheet ? Is Emacs REUSABLE just because it has a programming >language built in, or is it just a whole lot more USABLE than vi ? > >I'll admit I don't know how to put this distinction into a well worded >definition. Perhaps USE is associated with a USER ? Therefore, REUSE >occurs when software is used by a non-USER ? (ugly definition) >Perhaps, REUSE occurs when software is employed to develop more >software (but what do you call a compiler then ?) It seems to me that software reuse is a (albeit fuzzy) proposed method for creating software (a) faster (b) with less bugs (c) with lots of other nice qualities... Given that, does trying to pin down precise definition for "Software Reuse" really help? The "problem" (timeliness, bugs, etc.) remains -- finding *new* ways to reuse software helps chip away the boundaries of the "problem". It seems that old triumphs (OS, DBMS, Compilers, etc.) become less interesting to someone trying to chip away at the current boundares of the problem, rather than the boundaries that existed ten or twenty years ago. Likewise, novel concepts of reuse today will be boring ten years from now. Can an abstract definition of "Software Reuse" capture the ever shifting focus of attention? Its like trying to define art -- artists tend to care the least about any academic definitions. Just my 2 cents. Joe Niederberger ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Re 1991-06-18 11:58 ` Eric Wayne Sink 1991-06-18 14:46 ` 27126-Joe Niederberger(G030)m000 @ 1991-06-18 18:13 ` James E. Cardow 1991-06-20 19:41 ` Ralph Johnson 2 siblings, 0 replies; 21+ messages in thread From: James E. Cardow @ 1991-06-18 18:13 UTC (permalink / raw) esink@turia.dit.upm.es (Eric Wayne Sink) writes: >What irks me about some of this is the rapidly graying distinction >between 'reuse' and 'use'. From a research perspective, most people >will agree with the idea that reusable software is hard to make. >Some would even say that USABLE software is hard to make. But where >are we going to draw the line between these two ideas ? If we make the >idea of 'reuse' too wide, it ceases to be quite so interesting. For >example, I'm using a terminal program called Telex to access a Sun >to write this message. Come to think of it, I used Telex yesterday too. >Actually, I've used Telex EVERY day for months ! However, I consider >this to be software USE, certainly not reuse. On the other end, >a linkable library of routines offers me reuse. A collection of well >written routines with source offers me reuse. It's the middle ground >that bugs me. Is there a fine line between use/reuse when talking about >a spreadsheet ? Is Emacs REUSABLE just because it has a programming >language built in, or is it just a whole lot more USABLE than vi ? >I'll admit I don't know how to put this distinction into a well worded >definition. Perhaps USE is associated with a USER ? Therefore, REUSE >occurs when software is used by a non-USER ? (ugly definition) >Perhaps, REUSE occurs when software is employed to develop more >software (but what do you call a compiler then ?) >I honestly don't know, but I haven't seen a definition I like yet. >That's why I ask questions. :-) I agree that there is considerable confusion over the boundary lines. In fact, I've used that in classes to make the students think about their preconceived notions of what constitutes reuse. In looking for a good definition of reuse I came across the following by Spencer Peterson: Software Reuse (1) The process of using pre-existing software during the development of implementing new software systems and components. (2) the results of the process in (1). I usually fall back to something I believe comes from Tracz, that nothing is reusable until it has been used successfully three times. Trouble is, that doesn't account for packages (i.e. a wordprocessor). Peterson's definition takes care of that by limiting the use of reuse to construction activities. Anyone else have a good definition or distinction? Jim Cardow, Capt, USAF Air Force Institute of Technology Instructor in Software Engineering Professional Continuing Education Program E-mail: jcardow@blackbird.afit.af.mil ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Re 1991-06-18 11:58 ` Eric Wayne Sink 1991-06-18 14:46 ` 27126-Joe Niederberger(G030)m000 1991-06-18 18:13 ` James E. Cardow @ 1991-06-20 19:41 ` Ralph Johnson 1991-06-21 1:58 ` Jim Showalter 2 siblings, 1 reply; 21+ messages in thread From: Ralph Johnson @ 1991-06-20 19:41 UTC (permalink / raw) In article <1991Jun18.115820.18363@dit.upm.es>, esink@turia.dit.upm.es (Eric Wayne Sink) writes: |> |> What irks me about some of this is the rapidly graying distinction |> between 'reuse' and 'use'. Reuse is always associated with programming. Reuse is reducing the amount of programming needed by using an existing piece of software to provide some of the functionality of the system you are building. EMACS is reusable software because you can use it as the front-end of a tree editor, of a syntax-directed program editor, of a theorem prover, and of a news reader. Each of these projects was implemented much faster because it was able to reuse a lot of software built into EMACS. This is entirely different from using EMACS to increase productivity by editing programs faster, or by using its automatic invokation of makefiles. EMACS is a nice editor, but that is not what I am talking about. EMACS can be thought of as a large subroutine library. If EMACS were designed from the beginning as a large subroutine library then it is quite likely that it would have been designed differently. It is not as reusable as it might be. However, it seems to me that it is definitely reusable software in ANY sense of the word. Word processing software is usually not reusable software. There is no way for another application to invoke its functions. The various microcomputer operating systems seem to be going toward an "inter-application interface" that will let any program makes calls on any other program. This might lead to the day when word processing software is reusable, too. Ralph Johnson -- University of Illinois at Urbana-Champaign ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Re 1991-06-20 19:41 ` Ralph Johnson @ 1991-06-21 1:58 ` Jim Showalter 1991-06-21 16:11 ` Editing languages (Was: Re: Reserve Demobilization ...) Greg Titus 0 siblings, 1 reply; 21+ messages in thread From: Jim Showalter @ 1991-06-21 1:58 UTC (permalink / raw) >Reuse is always associated with programming. Reuse is reducing the >amount of programming needed by using an existing piece of software >to provide some of the functionality of the system you are building. I like this definition. >Word processing software is usually not reusable software. >There is no way for another application to invoke its functions. The Rational text editor can, believe it or not, be invoked programmatically because all of its operations are exported out of a package called Editor, so you can do stuff like: Editor.Cursor.Up (Lines => 4); Editor.Char.Insert_String ("This is done by magic."); etc. Comes in handy sometimes, and is great for automating demos. -- *** LIMITLESS SOFTWARE, Inc: Jim Showalter, jls@netcom.com, (408) 243-0630 **** *Proven solutions to software problems. Consulting and training on all aspects* *of software development. Management/process/methodology. Architecture/design/* *reuse. Quality/productivity. Risk reduction. EFFECTIVE OO usage. Ada/C++. * ^ permalink raw reply [flat|nested] 21+ messages in thread
* Editing languages (Was: Re: Reserve Demobilization ...) 1991-06-21 1:58 ` Jim Showalter @ 1991-06-21 16:11 ` Greg Titus 0 siblings, 0 replies; 21+ messages in thread From: Greg Titus @ 1991-06-21 16:11 UTC (permalink / raw) In article <1991Jun21.015801.25167@netcom.COM> jls@netcom.COM (Jim Showalter) writes: > > [deleted short reuse discussion] > >The Rational text editor can, believe it or not, be invoked programmatically >because all of its operations are exported out of a package called Editor, >so you can do stuff like: > > Editor.Cursor.Up (Lines => 4); > Editor.Char.Insert_String ("This is done by magic."); > etc. > >Comes in handy sometimes, and is great for automating demos. Somewhat off the subject, but this brought to mind the topic of editing languages ... An editing language is a wonderful thing to have in your toolbox. Not having to worry about the screen manipulation and buffering and so on saves boatloads of implementation time. I recall writing TECO code for quite a few small interactive data entry/editing tools in the past, and the Eel language from Epsilon is highly useful for this sort of thing as well. TECO was invented at MIT back in the 60's. I doubt you could find a running TECO any more, but it was widely available (from DECUS) on DEC PDP series machines as recently as 1980 at least. The original EMACS was written in TECO; in fact, the name stands for Editing MACroS, since EMACS was just a set of TECO macros for keeping the screen continuously updated. If you remember TECO, you're a Pretty Old Programmer (Not Real Old, but Pretty Old). Or maybe you just started young ... ;-) Epsilon's Eel is also used to implement EMACS, but for MS-DOS machines. Eel is mostly C, but with some things not essential to editing left out and some others that are essential added. You get most of the Eel source for Epsilon's EMACS when you buy it, so you can add to or modify the editor's functionality. The nice thing is that you can also implement standalone-ish programs with it. Jim and I largely agree about Ada's strengths for design and implementation, I think. Nevertheless, if you're a fan of computer languages, ya gotta love the oddities among them, like editing languages. And I didn't even mention fun things like SNOBOL, APL, ... Speaking of such, my own favorite language name is "PLITS", for "Programming Language In The Sky". I heard of this a long time ago, but I don't know much about it other than the name. I believe that it was a research language, and that there was only one compiler ever built for it. Can anybody out there enlighten us about PLITS? greg -- -------------------------------------------------------------- Greg Titus (gbt@zia.cray.com) Compiler Group (Ada) Cray Research, Inc. Santa Fe, NM Opinions expressed herein (such as they are) are purely my own. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Re 1991-06-15 1:07 ` Jim Showalter 1991-06-15 6:17 ` rharwood @ 1991-06-15 23:27 ` Orville R. Weyrich 1991-06-17 13:45 ` D. C. Sessions 1 sibling, 1 reply; 21+ messages in thread From: Orville R. Weyrich @ 1991-06-15 23:27 UTC (permalink / raw) In article <1991Jun15.010746.12768@netcom.COM> jls@netcom.COM (Jim Showalter) writes: > >When one makes use of a DMBS or a GUI or a set of math routines, is this >not PRECISELY what you just described? Okay, I will concede one point: people >do seem to think that reuse spans projects. Fine--doesn't a DBMS span projects? >Over multiple project lifetimes, mechanisms that keep coming up (that "haven't >we built this already?" feeling of deja vu) eventually get turned into highly >reusable componentry--such as a DBMS, a GUI, or a set of math routines did at >some point in the distant (or not so distant) past. The >only possible distinction I can see between this and the rather loose notion >people seem to have of reuse is that when one reuses a DBMS/GUI/math routine >one is reusing some software component that has become common currency. Perhaps >people think of reuse as being the repeated use of some kind of software that >has yet to become common currency? In that case, the only clear distinction >is one of TIME. And the goal of software reuse then becomes synonymous with the goal of recognizing a common pattern and formalizing it in the form of a new abstraction which can be accepted as common currency? I'll accept that as PART of what reuse is all about. See my previous post for a list of other aspects of reuse. -------------------------------------- ****************************** Orville R. Weyrich, Jr., Ph.D. Certified Systems Professional Internet: orville%weyrich@uunet.uu.net Weyrich Computer Consulting Voice: (602) 391-0821 POB 5782, Scottsdale, AZ 85261 Fax: (602) 391-0023 (Yes! I'm available) -------------------------------------- ****************************** ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Re 1991-06-15 23:27 ` Reserve Demobilization System Built Around Re Orville R. Weyrich @ 1991-06-17 13:45 ` D. C. Sessions 0 siblings, 0 replies; 21+ messages in thread From: D. C. Sessions @ 1991-06-17 13:45 UTC (permalink / raw) Another $0.02: It only *FEELS* like reuse if I thought I might have to do it myself. Some of us old-timers still appreciate that compilers represent a kind of reuse because we once expected to do that sort of thing by hand. (compilers? Hell, assemblers!) Do you think of a 6-32 screw as reuse? Only if you've spent some of your life far from hardware stores. Same with software. Some of us have managed to preserve a sense of wonder that the assembler works; others take math libraries, DBMSs, and such for granted. Not surprisingly, the latter group doesn't count these things as reuse. -- | The above opinions may not be original, but they are mine and mine alone. | | "While it may not be for you to complete the task, | | neither are you free to refrain from it." | +-=-=- (I wish this _was_ original!) D. C. Sessions -=-=-+ ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Re 1991-06-14 22:25 ` Reserve Demobilization System Built Around Re rharwood 1991-06-15 1:07 ` Jim Showalter @ 1991-06-15 23:03 ` Orville R. Weyrich 1 sibling, 0 replies; 21+ messages in thread From: Orville R. Weyrich @ 1991-06-15 23:03 UTC (permalink / raw) In article <1991Jun14.152529.1@east.pima.edu> rharwood@east.pima.edu writes: >In article <PCG.91Jun14183250@aberdb.aber.ac.uk>, pcg@aber.ac.uk (Piercarlo >Grandi) writes: > >> Usually, I suspect, reuse is meant to be applied to the narrow case >> where one does custom sw development, which is no longer the case in >> most commercial installation; nearly everybody nowadays is using DBMSes >> and enjoying the benefits of not reimplementing from scratch data >> management programs. > >OK... maybe we can LIGHTLY (read as: "without flame") discuss and subsequently >define what reuse really IS (or ought to be!). > >My Personal Opinion: Calling a DBMS or GUI or math routine is NOT reuse. >Libraries of complex mathematical subroutines have been available to FORTRAN >programmers since ENIAC, I suppose. Perhaps "reuse" is truly short-hand for >"source code reuse"? The term has mostly come to represent the ability to >incorporate software written for or funded by "some other" project with little >or no modification; perhaps some customization (specifically, the instantiation >of an Ada GENERIC unit for the target elements). A major rewrite would be >excluded frp On the contrary, I would say that Calling DBMS, GUI, IMSL libraries, etc are important examples of reuse. If these facilities were not available, then people would be constantly re-implementing them. Perhaps these mundane examples of reuse are taken for granted because they work so well. This is not to say that there isin't great untapped potential for greater reuse.There is still a long way to go. There are several challenges involved in increasing reuse: 1) How to determine what is a candidate for reuse, and how to package and describe it. 2) How to find things that are available for reuse and which are applicable to the problem at hand. 3) How to glue together reusable fragments to form a coherent whole. 4) How to create and use language features which facilitate reuse. (Examples include Ada generics, C++ multiple inheritance, ...). 5) Legal questions like how to assure return on investment for those who prepare software for reuse, and how to protect the initial client from paying the entire development cost of a new reusable component. The current examples of reuse have successfully met these challenges. The question remains, "what can we do for an encore?" -------------------------------------- ****************************** Orville R. Weyrich, Jr., Ph.D. Certified Systems Professional Internet: orville%weyrich@uunet.uu.net Weyrich Computer Consulting Voice: (602) 391-0821 POB 5782, Scottsdale, AZ 85261 Fax: (602) 391-0023 (Yes! I'm available) -------------------------------------- ****************************** ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Reused Ada Code 1991-06-14 17:32 ` Piercarlo Grandi 1991-06-14 22:25 ` Reserve Demobilization System Built Around Re rharwood @ 1991-06-15 0:22 ` Jim Showalter 1991-06-15 23:20 ` Orville R. Weyrich 1 sibling, 1 reply; 21+ messages in thread From: Jim Showalter @ 1991-06-15 0:22 UTC (permalink / raw) pcg@aber.ac.uk (Piercarlo Grandi) writes: >jls> My definition of reuse is quite simple: any time you didn't have to >jls> write a line of code, you reused it. This may not be the definition >jls> of reuse people envision when they use the term "reuse", but in the >jls> end all that truly matters is the COST--a line saved is a line >jls> earned. >But this does not capture what people "really" mean by reuse. Surely >then using a DBMS, OS, math library, is "reuse" then, by your >definition. Indeed! And what other term SHOULD we apply to using a DBMS instead of writing our own? See, that's what's so ironic about reuse--like AI, as soon as someone achieves a significant SUCCESS in the area of reuse, people change the rules ("No, THAT'S not really reuse...that's just using off-the-shelf software..."). The whole IDEA of reuse is to get to the point where you yank a bunch of preexisting software off a shelf and lash it together with a bit of glue, in exactly the same way that any other engineering discipline makes use of preexisting parts, subsystems, cards, chips, pistons, or what have you. We build software the way people built flintlock rifles before what's-his-name (damn!--not my day for Jeopardy questions--what was the name of the guy?) realized that building N identical triggers as a way to help build N identical rifles might be a good idea. We're treating software like a custom built item EVERY SINGLE TIME we build something. This is, not to put too fine a point on it, stupid. >For example the use of 4GLs, DBMSes, X windows, and math/GKS/stats/... >libraries to me it is all reuse. Reuse is much more prevalent than >people think, thanks to old fashioned concepts like servers (process >based reuse) and libraries (module based reuse). Well, it appear then that we're in violent AGREEMENT, since that's exactly how I define reuse too. >Usually, I suspect, reuse is meant to be applied to the narrow case >where one does custom sw development, which is no longer the case in >most commercial installation; nearly everybody nowadays is using DBMSes >and enjoying the benefits of not reimplementing from scratch data >management programs. Again, no argument from me. I'm getting this weird feeling that you wrote a 50 line post agreeing in total with my original post, and I just wrote a 50 line post agreeing with yours. Or did I miss something? -- *** LIMITLESS SOFTWARE, Inc: Jim Showalter, jls@netcom.com, (408) 243-0630 **** *Proven solutions to software problems. Consulting and training on all aspects* *of software development. Management/process/methodology. Architecture/design/* *reuse. Quality/productivity. Risk reduction. EFFECTIVE OO usage. Ada/C++. * ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Reused Ada Code 1991-06-15 0:22 ` Reserve Demobilization System Built Around Reused Ada Code Jim Showalter @ 1991-06-15 23:20 ` Orville R. Weyrich 1991-06-17 17:49 ` brian r hanson x6062 0 siblings, 1 reply; 21+ messages in thread From: Orville R. Weyrich @ 1991-06-15 23:20 UTC (permalink / raw) In article <1991Jun15.002253.10735@netcom.COM> jls@netcom.COM (Jim Showalter) writes: >pcg@aber.ac.uk (Piercarlo Grandi) writes: > >Indeed! And what other term SHOULD we apply to using a DBMS instead of >writing our own? See, that's what's so ironic about reuse--like AI, >as soon as someone achieves a significant SUCCESS in the area of reuse, >people change the rules ("No, THAT'S not really reuse...that's just >using off-the-shelf software..."). The whole IDEA of reuse is to get >to the point where you yank a bunch of preexisting software off a shelf >and lash it together with a bit of glue, in exactly the same way that >any other engineering discipline makes use of preexisting parts, subsystems, >cards, chips, pistons, or what have you. We build software the way people >built flintlock rifles before what's-his-name (damn!--not my day for >Jeopardy questions--what was the name of the guy?) realized that building I'll try Eli Whitney for $0.02. Funny thing is that his two contributions to science and technology were the guns that made the Civil War so bloody, and the cotton gin that made using slave labor so cost-ineffective that slavery would have passed away of its own accord if given just a little more time. :-(. >N identical triggers as a way to help build N identical rifles might be >a good idea. We're treating software like a custom built item EVERY SINGLE >TIME we build something. This is, not to put too fine a point on it, stupid. > -------------------------------------- ****************************** Orville R. Weyrich, Jr., Ph.D. Certified Systems Professional Internet: orville%weyrich@uunet.uu.net Weyrich Computer Consulting Voice: (602) 391-0821 POB 5782, Scottsdale, AZ 85261 Fax: (602) 391-0023 (Yes! I'm available) -------------------------------------- ****************************** ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Reused Ada Code 1991-06-15 23:20 ` Orville R. Weyrich @ 1991-06-17 17:49 ` brian r hanson x6062 0 siblings, 0 replies; 21+ messages in thread From: brian r hanson x6062 @ 1991-06-17 17:49 UTC (permalink / raw) |> I'll try Eli Whitney for $0.02. |> |> Funny thing is that his two contributions to science and technology were |> the guns that made the Civil War so bloody, and the cotton gin that made |> using slave labor so cost-ineffective that slavery would have passed away |> of its own accord if given just a little more time. :-(. According to a book I have just been reading, you are wrong. Eli Whitney was not the first to have the idea of building bunches of identical parts and manufacturing stuff by putting together these parts. It was used in europe some years earlier. It also seems that his parts were not very identical but he did manage to obtain quite a lot of money from the government for this. Eli also did not invent the cotton gin but made an improvement to an existing gin to get it to work with the american cotton plants which was in turn made workable by yet another person. Finally, the connection between the cotton gin and the deepening of slavery is also not quite so clear cut according to this book. Out side the deep south the number of slaves per farm was lower in the years after the gin was introduced. Brian Hanson ^ permalink raw reply [flat|nested] 21+ messages in thread
[parent not found: <1991Jun14.103725.2765@dit.upm.es>]
* Re: Definition of 'reuse' (was Re: a real long title) [not found] ` <1991Jun14.103725.2765@dit.upm.es> @ 1991-06-17 6:13 ` Norman Diamond 0 siblings, 0 replies; 21+ messages in thread From: Norman Diamond @ 1991-06-17 6:13 UTC (permalink / raw) In article <1991Jun14.103725.2765@dit.upm.es> esink@turia.dit.upm.es (Eric Wayne Sink) writes: >In comp.lang.ada, Jim Showalter contributes to a discussion on >software reuse : >>My definition of reuse is quite simple: any time you didn't have to write >>a line of code, you reused it. > >Anyone like to contribute their definition of 'software reuse' ? Letting the compiler do the copying instead of doing it in the text editor. >Jim once again exposes his bias by the mere fact that his posting >appeared in an ada newsgroup. I admit that I expose my own bias >by placing the discussion in comp.object. He probably just participated in a discussion that he saw going on, and joined the people who were already talking. Software reuse would be nice in any language; does that mean that we should cross-post to comp.lang.*? >Anyone feeling that a wider discussion involving our friends from >comp.software-eng is encouraged to invite their participation. OK, I took up your invitation to invite them. I didn't put them in the "Followup-To" line because they're probably bored to death with the topic, but of course they can edit the followups if they like. -- Norman Diamond diamond@tkov50.enet.dec.com If this were the company's opinion, I wouldn't be allowed to post it. Permission is granted to feel this signature, but not to look at it. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Reserve Demobilization System Built Around Reused Ada Code 1991-06-05 18:57 Reserve Demobilization System Built Around Reused Ada Code John Goodenough 1991-06-11 6:27 ` Jim Showalter @ 1991-06-18 17:21 ` Bob Munck 1 sibling, 0 replies; 21+ messages in thread From: Bob Munck @ 1991-06-18 17:21 UTC (permalink / raw) In article Re: Reserve Demobilization System Built Around Reused Ada Code of 30 May 91 18:30:53 GMT chuck@brain.UUCP and John Goodenough @f98.n250.z1.FidoNet.Org write: >> Let's call a spade a spade. Maybe "rapid tailoring" or "rapid reengineering" >> is a more suitable term for this type of approach. > > I remember a paper some years ago >concerned with generating process control software by a Japanese company in >which they reported high levels of software reuse because they were tailoring >their standard software to each customer's needs. Should we call it reuse >when the end user is different, and otherwise call it enhancement? Toshiba called it "big profits." Note that their "Software Factory" was set up with the help of American consultants (from John G's old company) who couldn't sell the ideas in the US because they required planning beyond the next quarter's P&L statement. Why is John showing a FidoNet address? Have the hackers finally taken over the SEI? Bob Munck ^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~1991-06-21 16:11 UTC | newest] Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 1991-06-05 18:57 Reserve Demobilization System Built Around Reused Ada Code John Goodenough 1991-06-11 6:27 ` Jim Showalter 1991-06-14 17:32 ` Piercarlo Grandi 1991-06-14 22:25 ` Reserve Demobilization System Built Around Re rharwood 1991-06-15 1:07 ` Jim Showalter 1991-06-15 6:17 ` rharwood 1991-06-17 14:51 ` Ralph Johnson 1991-06-18 11:58 ` Eric Wayne Sink 1991-06-18 14:46 ` 27126-Joe Niederberger(G030)m000 1991-06-18 18:13 ` James E. Cardow 1991-06-20 19:41 ` Ralph Johnson 1991-06-21 1:58 ` Jim Showalter 1991-06-21 16:11 ` Editing languages (Was: Re: Reserve Demobilization ...) Greg Titus 1991-06-15 23:27 ` Reserve Demobilization System Built Around Re Orville R. Weyrich 1991-06-17 13:45 ` D. C. Sessions 1991-06-15 23:03 ` Orville R. Weyrich 1991-06-15 0:22 ` Reserve Demobilization System Built Around Reused Ada Code Jim Showalter 1991-06-15 23:20 ` Orville R. Weyrich 1991-06-17 17:49 ` brian r hanson x6062 [not found] ` <1991Jun14.103725.2765@dit.upm.es> 1991-06-17 6:13 ` Definition of 'reuse' (was Re: a real long title) Norman Diamond 1991-06-18 17:21 ` Reserve Demobilization System Built Around Reused Ada Code Bob Munck
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox