Overview
Explore the paradigm shift from imperative to declarative programming in this thought-provoking ACCU 2016 conference talk by Kevlin Henney. Delve into the contrasts between traditional imperative coding styles and the declarative approach, examining concepts like functional programming, mark-up languages, schemas, and persistent data structures. Learn how to apply declarative thinking to various aspects of software development, from requirements gathering to code implementation and testing. Discover practical lessons, habits, and techniques that can be applied in mainstream programming languages to improve code quality and reasoning. The talk covers topics such as 'Make' as a declarative language, the FizzBuzz problem, table-driven solutions, collection pipelines, and the relationship between concurrency and pre/post conditions, providing a comprehensive overview of declarative practices in modern software development.
Syllabus
: Start
: Real start end of meta talk
: 'Make' as a declarative language
: Reference to Fred Brooks' The Mythical Man-Month
: Illiteracy and software developers.
: FizzBuzz
: Table-driven instead of very redundant purely procedural code
: The collection pipeline solution
: By search/replaces Bash / Perl
: Stacks
: Indirect reference to Bertrand Meyer's Eiffel book. Pre- /post conditions asserts.
: Concurrency vs. pre- /post conditions
Taught by
ACCU Conference