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.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Xref: utzoo comp.lang.ada:5672 comp.software-eng:5984 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!mips!news.cs.indiana.edu!arizona.edu!east.pima.edu!rharwood From: rharwood@east.pima.edu Newsgroups: comp.lang.ada,comp.software-eng Subject: Re: Reserve Demobilization System Built Around Re Message-ID: <1991Jun14.231725.1@east.pima.edu> Date: 15 Jun 91 06:17:25 GMT References: <676362409.27@egsgate.FidoNet.Org> <1991Jun11.062703.15671@netcom.COM> <1991Jun15.010746.12768@netcom.COM> List-Id: 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