Making programs more readable

  • J. L. Weiner
  • R. M. Burstall
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 83)


In this paper we make suggestions aimed at enhancing the readability of programs. Our suggestions are about structure — the underlying structure of a program, and the structure of its text. We show how the types of relations expressed by the underlying structure of a program can be extended, and how these extended relations can be conveyed by its text, so as to enhance the readability, and ultimately the understandability of a program. We also show how the readability of the program can be improved by having its text linearly ordered so that each sentence motivates upcoming ones. This will complement the traditional notion of sequential program control flow.


Programming Language Underlying Structure Average Grade Program Text Boolean Condition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. Alagic, S. and M. A. Arbib, The design of well structured and correct programs, Springer Verlag, New York, 1978.Google Scholar
  2. Ball, J., Williams, G., and Low, J., "Preliminary ZENO language description", Technical Report TR41, Computer Science Dept., University of Rochester, December, 1978.Google Scholar
  3. Bobrow, D.S. and Winograd, T., "An overview of KRL, a Knowledge Representation Language, Cognitive Science 1(1), March, 1977.Google Scholar
  4. Burstall, R.M. and J. A. Goguen, "Putting theories together to make specifications", in IJCAI, MIT, 1977.Google Scholar
  5. Goguen, J.A. and J.J. Tardo, "An Introduction to OBJ: A Language for Writing and Testing Formal Algebraic Program Specifications", in Proceedings IEEE Conference on Specification for Reliable Software, pages 170–189, IEEE, 1979.Google Scholar
  6. Gordon, M., R. Milner, and C. Wadsworth, "Edinburgh LCF: A Mechanized Logic of Computation", Technical Report, Department of Computer Science, University of Edinburgh, 1979.Google Scholar
  7. Jensen, K. and N. Wirth, Pascal Users Manual and Report, Springer Verlag, Berlin, 1974.Google Scholar
  8. Knuth, D.E., "Structured programs with goto statements", Computer Surveys 6(4), December, 1974, ed. P. Denning.Google Scholar
  9. Labov, W., "The transformation of experience into narrative syntax", in Language in the Inner City, University of Pennsylvania Press, Philadelphia, 1972.Google Scholar
  10. Lampson, B.W., J.J. Horning, R.L. London, J.G. Mitchell, and G.J. Popek, "Report on the programming language EUCLID", SIGPLAN notices 12(2), February, 1971.Google Scholar
  11. Linde, C. and J.A. Goguen, "Structure of Planning Discourse", J. Social Biol. Struct. 1, 1978.Google Scholar
  12. Linde, C. and W. Labov, "Spacial Networks as a site for the study of language", Language 51, 1975.Google Scholar
  13. Linde, C., "The organization of discourse", in The English Language: English in its Social and Historical Context, Winthrop, Boston, 1979, edited by T. Shopen, A. Swicky, and P. Griffen.Google Scholar
  14. Papert, S.A., "Teaching children thinking", Programmed Learning and Educational Technology 19(5), September, 1972.Google Scholar
  15. Wegner, P. (editor), Research Directions in Software Technology, MIT Press, Cambridge, 1979.Google Scholar
  16. Weiner, J.L. and R.M. Burstall, "Some observations about program descriptions", 1979, in preparation.Google Scholar
  17. Weizenbaum, J., "ELIZA — A computer program for the study of natural language comprehension between man and machine", Communications of the ACM 9, 1965.Google Scholar
  18. Winograd, T., "Beyond Programming Languages", CACM 22(7), July, 1979.Google Scholar
  19. Wulf, W.A., "The next generation of programming languages, in Perspectives in Computer Science, ed. A.K. Janes, Academic Press, New York, 1977.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1980

Authors and Affiliations

  • J. L. Weiner
    • 1
  • R. M. Burstall
    • 2
  1. 1.Dept. of Mathematics and Computer ScienceUniversity of New HampshireDurhamUSA
  2. 2.Department of Computer ScienceUniversity of EdinburghEdinburghScotland

Personalised recommendations