Literate Programming

Literate Programming

This anthology of essays from the inventor of literate programming includes Knuth's early papers on related topics such as structured programming, as well as the Computer Journal article that launched literate programming itself.

Author: Donald Ervin Knuth

Publisher: Stanford Univ Center for the Study

ISBN: 0937073814

Category: Computers

Page: 368

View: 452

This anthology of essays from Donald Knuth, the inventor of literate programming includes early essays on related topics such as structured programming, as well as The Computer Journal article that launched literate programming itself. Many examples are given, including excerpts from the programs for TeX and METAFONT. The final essay is an example of CWEB, a system for literate programming in C and related languages.Knuth feels that computer programs and books about computer programming should be interesting, entertaining, and literate. Thirteen of Knuth's most interesting essays are collected here, including the Computer Journal article that launched literate programming. Although most of the examples are in either Pascal or ALGOL 60, C programmers and others will still benefit from the material. The last essay describes CWEB, a system for literate programming in C and related languages. Highly recommended for all programmers and would-be programmers.
Categories: Computers

The Problem With Software

The Problem With Software

Literate programming is sort of like that for coding, except you write your
commentary down alongside the source code. Knuth did an experiment with
seven undergraduates one summer, teaching them literate programming; six of
them loved it ...

Author: Adam Barr

Publisher: MIT Press

ISBN: 9780262038515

Category: Computers

Page: 320

View: 406

An industry insider explains why there is so much bad software—and why academia doesn't teach programmers what industry wants them to know. Why is software so prone to bugs? So vulnerable to viruses? Why are software products so often delayed, or even canceled? Is software development really hard, or are software developers just not that good at it? In The Problem with Software, Adam Barr examines the proliferation of bad software, explains what causes it, and offers some suggestions on how to improve the situation. For one thing, Barr points out, academia doesn't teach programmers what they actually need to know to do their jobs: how to work in a team to create code that works reliably and can be maintained by somebody other than the original authors. As the size and complexity of commercial software have grown, the gap between academic computer science and industry has widened. It's an open secret that there is little engineering in software engineering, which continues to rely not on codified scientific knowledge but on intuition and experience. Barr, who worked as a programmer for more than twenty years, describes how the industry has evolved, from the era of mainframes and Fortran to today's embrace of the cloud. He explains bugs and why software has so many of them, and why today's interconnected computers offer fertile ground for viruses and worms. The difference between good and bad software can be a single line of code, and Barr includes code to illustrate the consequences of seemingly inconsequential choices by programmers. Looking to the future, Barr writes that the best prospect for improving software engineering is the move to the cloud. When software is a service and not a product, companies will have more incentive to make it good rather than “good enough to ship."
Categories: Computers

A Literate Programming Pearl in CP Systems

A Literate Programming Pearl in CP Systems

"We assess the "computer science" capabilities of our cP systems by solving a version of a famous programming pearl, originally posed by Jon Bentley (1984): printing the most common words in a text file, in their frequency order.

Author: Radu Nicolescu

Publisher:

ISBN: OCLC:1200504357

Category:

Page:

View: 767

"We assess the "computer science" capabilities of our cP systems by solving a version of a famous programming pearl, originally posed by Jon Bentley (1984): printing the most common words in a text file, in their frequency order. Several interesting solutions have been proposed by Knuth (an exquisite model of literate programming, 1986), McIlroy (an engineering example of combining a timeless set of tools, 1986), Hanson (an alternate efficient solution, 1987). Here we propose a concise efficient solution based on the fast parallel and associative capabilities of our cP systems. We also briefly check their sorting capabilities and propose a dynamic version of the classical pigeonhole algorithm.Keywords: Literate programming, sorting, parallel sorting, pigeonhole algorithm, dynamic pigeon-hole algorithm, associative data structures, membrane computing, P systems, cP systems, inter-cell parallelism, intra-cell parallelism, Prolog terms and unification, complex symbols, nested subcells, generic rules"--Page 1.
Categories:

Weaving a Program

Weaving a Program

Software -- Programming Techniques.

Author: Wayne Sewell

Publisher: Van Nostrand Reinhold Computer

ISBN: UCAL:B4340086

Category: Computers

Page: 556

View: 408

Software -- Programming Techniques.
Categories: Computers

Donald Knuth

Donald Knuth

Please note that the content of this book primarily consists of articles available from Wikipedia or other free sources online.

Author: Source Wikipedia

Publisher: University-Press.org

ISBN: 1230609741

Category:

Page: 34

View: 639

Please note that the content of this book primarily consists of articles available from Wikipedia or other free sources online. Pages: 33. Chapters: TeX, Metafont, Literate programming, MMIX, Knuth-Morris-Pratt algorithm, Knuth's up-arrow notation, Quater-imaginary base, Knuth's Algorithm X, Knuth-Bendix completion algorithm, Trabb Pardo-Knuth algorithm, Dancing Links, Knuth reward check, Man or boy test, Computer Modern, -yllion, The Complexity of Songs, Knuth Prize, Concrete Roman. Excerpt: TeX ( as in Greek, but often pronounced in English) is a typesetting system designed and mostly written by Donald Knuth. Within the typesetting system, its name is formatted as X. Together with the METAFONT language for font description and the Computer Modern family of typefaces, TeX was designed with two main goals in mind: to allow anybody to produce high-quality books using a reasonable amount of effort, and to provide a system that would give exactly the same results on all computers, now and in the future. TeX is one popular means by which to typeset complex mathematical formulae; it has been noted as one of the most sophisticated digital typographical systems in the world. TeX is popular in academia, especially in mathematics, computer science, economics, engineering, physics, statistics, and quantitative psychology. It has largely displaced Unix troff, the other favored formatter, in many Unix installations, which use both for different purposes. It is now also being used for many other typesetting tasks, especially in the form of LaTeX and other template packages. The widely used MIME type for TeX is application/x-tex. TeX is free software. When the first volume of Knuth's The Art of Computer Programming was published in 1969, it was typeset using hot metal type set by a Monotype Corporation typecaster with a hot metal typesetting machine from the 19th century which produced a "good classic style" appreciated by Knuth. When the second edition of the second...
Categories:

Princeton Companion to Applied Mathematics

Princeton Companion to Applied Mathematics

The use of such tools can aid debugging and make it simpler to compare different
versions of a program with a diff command. ... 5.18 Literate Programming In the
1980s Knuth championed the idea of literate programming, in which a document
 ...

Author: Nicholas J. Higham

Publisher: Princeton University Press

ISBN: 9780691150390

Category: Mathematics

Page: 1032

View: 692

This is the most authoritative and accessible single-volume reference book on applied mathematics. Featuring numerous entries by leading experts and organized thematically, it introduces readers to applied mathematics and its uses; explains key concepts; describes important equations, laws, and functions; looks at exciting areas of research; covers modeling and simulation; explores areas of application; and more. Modeled on the popular Princeton Companion to Mathematics, this volume is an indispensable resource for undergraduate and graduate students, researchers, and practitioners in other disciplines seeking a user-friendly reference book on applied mathematics. Features nearly 200 entries organized thematically and written by an international team of distinguished contributors Presents the major ideas and branches of applied mathematics in a clear and accessible way Explains important mathematical concepts, methods, equations, and applications Introduces the language of applied mathematics and the goals of applied mathematical research Gives a wide range of examples of mathematical modeling Covers continuum mechanics, dynamical systems, numerical analysis, discrete and combinatorial mathematics, mathematical physics, and much more Explores the connections between applied mathematics and other disciplines Includes suggestions for further reading, cross-references, and a comprehensive index
Categories: Mathematics

Eighth International Workshop on Program Comprehension

Eighth International Workshop on Program Comprehension

Nuweb , A simple literate programming tool . Technical report , Rice University ,
Houston , TX , USA , 1993 . ( 2 ) M. E. Brown and B. Childs . An interactive
environment for literate programming . Structured Programming , 11 ( 1 ) : 1125 ,
1990 .

Author:

Publisher: IEEE

ISBN: 0769506569

Category: Computers

Page: 257

View: 261

This work contains the proceedings of the 8th International Workshop on Program Comprehension, 2000. Papers address: theories and models for software comprehension; cognitive processes in program comprehension; tools facilitating software comprehension; and more.
Categories: Computers

1991 ACM Computer Science Conference

1991 ACM Computer Science Conference

Programs of this kind are called literate programs and they assume the
appearance of documents that describe programs . ... 1 1.2 Literate Programming
Systems Systems that provide the tools needed for practicing literate
programming are ...

Author:

Publisher:

ISBN: PSU:000020925260

Category: Algorithms

Page: 711

View: 221

Categories: Algorithms

Journal of Object oriented Programming

Journal of Object oriented Programming

The tool supports the concepts of literate programming and hypertext and can
also be used for documenting existing software systems . We have been using
the presented tool in various projects at our institute . Its usefulness has been
proven ...

Author:

Publisher:

ISBN: UOM:39015048109519

Category: Object-oriented programming (Computer science)

Page:

View: 628

Categories: Object-oriented programming (Computer science)

TUGboat

TUGboat

Introduction have one CWEB that could be used for writing literate programs in
English , Polish and many other languages . If this idea is feasible , it would make
literate programming accessible to programmers who like to write and to explain
 ...

Author:

Publisher:

ISBN: STANFORD:36105022225432

Category: Computerized typesetting

Page:

View: 289

Categories: Computerized typesetting

Methods of Programming

Methods of Programming

In their book, F.L. Bauer and H. Wossner1 described a formal approach to
programming language concepts and ... P. Pepper proposes "Literate Program
Derivation": he combines the ideas of Don Knuth's literate programming with the
 ...

Author: Manfred Broy

Publisher: Springer Science & Business Media

ISBN: 354054576X

Category: Computers

Page: 268

View: 151

This volume is a collection of papers presenting work based on the ideas of the CIP project. The CIP project proposed a formal approach to programming language concepts and program development based on algebraic specifications and program transformations.
Categories: Computers

Advances in Mathematical Modeling and Simulation of Electrochemical Processes and Oxygen Depolarized Cathodes and Activated Cathodes for Chlor alkali and Chlorate Processes

Advances in Mathematical Modeling and Simulation of Electrochemical Processes and Oxygen Depolarized Cathodes and Activated Cathodes for Chlor alkali and Chlorate Processes

Literate Programming for Mathematical Modeling of Battery Systems R . M .
Spotnitz , ( a ) G . S . Nagarajan , ( 2 ) J . W . Van ... Literate programming is
shown to allow tight coupling of high - level conceptual views of algorithms with
detailed ...

Author: Electrochemical Society. Industrial Electrolysis and Electrochemical Engineering Division

Publisher: The Electrochemical Society

ISBN: 1566772044

Category: Cathodes

Page: 370

View: 969

Categories: Cathodes

Literate Programming in C

Literate Programming in C

Author: M. A. A. van Leeuwen

Publisher:

ISBN: OCLC:221887010

Category: C (Computer program language)

Page: 32

View: 740

Categories: C (Computer program language)

Integrated Solutions

Integrated Solutions

1.3 Literate Programming for Z and Code WEB was originally designed with
Pascal in mind . However , versions for different languages and platforms have
been developed . There are some that support different languages
simultaneously .

Author:

Publisher:

ISBN: STANFORD:36105016372547

Category: Software engineering

Page: 386

View: 162

Categories: Software engineering

CASCON

CASCON

3 Literate Programming for Z and Code WEB was originally designed with Pascal
in mind . However , versions for different languages and platforms have been
developed . There are some that support different languages simultaneously .

Author:

Publisher:

ISBN: UOM:39015028265620

Category: Computer software

Page:

View: 532

Categories: Computer software

The Unified Process Transition and Production Phases

The Unified Process Transition and Production Phases

Use literate programming. Another method of making sense of undocumented
legacy code is literate programming, invented by Donald Knuth. I use literate
programming extensively when I have to fix orphaned code. Literate
programming is ...

Author: Scott W. Ambler

Publisher: CRC Press

ISBN: 9781482280746

Category: Computers

Page: 309

View: 137

Is the Unified Process the be all and end all standard for developing object-oriented component-based software? This book is the final in a four volume series that presents a critical review of the Unified Process. The authors present a survey of the alte
Categories: Computers

Algorithms on Trees and Graphs

Algorithms on Trees and Graphs

This book introduces graph algorithms on an intuitive basis followed by a detailed exposition in a literate programming style, with correctness proofs as well as worst-case analyses.

Author: Gabriel Valiente

Publisher: Springer Science & Business Media

ISBN: 9783662049211

Category: Computers

Page: 489

View: 668

Graph algorithms is a well-established subject in mathematics and computer science. Beyond classical application fields, such as approximation, combinatorial optimization, graphics, and operations research, graph algorithms have recently attracted increased attention from computational molecular biology and computational chemistry. Centered around the fundamental issue of graph isomorphism, this text goes beyond classical graph problems of shortest paths, spanning trees, flows in networks, and matchings in bipartite graphs. Advanced algorithmic results and techniques of practical relevance are presented in a coherent and consolidated way. This book introduces graph algorithms on an intuitive basis followed by a detailed exposition in a literate programming style, with correctness proofs as well as worst-case analyses. Furthermore, full C++ implementations of all algorithms presented are given using the LEDA library of efficient data structures and algorithms.
Categories: Computers

Proceedings

Proceedings

CNEST AND CSCOPE : TOOLS FOR THE LITERATE PROGRAMMING
ENVIRONMENT Eduardo Kortright David ... In comparing a literate program with
its non - literate equivaThe literate programming paradigm , originally developed
by lent ...

Author:

Publisher:

ISBN: 0780304942

Category: Electrical engineering

Page: 846

View: 262

Categories: Electrical engineering

Advance Papers

Advance Papers

Expanding the Role of Tools in a Literate Programming Environment Kent Beck
Ward Cunningham Tektronix , Inc. 1. The Expanded Role of Programmers
Traditionally , the programmer's role has been to understand a problem and
encode ...

Author:

Publisher:

ISBN: UOM:35128000976926

Category: Computer-aided software engineering

Page: 1060

View: 758

Categories: Computer-aided software engineering

Hypermedia Design

Hypermedia Design

This is the latest volume in the 'Workshops in Computing' series, and contains papers from the International Workshop on Hpyermedia Design, held in Montpellier, France, from 1 - 2 June 1995.

Author: Sylvain Fraisse

Publisher: Springer Science & Business Media

ISBN: 9781447130826

Category: Computers

Page: 252

View: 454

This is the latest volume in the 'Workshops in Computing' series, and contains papers from the International Workshop on Hpyermedia Design, held in Montpellier, France, from 1 - 2 June 1995. The workshop aimed to provide a forum for researchers and practitioners from a variety of backgrounds to discuss the many facets of hypermedia design. Among the specific topics covered by the papers are: design methods, multimedia modelling, higher structures in hypermedia design spaces, user-interface design for hypermedia, building distributed web applications, and hyperdialogs. The resulting volume provides a comprehensive overview of the state of the art in this important field. It will be of interest to researchers, practitioners and students involved in any aspect of hypermedia design.
Categories: Computers