Skip to main content

The History of Computer Language Selection

  • Chapter

Part of the IFIP Advances in Information and Communication Technology book series (ISURVEYS,volume 387)

Abstract

This examines the history of computer language choice for both industry use and university programming courses. The study considers events in two developed countries and reveals themes that may be common in the language selection history of other developed nations. History shows a set of recurring problems for those involved in choosing languages. This study shows that those involved in the selection process can be informed by history when making those decisions.

Keywords

  • selection of programming languages
  • pragmatic approach to selection
  • pedagogical approach to selection

References

  • Ad Hoc AP CS Committee. Round 2: Potential Principles governing language selection for CS1-CS2 (2000), http://www.cs.grinnell.edu/~walker/sigcse-ap/99-00-principles.html

  • Allison, I., Ortin, P., Powell, H.: A virtual learning environment forintroductory programming. In: Proceedings of the 3rd Annual Conference of the Learningand Teaching Support Network Centre for Information and Computer Sciences, Loughborough, UK (2002)

    Google Scholar 

  • Bergin, T.J., Gibson, R.G.: History of Programming Languages-II. ACM Press, USA (1986)

    Google Scholar 

  • Boom, H.J., de Jong, E.: A critical comparison of several programming language implementations. Software: Practice and Experience 10, 435–473 (1980)

    MATH  CrossRef  Google Scholar 

  • de Raadt, M., Watson, R., Toleman, M.: Introductory programminglanguages at Australian universities at the beginning of the twenty first century. Journal of Research and Practice in Information Technology 35(3), 163–167 (2003a)

    Google Scholar 

  • de Raadt, M., Watson, R., Toleman, M.: Language tug-Of-war: Industry demand andacademic choice. In: Australasian Computing Education Conference (ACE 2003). Australian Computer Society, Inc., Adelaide (2003b)

    Google Scholar 

  • Dijkstra, E.W.: The humble programmer. Communications of the ACM 15(10), 859–866 (1972)

    CrossRef  Google Scholar 

  • Emigh, K.L.: The impact of new programming languages on university curriculum. In: Proceedings of ISECON 2001, Cincinnati, Ohio, vol. 18, pp. 1146–1151 (2001), http://isedj.org/isecon/2001/16c/ISECON.2001.Emigh.pdf (retrieved July 10, 2005)

  • Friedman, F.L., Koffman, E.B.: Some pedagogic considerations in teaching elementary programming using structured FORTRAN. In: Proceedings of the ACM SIGCSE-SIGCUE Technical Symposium on Computer Science and Education, pp. 1–10 (1976)

    Google Scholar 

  • Furugori, T., Jalics, P.: First course in computer science, a small survey. ACM SIGCSE Bulletin 9(1), 119–122 (1977)

    CrossRef  Google Scholar 

  • Gee, Q.H., Wills, G., Cooke, E.: A first programming language for ITstudents. In: Proceedings of the 6th Annual Conference of the Learning and Teaching Support Network Centre for Information and Computer Sciences, York, UK (2005)

    Google Scholar 

  • Gottliebsen, C.: Computer market results 1999. C. Gottliebsen. Bayswater, GIMA (1999)

    Google Scholar 

  • Gottliebsen, C.: Icon index trend report 2001. Icon index Trend Report. B.Youston. Bayswater (2001)

    Google Scholar 

  • Howatt, J.W.: A project-based approach to programming language evaluation. ACM SIGPLAN Notices 30(7), 37–40 (1995), http://academic.luther.edu/~howaja01/v/lang.pdf

    CrossRef  Google Scholar 

  • Howland, J.E.: It’s all in the language: yet another look at the choice ofprogramming language for teaching computer science. Journal of Computing in Small Colleges 12(4), 58–74 (1997), http://www.cs.trinity.edu/~jhowland/ccsc97/ccsc97/

    Google Scholar 

  • Jenkins, T.: The motivation of students of programming. In: ACM SIGCSEBulletin, Proceedings of the 6th Annual Conference on Irmovation and Technology In Computer Science Education, ITiCSE 2001, vol. 33(3) (2001)

    Google Scholar 

  • Jenkins, T.: On the difficulty of learning to program. In: Proceedings of the 3rd Annual Conference of the Learning and Teaching Support Network Centre for Information and Computing Science, Loughborough, UK (2002)

    Google Scholar 

  • Johnson, L.F.: C in the first course considered harmful. Communications of the ACM 38(5), 99–101 (1995)

    CrossRef  Google Scholar 

  • Keet, E.E.: A personal recollection of software’s early days (1960-1979): Part1. In: IEEE Annals of the History of Computing (October-December) (2004)

    Google Scholar 

  • Kelleher, C., Pausch, R.: Lowering the barriers to programming: Ataxonomy of programming environments and languages for novice programmers. ACM Computing Surveys 37(2), 83–137 (2005)

    CrossRef  Google Scholar 

  • King, K.N.: The evolution of the programming languages course. In: Proceedingsof the Twenty-Third SIGCSE Technical Symposium on Computer Science Education, Kansas City, Missouri, pp. 213–219 (1992)

    Google Scholar 

  • Kölling, M., Koch, B.: Requirements for a first year object-orientedteaching language. In: ACM SIGCSE Bulletin, Proceedings of the Twenty-Sixth SIGCSE Technical Symposium on Computer Science Education, vol. 27(1). Language History - A Tale of Two Countries 151 (1995)

    Google Scholar 

  • Langley, N.: COBOL integrates with Java and .NET. Computer Weekly (2004), http://www.computerweekly.com/articles/article.asp?liArticleID=133085

  • Lee, P.A., Stroud, R.J.: C++ as an introductory programming language. In: Woodman, M. (ed.) Programming Language Choice: Practice and Experience. International Thomson Computer Press, London (1996), http://www.cs.ncl.ac.uk/oId/publications/books/apprentice/lnstructorsManual/C-H-_Choice.html

    Google Scholar 

  • Levy, S.P.: Computer Language Usage In CS 1: Survey Results. SIGCSE 27(3), 21–26 (1995)

    CrossRef  Google Scholar 

  • Luker, P.: Academic staff development in universities with special reference to small group teaching. (Unpublished PhD Thesis), University of Nottingham (1989)

    Google Scholar 

  • McCauley, R., Manaris, B.: Computer science programs: what do they looklike? In: Proceedings of the 29th SIGCSE Technical Symposium on Computer Science Education, pp. 15–19 (February 1998)

    Google Scholar 

  • Mclver, L., Conway, D.M.: Seven deadly sins of introductory programminglanguage design. In: Proceedings of Software Engineering: Education and Practice (SE:E&P 1996), Dunedin, NZ, pp. 309–316 (1996)

    Google Scholar 

  • Merritt, S.M.: On the importance of teaching Pascal in the IS curriculum. In: ACM SIGCSE Bulletin, Proceedings of the Eleventh IGCSE Technical Symposium on Computer Science Education SIGCSE 1980, vol. 12(1) (1980)

    Google Scholar 

  • Perlis, A.J.: The American Side of the Development of Algol. In: Wexelblat, R.L. (ed.) History of Programming Languages I, pp. 25–74. ACM (1981)

    Google Scholar 

  • Parker, K.R., Ottaway, T.A., Chao, J.T.: Criteria for the selection of a programminglanguage for introductory courses. International Journal of Knowledge and Learning 2(1/2), 119–139 (2006a)

    CrossRef  Google Scholar 

  • Parker, K.R., Chao, J.T., Ottaway, T.A., Chang, J.: A formal language selection process for introductory programming courses. Journal of Information Technology Education 5, 133–151 (2006b)

    Google Scholar 

  • Riehle, R.: SEPR and programming language selection. CrossTalk – TheJournal of Defense Software Engineering 16(2), 13–17 (2003), http://vkfww.stsc.hill.afmil/crosstalk/2003/02/Riehle.html

    Google Scholar 

  • Roberts, E.: Resources to support the use of java in introductory computer science. In: Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education,Norfolk, Virginia, pp. 233–234 (2004)

    Google Scholar 

  • Sammet, J.E.: Programming languages: History and future. Communicationsofthe ACM 15(7), 601 (1972)

    MATH  CrossRef  Google Scholar 

  • Sammet, J.E.: The Early History of COBOL. In: Wexelblat, R.L. (ed.) History of Programming Languages I. ACM (1981)

    Google Scholar 

  • Schneider, G.M.: The introductory programming course in computer science: Ten principles. ACM SIGCSE Bulletin 10(1), 107–114 (1978)

    CrossRef  Google Scholar 

  • Sime, M.E., Green, T.R.G., Guest, D.J.: Psychological evaluation of two conditional constructions used in computer languages. International Journal of Man-Machine Studies 5(1), 105–113 (1973)

    CrossRef  Google Scholar 

  • Smillie, K.: People, languages, and computers: A short memoir. IEEE Annals ofthe History of Computing (April-June), 60–73 (2004)

    Google Scholar 

  • Smith, C., Rickman, J.: Selecting languages for pedagogical tools in the computer sciencecurriculum. In: Proceedings of the 6th SIGCSE Technical Symposium on Computer Science Education, pp. 39–47 (1976)

    Google Scholar 

  • Smolarski, D.C.: A first course in computer science: Languages and goals. Teaching Mathematics and Computer Science 1(1), 137–152 (2003), http://math.scu.edu/~dsmolars/smolar-e.pdf (retrieved November 10, 2005)

    Google Scholar 

  • Soloway, E., Bonar, J., Ehrlich, K.: Cognitive strategies and looping constructs: an empirical study. In: Soloway, E., Spohrer, J.C. (eds.) Studying the Novice Programmer, pp. 853–860. Lawrence Erlbaum Associates, Hillsdale (1989)

    Google Scholar 

  • Solntseff, N.: Programming languages for introductory computing courses: aposition paper. ACM SIGCSE Bulletin 10(1), 119–124 (1978)

    CrossRef  Google Scholar 

  • Stephenson, C.: A report on high school computer science education in five USstates (2000), http://www.holtsoft.com/chris/HSSurveyArt.pdf

  • Tatnall, A., Davey, B.: Stream in the history of computer education in Australia. In: History of Computing in Education. J. Impagliazzo and J. A. N. Lee, Kluwer Academic Publishers (2004)

    Google Scholar 

  • Tharp, A.L.: Selecting the ‘right’ programming language. ACM SIGCSE Bulletin 14(1), 151–155 (1982)

    CrossRef  Google Scholar 

  • Watt, D.A.: Programming languages-Trends in education. In: Proceedings of Simposio Brasileiro de Linguagens de Programacao, Recife, Brazil (2000), http://www.dcs.gla.ac.uk/~daw/publications/PLTE.ps

  • Wile, D.S.: Programming languages. In: Marciniak, J.J. (ed.) Encyclopedia of Software Engineering, 2nd edn., pp. 1010–1023. John Wiley and Sons, Hoboken (2002)

    Google Scholar 

  • Wirth, N.: Recollections about the development of Pascal. In: ACM SIGPLAN Notices, The Second ACM SIGPLAN Conference on History of Programming Languages HOPL-II 28(3) (1993)

    Google Scholar 

  • Yohe, J.M.: An overview of programming practices. ACM Computing Surveys 6(4), 221–245 (1974)

    MATH  CrossRef  Google Scholar 

  • Zeigler, S.F.: Comparing development costs of C and Ada. Rational SoftwareCorporation, Santa Clara, Calif, March 30 (1995)

    Google Scholar 

  • Zelle, J.M.: Python as a first language. In: Proceedings 13th Annual Midwest Computer Conference (MCC 1999), Lisle, IL, March 18-19 (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2012 International Federation for Information Processing

About this chapter

Cite this chapter

Parker, K.R., Davey, B. (2012). The History of Computer Language Selection. In: Tatnall, A. (eds) Reflections on the History of Computing. IFIP Advances in Information and Communication Technology, vol 387. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33899-1_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-33899-1_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-33898-4

  • Online ISBN: 978-3-642-33899-1

  • eBook Packages: Computer ScienceComputer Science (R0)