Communications of the ACM · 1982 · 10 citations · 4 references
ComputingComputer ScienceDesignProgramming LanguagesSoftware EngineeringSystems ProgrammingData Structure DesignData TypesSoftware ArchitectureSoftware ConstructionSoftware DesignSoftware ReuseAbstract Data TypesAbstract TypesAbstraction MechanismsDesign CriteriaPackage ReusabilityReuse In Software EngineeringSoftware ReusabilitySubprogram Declarations
Subprogram packages are groups of related subroutines used to extend the available facilities in a programming system. The results of developing several such packages for various applications are presented, with a distinction made between external and internal design criteria— what properties packages should offer to their users and the guidelines designers should follow in order to provide them. An important issue, the design of reusable software, is thus addressed, and the concept of abstract data types proposed as a desirable solution.
4
Program development by stepwise refinement
Niklaus Wirth · Communications of the ACM · 1971 · 959 citations · Full text
Computing, Computer Science, Building Information Modeling +5
Brian W. Kernighan, P. J. Plauger · ACM SIGSOFT Software Engineering Notes · 1976 · 273 citations
RATFOR—a preprocessor for a rational fortran
Brian W. Kernighan · Software Practice and Experience · 1975 · 99 citations