This article may rely excessively on sources too closely associated with the subject, potentially preventing the article from being verifiable and neutral. Please help improve it by replacing them with more appropriate citations to reliable, independent, third-party sources.(February 2015) (Learn how and when to remove this message)
Cover of the second edition
Author
Brian W. Kernighan and P. J. Plauger
Published
McGraw-Hill
Publication date
1978
Pages
168 pages
ISBN
978-0070342071
The Elements of Programming Style, by Brian W. Kernighan and P. J. Plauger, is a study of programming style, advocating the notion that computer programs should be written not only to satisfy the compiler or personal programming "style", but also for "readability" by humans, specifically software maintenance engineers, programmers and technical writers. It was originally published in 1974.
The book pays explicit homage, in title and tone, to The Elements of Style, by Strunk & White and is considered a practical template promoting Edsger Dijkstra's structured programming discussions. It has been influential and has spawned a series of similar texts tailored to individual languages, such as The Elements of C Programming Style, The Elements of C# Style, The Elements of Java(TM) Style, The Elements of MATLAB Style, etc.
The book is built on short examples from actual, published programs in programming textbooks. This results in a practical treatment rather than an abstract or academic discussion. The style is diplomatic and generally sympathetic in its criticism, and unabashedly honest as well— some of the examples with which it finds fault are from the authors' own work (one example in the second edition is from the first edition).
and 20 Related for: The Elements of Programming Style information
Programmingstyle, also known as coding style or code style, is a set of rules or guidelines that governs the layout of source code. Programming style...
In computer programming, indentation style is a convention, a.k.a. style, governing the indentation of blocks of source code that is generally intended...
competition to produce pleasingly obscure C code Technical debt TheElementsofProgrammingStyle Markus, Pizka (2004). "Straightening spaghetti-code with refactoring...
Tacit programming, also called point-free style, is a programming paradigm in which function definitions do not identify the arguments (or "points") on...
declarative programming is a programming paradigm—a styleof building the structure and elementsof computer programs—that expresses the logic of a computation...
working on improvements to the AWK programming language, which he took part in creating in 1977. TheElementsofProgrammingStyle, with P. J. Plauger Software...
functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm...
computing, a visual programming language (visual programming system, VPL, or, VPS), also known as diagrammatic programming, graphical programming or block coding...
Procedural programming is a programming paradigm, classified as imperative programming, that involves implementing the behavior of a computer program as procedures...
purely functional programming usually designates a programming paradigm—a styleof building the structure and elementsof computer programs—that treats all...
edit and format graphic elements and text common to each page of a document Template (C++), a tool for generic programming in the C++ language Template...
Elementsof art are stylistic features that are included within an art piece to help the artist communicate. The seven most common elements include line...
Cascading Style Sheets (CSS) is a style sheet language used for specifying the presentation and stylingof a document written in a markup language such...
return f Various attempts to bring elementsof natural language grammar into computer programming have produced programming languages such as HyperTalk, Lingo...
It is described in thestyle guide ofthe American Psychological Association (APA), which is titled the Publication Manual ofthe American Psychological...
of data elements Omitting data elements Cascading failure Cohesion (computer science) Connascence (computer programming) Coupling (computer science) Enterprise...
to redraw one image using the stylistic elementsof another image. with "A Neural Algorithm of Artistic Style" a Neural Style Transfer algorithm that was...