Selected Papers on Computer Languages

Selected Papers on Computer Languages

Author: Donald Ervin Knuth

Publisher: Stanford Univ Center for the Study

Published: 2003

Total Pages: 594

ISBN-13: 9781575863818

DOWNLOAD EBOOK

This volume, sixth in a series of collected works by world-renowned computer scientist Donald E. Knuth, assembles approximately two doxen of his pioneering contributions to the field of computer languages, including papers on ALGOL, SOL, RUNCIBLE, and FORTRAN. Papers on the early development of programming languages, the history of writing compilers, the characterization of parenthesis languages, and the semantics of context-free languages are also included.


Selected Papers on Computer Science

Selected Papers on Computer Science

Author: Donald E. Knuth

Publisher: Center for the Study of Language and Information Publications

Published: 1996-07-13

Total Pages: 286

ISBN-13: 9781881526919

DOWNLOAD EBOOK

This anthology of essays from the inventor of literate programming is a survey of Donald Knuth's papers on computer science. Donald Knuth's influence in computer science ranges from the invention of literate programming to the development of the TeX programming language. One of the foremost figures in the field of mathematical sciences, his papers are widely referenced and stand as milestones of development over a wide range of topics. This collection focuses on Professor Knuth's published science papers that serve as accessible surveys of their subject matter. It includes articles on the history of computing, algorithms, numerical techniques, computational models, typesetting, and more. This book will be appreciated by students and researchers from a wide range of areas within computer science and mathematics.


Selected Papers on Fun & Games

Selected Papers on Fun & Games

Author: Donald Ervin Knuth

Publisher: Center for the Study of Language and Information Publica Tion

Published: 2011

Total Pages: 0

ISBN-13: 9781575865850

DOWNLOAD EBOOK

Donald E. Knuth's influence in computer science ranges from the invention of methods for translating and defining programming languages to the creation of the TeX and METAFONT systems for desktop publishing. His award-winning textbooks have become classics that are often given credit for shaping the field, and his scientific papers are widely referenced and stand as milestones of development over a wide variety of topics. The present volume is the eighth in a series of his collected papers.


Design Concepts in Programming Languages

Design Concepts in Programming Languages

Author: Franklyn Turbak

Publisher: MIT Press

Published: 2008-07-18

Total Pages: 1347

ISBN-13: 0262303159

DOWNLOAD EBOOK

Key ideas in programming language design and implementation explained using a simple and concise framework; a comprehensive introduction suitable for use as a textbook or a reference for researchers. Hundreds of programming languages are in use today—scripting languages for Internet commerce, user interface programming tools, spreadsheet macros, page format specification languages, and many others. Designing a programming language is a metaprogramming activity that bears certain similarities to programming in a regular language, with clarity and simplicity even more important than in ordinary programming. This comprehensive text uses a simple and concise framework to teach key ideas in programming language design and implementation. The book's unique approach is based on a family of syntactically simple pedagogical languages that allow students to explore programming language concepts systematically. It takes as premise and starting point the idea that when language behaviors become incredibly complex, the description of the behaviors must be incredibly simple. The book presents a set of tools (a mathematical metalanguage, abstract syntax, operational and denotational semantics) and uses it to explore a comprehensive set of programming language design dimensions, including dynamic semantics (naming, state, control, data), static semantics (types, type reconstruction, polymporphism, effects), and pragmatics (compilation, garbage collection). The many examples and exercises offer students opportunities to apply the foundational ideas explained in the text. Specialized topics and code that implements many of the algorithms and compilation methods in the book can be found on the book's Web site, along with such additional material as a section on concurrency and proofs of the theorems in the text. The book is suitable as a text for an introductory graduate or advanced undergraduate programming languages course; it can also serve as a reference for researchers and practitioners.


Types and Programming Languages

Types and Programming Languages

Author: Benjamin C. Pierce

Publisher: MIT Press

Published: 2002-01-04

Total Pages: 656

ISBN-13: 9780262162098

DOWNLOAD EBOOK

A comprehensive introduction to type systems and programming languages. A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of type systems—and of programming languages from a type-theoretic perspective—has important applications in software engineering, language design, high-performance compilers, and security. This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages. The approach is pragmatic and operational; each new concept is motivated by programming examples and the more theoretical sections are driven by the needs of implementations. Each chapter is accompanied by numerous exercises and solutions, as well as a running implementation, available via the Web. Dependencies between chapters are explicitly identified, allowing readers to choose a variety of paths through the material. The core topics include the untyped lambda-calculus, simple type systems, type reconstruction, universal and existential polymorphism, subtyping, bounded quantification, recursive types, kinds, and type operators. Extended case studies develop a variety of approaches to modeling the features of object-oriented languages.


Code

Code

Author: Charles Petzold

Publisher: Microsoft Press

Published: 2022-08-02

Total Pages: 563

ISBN-13: 0137909292

DOWNLOAD EBOOK

The classic guide to how computers work, updated with new chapters and interactive graphics "For me, Code was a revelation. It was the first book about programming that spoke to me. It started with a story, and it built up, layer by layer, analogy by analogy, until I understood not just the Code, but the System. Code is a book that is as much about Systems Thinking and abstractions as it is about code and programming. Code teaches us how many unseen layers there are between the computer systems that we as users look at every day and the magical silicon rocks that we infused with lightning and taught to think." - Scott Hanselman, Partner Program Director, Microsoft, and host of Hanselminutes Computers are everywhere, most obviously in our laptops and smartphones, but also our cars, televisions, microwave ovens, alarm clocks, robot vacuum cleaners, and other smart appliances. Have you ever wondered what goes on inside these devices to make our lives easier but occasionally more infuriating? For more than 20 years, readers have delighted in Charles Petzold's illuminating story of the secret inner life of computers, and now he has revised it for this new age of computing. Cleverly illustrated and easy to understand, this is the book that cracks the mystery. You'll discover what flashlights, black cats, seesaws, and the ride of Paul Revere can teach you about computing, and how human ingenuity and our compulsion to communicate have shaped every electronic device we use. This new expanded edition explores more deeply the bit-by-bit and gate-by-gate construction of the heart of every smart device, the central processing unit that combines the simplest of basic operations to perform the most complex of feats. Petzold's companion website, CodeHiddenLanguage.com, uses animated graphics of key circuits in the book to make computers even easier to comprehend. In addition to substantially revised and updated content, new chapters include: Chapter 18: Let's Build a Clock! Chapter 21: The Arithmetic Logic Unit Chapter 22: Registers and Busses Chapter 23: CPU Control Signals Chapter 24: Jumps, Loops, and Calls Chapter 28: The World Brain From the simple ticking of clocks to the worldwide hum of the internet, Code reveals the essence of the digital revolution.


Domain-Specific Languages

Domain-Specific Languages

Author: Martin Fowler

Publisher: Pearson Education

Published: 2010-09-23

Total Pages: 796

ISBN-13: 0131392808

DOWNLOAD EBOOK

When carefully selected and used, Domain-Specific Languages (DSLs) may simplify complex code, promote effective communication with customers, improve productivity, and unclog development bottlenecks. In Domain-Specific Languages, noted software development expert Martin Fowler first provides the information software professionals need to decide if and when to utilize DSLs. Then, where DSLs prove suitable, Fowler presents effective techniques for building them, and guides software engineers in choosing the right approaches for their applications. This book’s techniques may be utilized with most modern object-oriented languages; the author provides numerous examples in Java and C#, as well as selected examples in Ruby. Wherever possible, chapters are organized to be self-standing, and most reference topics are presented in a familiar patterns format. Armed with this wide-ranging book, developers will have the knowledge they need to make important decisions about DSLs—and, where appropriate, gain the significant technical and business benefits they offer. The topics covered include: How DSLs compare to frameworks and libraries, and when those alternatives are sufficient Using parsers and parser generators, and parsing external DSLs Understanding, comparing, and choosing DSL language constructs Determining whether to use code generation, and comparing code generation strategies Previewing new language workbench tools for creating DSLs


Masterminds of Programming

Masterminds of Programming

Author: Federico Biancuzzi

Publisher: "O'Reilly Media, Inc."

Published: 2009-03-21

Total Pages: 498

ISBN-13: 0596555504

DOWNLOAD EBOOK

Masterminds of Programming features exclusive interviews with the creators of several historic and highly influential programming languages. In this unique collection, you'll learn about the processes that led to specific design decisions, including the goals they had in mind, the trade-offs they had to make, and how their experiences have left an impact on programming today. Masterminds of Programming includes individual interviews with: Adin D. Falkoff: APL Thomas E. Kurtz: BASIC Charles H. Moore: FORTH Robin Milner: ML Donald D. Chamberlin: SQL Alfred Aho, Peter Weinberger, and Brian Kernighan: AWK Charles Geschke and John Warnock: PostScript Bjarne Stroustrup: C++ Bertrand Meyer: Eiffel Brad Cox and Tom Love: Objective-C Larry Wall: Perl Simon Peyton Jones, Paul Hudak, Philip Wadler, and John Hughes: Haskell Guido van Rossum: Python Luiz Henrique de Figueiredo and Roberto Ierusalimschy: Lua James Gosling: Java Grady Booch, Ivar Jacobson, and James Rumbaugh: UML Anders Hejlsberg: Delphi inventor and lead developer of C# If you're interested in the people whose vision and hard work helped shape the computer industry, you'll find Masterminds of Programming fascinating.


Companion to the Papers of Donald Knuth

Companion to the Papers of Donald Knuth

Author: Donald Ervin Knuth

Publisher: Center for the Study of Language and Information Publica Tion

Published: 2011

Total Pages: 0

ISBN-13: 9781575866345

DOWNLOAD EBOOK

Donald E. Knuth's seminal publications, such as Selected Papers on Fun and Games and Selected Paper on the Design of Algorithms, have earned him a loyal following among scholars and computer scientists, and his award-winning textbooks have becomes classics that are often given credit for shaping the field. In this volume, he explains and comments on the changes he has made to his work over the last twenty years in response to new technologies and the evolving understanding of key concepts in computer science. His commentary is supplemented by a full bibliography of his works and a number of interviews with Knuth himself, which shed light on his professional life and publications, as well as provide interesting biographical details. A giant in the field of computer science, Knuth has assembled materials that offer a full portrait of both the scientist and the man. The final volume of a series of his collected papers, Companion to the Papers of Donald Knuth is essential for the Knuth completist.


Advanced Topics in Types and Programming Languages

Advanced Topics in Types and Programming Languages

Author: Benjamin C. Pierce

Publisher: MIT Press

Published: 2024-07-02

Total Pages: 589

ISBN-13: 0262552671

DOWNLOAD EBOOK

A thorough and accessible introduction to a range of key ideas in type systems for programming language. The study of type systems for programming languages now touches many areas of computer science, from language design and implementation to software engineering, network security, databases, and analysis of concurrent and distributed systems. This book offers accessible introductions to key ideas in the field, with contributions by experts on each topic. The topics covered include precise type analyses, which extend simple type systems to give them a better grip on the run time behavior of systems; type systems for low-level languages; applications of types to reasoning about computer programs; type theory as a framework for the design of sophisticated module systems; and advanced techniques in ML-style type inference. Advanced Topics in Types and Programming Languages builds on Benjamin Pierce's Types and Programming Languages (MIT Press, 2002); most of the chapters should be accessible to readers familiar with basic notations and techniques of operational semantics and type systems—the material covered in the first half of the earlier book. Advanced Topics in Types and Programming Languages can be used in the classroom and as a resource for professionals. Most chapters include exercises, ranging in difficulty from quick comprehension checks to challenging extensions, many with solutions.