Author

Robert Bruce Findler

📖 Overview

Robert Bruce Findler is a computer scientist and professor at Northwestern University's Department of Computer Science. He is known for his work in programming languages, software contracts, and programming language semantics. Findler made significant contributions to the development of PLT Scheme (now known as Racket), a programming language and development environment. His research focuses on programming tools, language design, and type systems, with particular emphasis on behavioral software contracts. Much of Findler's influential work centers on contract systems for higher-order programming languages and the theoretical foundations of contract monitoring. He developed the contract system used in Racket and contributed to the understanding of blame assignment in contract violations. Findler has authored numerous academic papers and educational materials, including contributions to "How to Design Programs," a widely-used textbook for teaching program design. His work has influenced both practical programming language implementation and theoretical computer science.

👀 Reviews

Reader reactions focus mainly on Findler's contributions to "How to Design Programs" and his Racket/PLT Scheme documentation. Readers appreciate: - Clear explanations of complex programming concepts - Practical examples in teaching materials - Structured approach to program design fundamentals - Documentation quality for Racket language features Common criticisms: - Academic writing style can be dense for beginners - Some teaching materials assume prior programming knowledge - Limited coverage of certain advanced topics Ratings and Reviews: - "How to Design Programs" (2nd ed) on Goodreads: 4.1/5 (87 ratings) - Racket documentation on pkg.go.dev: 4.5/5 (112 ratings) One reader noted: "The systematic design recipes helped me develop better programming habits." Another commented: "Technical accuracy is high but accessibility could be improved for newcomers." Note: Limited public reviews available since most of Findler's work appears in academic publications and technical documentation rather than consumer-focused books.

📚 Books by Robert Bruce Findler

How to Design Programs A comprehensive textbook that introduces systematic program design using functional programming, teaching students to organize programs around data definitions and follow a design recipe approach.

A Programmable Programming Language Explores the design and implementation of extensible programming languages, focusing on the Racket programming language and its capabilities for language creation.

DrRacket: The Racket Programming Environment Details the architecture and features of DrRacket, an integrated development environment designed for teaching programming and supporting multiple languages.

Contracts for Higher-Order Functions Presents the theoretical foundations and practical implementation of software contracts in functional programming languages, with emphasis on blame assignment.

👥 Similar authors

Matthias Felleisen Co-authored "How to Design Programs" and developed PLT Scheme/Racket alongside Findler. His work on operational semantics and programming language theory aligns closely with Findler's research on contracts and language design.

Guy L. Steele Pioneer in programming language design who worked on Scheme and wrote "Common Lisp the Language." His focus on language specification and semantics parallels Findler's work on formal programming language foundations.

Benjamin Pierce Authored "Types and Programming Languages" and researches type systems and programming language theory. His work on type systems connects directly to Findler's research on contracts and program verification.

John C. Reynolds Made fundamental contributions to programming language theory and developed separation logic. His theoretical work on programming languages forms a foundation for the kind of research Findler pursues in software contracts.

Shriram Krishnamurthi Contributed to PLT Scheme/Racket development and wrote "Programming Languages: Application and Interpretation." His research on programming tools and language design shares common ground with Findler's work on development environments and contract systems.