Pascal versus C : A subjective comparison

  • Prabhaker Mateti
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 79)


The two programming languages Pascal and C are subjectively compared. While the two languages have comparable data and control structures, the program structure of C appears superior. However, C has many potentially dangerous features, and requires great caution from its programmers. Other psychological effects that the various structures in these languages have on the process of programming are also conjectured.

"At first sight, the idea of any rules or principles being superimposed on the creative mind seems more likely to hinder than to help, but this is really quite untrue in practice. Disciplined thinking focusses inspiration rather than blinkers it."

— G. L. Glegg, The Design of Design.


Programming Language Type Check Variant Record Composite Type Bell System Technical Journal 
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.

12. References

  1. [Addyman et al. 1979]
    A. M. Addyman, et al., 1979 "A Draft Description of Pascal," Software — Practice and Experience, Vol. 9, No. 5, 381–424.Google Scholar
  2. [Bersoff et al. 1979]
    Edward H. Bersoff, Vilas D. Henderson and Stan G. Siegel, 1979 "Software Configuration Management: A Tutorial," IEEE Computer Magazine, Vol. 12, No. 1, 6–13.Google Scholar
  3. [Brinch Hansen 1977]
    Per Brinch Hansen, The Architecture of Concurrent Programs, Prentice-Hall.Google Scholar
  4. [Brooks 1978]
    Ruven Brooks, "Using a Behavioral Theory of Program Comprehension in Software Engineering," Proceedings of the Third International Conference on Software Engineering, IEEE, 196–201.Google Scholar
  5. [Comer 1979]
    Douglas Comer, 1979 "MAP: A Pascal Macro Preprocessor for Large Program Development," Software-Practice and Experience, Vol. 9, 203–209.Google Scholar
  6. [Conradi 1976]
    R. Conradi, 1976 "Further Critical Comments on the Programming Language Pascal, Particularly as a System Programming Language," SIGPLAN Notices, Vol. 11, 8–25.Google Scholar
  7. [Flon 1975]
    Lawrence Flon, 1975 "On Research into Structured Programming," ACM SIGPLAN Notices, Vol. 10, No. 10, 16–17.Google Scholar
  8. [Geschke et al. 1977]
    Charles M. Geschke, James H. Morris Jr., and Edwin H. Satterthwaite, 1977 "Early Experience with Mesa," Communications of the ACM, Vol. 20, No. 8, 540–553.Google Scholar
  9. [Habermann 1973]
    A. N. Habermann, 1973 "Critical Comments on the Programming Language Pascal," Acta Informatica, Vol 3, 47–58.Google Scholar
  10. [Hoare 1972]
    C. A. R. Hoare, 1972 "A Note on the for Statement," BIT, Vol. 12, 334–341.Google Scholar
  11. [Hoare 1975]
    C. A. R. Hoare, 1975 "Data Reliability," ACM SIGPLAN Notices, Vol. 10, No. 6, 528–533.Google Scholar
  12. [Jensen and Wirth 1974]
    Kathleen Jensen and Niklaus Wirth, Pascal: User Manual and Report, 2nd ed., 4th printing, Springer-Verlag, pp 167.Google Scholar
  13. [Johnson and Ritchie 1978]
    S. C. Johnson and D. M. Ritchie, 1978 "Portability of C Programs and the UNIX System," The Bell System Technical Journal, Vol. 57, 2021–2048.Google Scholar
  14. [Kernighan and Plauger 1974]
    Brian Kernighan and P. J. Plauger, The Elements of Programming Style, McGraw-Hill.Google Scholar
  15. [Kernighan and Ritchie 1978]
    Brian Kernighan and Dennis M. Ritchie, The C Programming Language, Prentice Hall Software Series, pp viii + 228.Google Scholar
  16. [Kieburtz et al. 1978]
    R. B. Kieburtz, W. Barbash and C. R. Hill, "A Type-checking Program Linkage System for Pascal," Proceedings of the Third International Conference on Software Engineering, IEEE, 23–28.Google Scholar
  17. [Knuth 1971]
    Donald E. Knuth, 1971 "An Empirical Study of FORTRAN Programs," Software-Practice and Experience, Vol. 1, 105–133.Google Scholar
  18. [Knuth 1974]
    Donald E. Knuth, 1974 "Structured Programming with goto Statements," Computing Surveys, Vol. 6, No. 4, 261–301.Google Scholar
  19. [Kosaraju 1974]
    Rao Kosaraju, 1974 "Analysis of Structured Programs," J. Computer and System Sciences, Vol. 9, No. 3, 232–255.Google Scholar
  20. [Lampson et al. 1977]
    B. W. Lampson, J. J. Horning, R. L. London, J.G. Mitchell, and G. L. Popek, 1977 "Report on the Programming Language Euclid," ACM SIGPLAN Notices, Vol. 12, No. 2, pp ii + 79.Google Scholar
  21. [Lecarme and Desjardins 1975]
    O. Lecarme and P. Desjardins, 1975 "More Comments on the Programming Language Pascal," Acta Informatica, Vol. 4, 231–243.Google Scholar
  22. [Ledgard and Marcotty 1975]
    Henry F. Ledgard and Michael Marcotty, 1975 "A Genealogy of Control Structures," Communications of the ACM, Vol. 18, No. 11, 629–639.Google Scholar
  23. [Liskov et al. 1977]
    Barbara Liskov, Alan Snyder, Russell Atkinson, and Craig Schaffert, 1977 "Abstraction Mechanisms in CLU," Communications of ACM, Vol. 20, No. 8, 564–576.Google Scholar
  24. [Mateti 1979a]
    Prabhaker Mateti, "Enumerated Types and Efficient Access of Array Elements," in preparation.Google Scholar
  25. [Mateti 1979b]
    Prabhaker Mateti, "Specifications of a Macro Preprocessor for Pascal: A CS340 Project," University of Melbourne.Google Scholar
  26. [McIlroy et al. 1978]
    M. D. McIlroy, E. N. Pinson and B. A. Tague, 1978 "Foreword (to the special issue)", The Bell System Technical Journal, Vol. 57, No. 6, 1899–1904.Google Scholar
  27. [Morris 1973]
    J. H. Morris, 1973 "Types are not Sets," Conference Record ACM Symposium on Principles of Programming Languages, Boston, Mass., 120–124.Google Scholar
  28. [Nutt 1978]
    Gary J. Nutt, 1978 "A Comparison of Pascal and FORTRAN as Introductory Programming Languages," ACM SIGPLAN Notices, Vol. 13, No. 2, 57–62.Google Scholar
  29. [Pascal News 197x]
    Pascal News, News letters of the Pascal Users Group, Andy Mickel (ed.), University of Minnesota.Google Scholar
  30. [Plauger 1979]
    P. J. Plauger, A Review of Kernighan and Ritchie 1978, Computing Reviews, Vol. ?, 2–4.Google Scholar
  31. [Sammet 1978]
    Jean E. Sammet, 1978 "Roster of Programming Languages for 1976–1977," ACM SIGPLAN Notices, Vol. 13, No. 11, 56–85.Google Scholar
  32. [Shaw et al. 1978]
    Mary Shaw, Guy T. Almes, Joseph M. Newcomer, Brian K. Reid and Wm. A. Wulf, "A Comparison of Programming Languages for Software Engineering," Report CMU-CS-78-119, Carnegie-Mellon University.Google Scholar
  33. [Tanenbaum 1978]
    A. S. Tanenbaum, 1978 "A Comparison of Pascal and Algol 68," The Computer Journal, Vol. 21, 316–323.Google Scholar
  34. [Weinberg 1971]
    Gerald Weinberg, The Psychology of Computer Programming, Van Nostrand Reinhold.Google Scholar
  35. [Welsh and Bustard 1979]
    J. Welsh and D. W. Bustard, 1979 "Pascal-Plus — Another Language for Modular Multiprogramming," Australian Computer Science Communications, Vol. 1, No. 1, 49–62.Google Scholar
  36. [Welsh et al. 1977]
    J. Welsh, W. J. Sneeringer and C. A. R. Hoare, 1977 "Ambiguities and Insecurities in Pascal," Software — Practice and Experience, Vol. 7, 685–696.Google Scholar
  37. [Wichmann 1978]
    B. A. Wichmann, 1978 "Some Performance Aspects of System Implementation Languages," Constructing Quality Software, P. G. Hibbard/S. A. Schuman (eds.), IFIP, North-Holland, 46–62.Google Scholar
  38. [Wirth 1971]
    Niklaus Wirth, 1971 "The Design of a Pascal Compiler," Software — Practice and Experience, Vol. 1, 309–333.Google Scholar
  39. [Wirth 1974]
    Niklaus Wirth, "On the Design of Programming Languages," (in) Information Processing 1974, J. L. Rosenfeld (ed.), North-Holland, 386–393.Google Scholar
  40. [Wirth 1975]
    Niklaus Wirth, 1975 "An Assessment of the Programming Language Pascal," Proceedings of 1975 International Conference on Reliable Software, ACM SIGPLAN Notices, Vol. 10, No. 6, 23–30.Google Scholar
  41. [Wirth 1977a]
    Niklaus Wirth, 1977a "Modula: A Language for Modular Multiprogramming," Software — Practice and Experience, Vol. 7, 3–35.Google Scholar
  42. [Wirth 1977b]
    Niklaus Wirth, "Programming Languages: What to Demand and How to Assess Them," (in the book) Software Engineering, edited by R. H. Perrott, Academic Press, 155–173.Google Scholar
  43. [Wulf et al. 1971]
    W. A. Wulf, D. E. Russell, and A. N. Habermann, "BLISS: A Language for Systems Programming," Communications of the ACM, Vol. 14, No. 12.Google Scholar
  44. [Wulf et al. 1976]
    W. A. Wulf, R. L. London, and M. Shaw, 1976 "An Introduction to the Construction and Verification of Alphard Programs," IEEE Transactions on Software Engineering, Vol. 2, 253–265.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1980

Authors and Affiliations

  • Prabhaker Mateti
    • 1
  1. 1.Department of Computer ScienceUniversity of MelbourneAustralia

Personalised recommendations