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


add to Google Reader add to Google Bookmark add to bloglines add to newsgator add to FURL add to digg add to webnews add to Netscape add to Yahoo MyWeb add to spurl.net add to diigo Bookmark newsvine Bookmark del.icio.us Bookmark @ SIMPIFY Bookmark MISTER WONG Bookmark Linkarena Bookmark icio.de Bookmark oneview Bookmark folkd.com Bookmark yigg.de Bookmark reddit Bookmark StumbleUpon Bookmark Slashdot Bookmark blinklist Bookmark technorati add to blogmarks add to blinkbits add to ma.gnolia add to smarking.com add to netvouz add to co.mments add to Connotea add to de.lirio.us

 

Related Files

Programming in C C++ Java

Filed under: Programming and C Programming Language
Programming 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 Language
The 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 Language
The 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 Language
1 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 Language
C Programming Language (below) as part of their research at AT&T. Unix and C++ ... The C Programming Language 2nd ed. by Kernighan and Ritchie. ...