Software Components and Component-based Development

SOFTWARE has since its inception been packaged in self-contained pieces, for the obvious reason that only such pieces can be exchanged and used by others. Indeed, the original IBM user group whose purpose was to exchange code is called SHARE (Society to Help Avoid Redundant Effort according to one source); it was at first concerned with assembly-language subroutines for the 701/704 mainframes. A collection of subroutines is called a ‘library,’ and includes not only code but documentation.With the advent of FORTRAN, subroutine sources became far easier to read and understand—this goes by the misnomer of ‘self-documenting code.’