Home > Programming > C Programming Language
Seven Deadly Sins of Introductory Programming Language Design
Sort Desciption:ness in programming language design (and one which is. obvious to programmers at all skill levels) must surely be. the C/C++ declaration syntax 10]. ...
Content Inside:Seven Deadly Sins of Introductory Programming Language DesignPage 1Seven Deadly Sins of Introductory Programming Language DesignLinda McIver & Damian ConwayDepartment of Computer ScienceMonash University Victoria AustraliaAbstractWe discuss seven undesirable features common to manyprogramming languages used to teach firsttime programmers and illustrate typical pedagogical difficulties whichstem from them with examples drawn from the programming languages ABC Ada C C++ Eiffel Haskell LISPModula 3 Pascal Prolog Scheme and Turing. We proposeseven language design (or selection) principles which mayreduce the incidence of such undesirable features.IntroductionLearning 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 arecommonly used to teach programming.Programming language designers are (of necessity)highly intelligent experts in the field of programming andare 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 powerful (orsometimes paradoxically both).We divide introductory programming languages intotwo broad categories: special purpose teaching languages(such as Pascal 1] Turing 2] ABC 3]) and popular "realworld" languages (such as C 4] C++ 5] Ada 6] Modula3 7] Haskell 8] and Scheme 9]).There is a long history of scholarly and lessthanscholarly debate 10111213] regarding the comparative meritsand flaws of many of these languages. Typically this debatecentres on theoretical issues (such as expressiveness rangeof concepts supported or paradigmatic integrity) andpractical considerations (such as range of available platforms support tools and environments or efficiency). Thispaper departs from that tradition in that it focuses exclusively on the issues which arise in the contex ...
Source: www.csse.monash.edu.au
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Related Files
Programming in C C++ Java
Filed under: Programming and C Programming LanguageProgramming in C C++ Java. Course Overview. Object oriented programming languages are widely used for the development of complex software systems. ...
C Programming
Filed under: Programming and C Programming LanguageThe C Programming Language ANSI C. By Brian W. C. Kernighan & Dennis M. Ritchie. K and R. "Practical C programming". By Steve ...
An Overview of the C++ Programming Language
Filed under: Programming and C Programming LanguageThe C++ programming language provides a model of memory and computation that ... 3 The C Programming Model presents the C subset of C++ and other C++ ...
C Programming Fundamentals
Filed under: Programming and C Programming Language1 C Programming Fundamentals C is a compiled language. The user creates source code (often ... exe extension). Below is typical C program called LED.C that illustrates some fundamental C ...
Essential C
Filed under: Programming and C Programming LanguageC Programming Language (below) as part of their research at AT&T. Unix and C++ ... The C Programming Language 2nd ed. by Kernighan and Ritchie. ...
