MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Seven Deadly Sins of Introductory Programming Language Design (1996) [11 citations — 1 self]

by Linda McIver ,  Damian Conway
Add To MetaCart

Abstract:

We discuss seven undesirable features common to many programming languages used to teach first-time programmers, and illustrate typical pedagogical difficulties which stem from them with examples drawn from the programming languages ABC, Ada, C, C++, Eiffel, Haskell, LISP, Modula 3, Pascal, Prolog, Scheme, and Turing. We propose seven language design (or selection) principles which may reduce the incidence of such undesirable features. Introduction Learning to program is difficult. We believe that a substantial part of this difficulty arises from the structure, syntax and semantics of the programming languages which are commonly used to teach programming. Programming language designers are (of necessity) highly intelligent experts in the field of programming, and are consequently far removed both temporally and cognitively from the difficulties experienced by the novice programmer. This gulf of experience and ability results in languages which are either too restrictive or too powerf...

Citations

1295 The C++ Programming Language – Stroustrup - 1991
1052 The C Programming Language – Kerighan, Ritchie - 1978
190 The Design and Evolution of C – Stroustrup - 1994
92 A gentle introduction to Haskell – Hudak, Fasel - 1992
68 User Manual and Report – Jensen, Wirth, et al. - 1975
31 Accretion, Tuning, and Restructuring: Three Modes of Learning – RUMELHART, A - 1978
30 The Fundamentals of Learning – Thorndike - 1932
19 Requirements for a First Year Object-Oriented Teaching Language – Kolling, Koch, et al. - 1995
7 The Turing Programming Language: Design and Definition – Holt, Matthews, et al. - 1988
6 The Psychology of Meaningful – Ausubel - 1963
5 Introduction to Computer Science using the Turing Programming Language – Holt, Hume - 1984
4 Criteria and Consideration in the Selection of a First Programming Language – Conway - 1993
3 Modula-3 – Harbison - 1992
2 Comparing and Assessing Programming Languages – Feuer, Gehani - 1984
2 an Eternal Golden Braid, Part II, Chapter 10: "Similar Levels", Basic Books – Hofstadter, Gödel, et al. - 1979