ACM Home Page
Please provide us with feedback. Feedback
The future of programming
Full text PdfPdf (1.29 MB)
Source
Communications of the ACM archive
Volume 25 ,  Issue 3  (March 1982) table of contents
Pages: 196 - 206  
Year of Publication: 1982
ISSN:0001-0782
Authors
Anthony I. Wasserman  Univ. of California, San Francisco
Steven Gutz  Digital Equipment Corp., Maynard, MA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 66,   Citation Count: 16
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/358453.358459
What is a DOI?

ABSTRACT

The nature of programming is changing. These changes will accelerate as improved software development practices and more sophisticated development tools and environments are produced. This paper surveys the most likely changes in the programming task and in the nature of software over the short term, the medium term, and the long term. In the short term, the focus is on gains in programmer productivity through improved tools and integrated development environments. In the medium term, programmers will be able to take advantage of libraries of software components and to make use of packages that generate programs automatically for certain kinds of common systems. Over the longer term, the nature of programming will change even more significantly as programmers become able to describe desired functions in a nonprocedural way, perhaps through a set of rules or formal specification languages. As these changes occur, the job of the application programmer will become increasingly analysis-oriented and software developers will be able to attack a large number of application areas which could not previously be addressed effectively.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Advanced Research Projects Agency. Requirements for Ada programming support environments--'STONEMAN'. U.S. Department of Defense, Arlington, VA, 1980.
 
2
Balzer, R. Transformational implementation: An example. 1EEE Transactions on Software Engineering, SE-7, 1 (Jan. 1981), 3-14.
 
3
 
4
Belady, L.A. Evolved software for the '80's. Computer, 12, 2 (Feb. 1979), 79-83.
 
5
Bersoff, E.H., Henderson, V.D., and Siegel, S.G. Software configuration management: A tutorial. Computer, 12, 1 (Jan. 1979), 6-14.
 
6
Boehm, B.W. Software and its impact: A quantitative assessment. Datamation, 19, 5 (May 1973), 48-59.
 
7
Boyd, D.L. and Pizzarello, A. Introduction to the WELLMADE design methodology. IEEE Transactions on Software Engineering, SE-4, 4 (July, 1978), 276-282.
8
 
9
Chamberlin, D.D., et al. SEQUEL2: A unified approach to data definition, manipulation, and control. IBM J. Res. Develop. 20, 6 (Nov. 1976), 560-575.
 
10
Codd, E.F. How about recently? (English dialog with relational data bases using Rendezvous Version 1). In Databases: Improving Usability and Responsiveness. B. Shneiderman (Ed.) Academic Press, New York, 1978, pp. 3-28.
 
11
Corbato F.J., and Clingen, C.T. A managerial view of the Multics system development. In Research Directions in Software Technology. P. Wegner (Ed.) The MIT Press, Cambridge, 1979, pp. 139-158.
 
12
Davis C.G., and Vick, C.R. The software development system IEEE Transactions on Software Engineering, SE-3, 1 (Jan. 1977) 69- 84.
 
13
DeRemer F., and Kron, H. Programming-in-the-large versus programming-in-the-small. 1EEE Transactions on Software Engineering, SE-2, 2 (June, 1976), 80--86.
 
14
Gannon, J.D. and Homing, J.J. Language design for programming reliability. IEEE Transactions on Software Engineering, SE-1, 2 (June 1975), 179-191.
 
15
Goguen, J. and Tardo, J.J. An introduction of OBJ: A language for writing and testing formal algebraic program specifications. Proc. Specifications of Reliable Software. IEEE Computer Society, 1979, 170-189.
 
16
Gutz, S., Wasserman, A.I., and Spier, M.J. Personal development systems for the professional programmer. Computer, 14, 4 (April, 1981), 45-52.
 
17
Hunke, H. (Ed.). Software Engineering Environments. North Holland, Amsterdam, 1981.
 
18
Ichbiah, J.D. (Ed.) Reference Manual for the Ada Programming Language, U.S. Department of Defense, Advanced Research Projects Agency, 1980.
 
19
 
20
Johnson, S.C., and Lesk, M.E. Language development tools. The Bell System Tech. J., 57, 6 (July-August 1978), Part 2, 2155-2175.
 
21
Kernighan, B.W., and Mashey, J.R. The Unix programming environment. Computer, 14, 4 (April 1981), 12-24.
 
22
23
 
24
 
25
Liskov, B. et al. CLU Reference Manual. Springer Verlag, Berlin, 1981. (Lecture Notes in Computer Science, Vol. 114).
 
26
Lundeberg, M., Goldkuhl, G., and Nilsson, A. Information Systems Development. A Systematic Approach. Prentice-Hall, Englewood Cliffs, N J, 1981.
 
27
Miller, E.F., Jr. (Ed.) Tutorial: Automated Tools for Software Engineering. IEEE Computer Society, Los Alamitos, 1979.
 
28
Neumann, P.G. Experience with a formal methodology for software development. Proc. Int. Seminar on Software Engineering Applications, Capri, 1980.
 
29
O'Neill, D. The management of software engineering--Part II: Software engineering program. IBM Syst. J. 19, 4 (1980), 421-431.
 
30
Riddle, W.E., and Fairley, R.E. (Eds.). Software Development Tools. Springer Verlag, Heidelberg, 1980.
 
31
Robinson, L. The HDM Handbook, Volume 1: The Foundations of HDM. Project Report 4828, Computer Science Group, SRI International. 1979.
 
32
Schank, R.C., and Rieger, C.J. Inference and the computer understanding of natural language. Artif. lntell. 5 (1974), 373-412.
 
33
Shortliffe, E.H. Computer-Based Medical Consultations: MYCIN. American Elsevier, New York, 1976.
 
34
 
35
Teichroew, D., and Hershey, E.A., III, PSL/PSA: A computeraided technique for structured documentation and analysis of information processing systems. IEEE Transactions on Software Engineering, SE-3, l (Jan. 1977), 41-48.
 
36
Teitelman, W., and Masinter, L. The INTERLISP programming environment. Computer, 14, 4 (April, 1981), 25-33.
 
37
 
38
Wasserman, A.I. Information system design methodology, J. Am. Soc. lnfo. Sci., 31, l (Jan. 1980), 5-24.
 
39
Wasserman, A.I. (Ed.). Tutorial: Software Development Environments. IEEE Computer Society, Los Alamitos, 1981.
 
40
Wasserman, A.I. USE: A methodology for the design and development of interactive information systems. In Formal Models and Practical Tools for Information System Design. H.-J. Schneider, (Ed.). North Holland, Amsterdam, 1979, pp. 31-50.
 
41
 
42
Wasserman, A.I. et al., Revised report on the programming language PLAIN. ACM SIGPLAN Notices, 16, 5 (May, 1981), 50-80.
 
43
Wasserman, A.I., and Belady, L.A. Software engineering: The turning point. Computer, 11, 9 (Sept. 1978), 30-41.
 
44
Wasserman, A.I., and Shewmake, D.T. Automating the development and evolution of user dialogue in an interactive information system. In Evolutionary Information Systems. J. Hawgood and L. Methlie, (Eds.). North Holland, Amsterdam, 1981 (in press).
 
45
 
46
Wirth, N. The programming language Pascal. Acta Informatica, 1, 1(1971), 35-63.
 
47
Wulf, W.A. Trends in the design and implementation of programming languages. Computer, 13, 1 (Jan. 1980), 14-22.
 
48
Yourdon, E. Software Development Methodology. Yourdon, Inc., New York, 1982.
 
49
Yourdon, E., and Constantine, L.L. Structured Design. Prentice- Hall, Englewood Cliffs, N.J., 1979.
 
50
Zloof, M.M. Query by example. Proc. AFIPS 1975 NCC, 44, New York, pp. 431-438.

CITED BY  16

Collaborative Colleagues:
Anthony I. Wasserman: colleagues
Steven Gutz: colleagues