small medium large xlarge

Articles, Essays, and Presentations

Our Magazine

  • PragPub is our monthly magazine, available at In it you’ll find the latest articles by the Pragmatic Programmers, our authors and friends.

Foreign Language Translations

  • Selected articles are now available in Spanish.


Older articles:

  • Tell, Don't Ask

    Who is responsible for doing stuff in good OO design? In quick summary: Keep your orders and your facts separate,
    tell as little about yourself as possible, and
    don’t talk to others any more than is necessary.

  • Erlang

    What’s all the fuss about Erlang? In this website exclusive, Joe Armstrong tells us.

  • The Spirit of the Tool

    There’s a saying that the spirit of a tool carries through
    its lifetime, and affects the work produced by it. Using and creating great software pays back.

  • Designing Learning

    We tend to learn new technology or domain details accidentally and at the last minute (sometimes even later). But Pragmatic Programmers need to take learning into their own hands.

  • A Pragmatic Project: Live in Concert

    See a pragmatic team bring long-dead performers back to life. (web exclusive)

  • Cook Until Done

    Learning software development isn’t as easy as the pros make it seem. Find out why these books and seminars work for them, but not always for the rest of us.

  • IEEE Articles

    Back in 2003/4, Andy and Dave were the editors for a series of articles in IEEE Software magazine. We have those articles here in PDF form.

  • Other Published Articles

    Here is a smattering of articles we’ve had published in other magazines and journals.

  • The Art of Tradeoffs

    There seems to be a common misunderstanding among netizens who create
    software for a living…

  • High Fidelity

    What’s the point of bashing Microsoft?

  • Patterns and Piano Chords

    Patterns are not templates—they are abstractions that help us communicate.

  • Star Trek and Adaptable Systems

    What can the crew of the Enterprise teach us about software development (apart from “she cannay take it, Captain”)

  • Crayon for the Mind

    What’s the appropriate
    level of specificity in object oriented design, and why it’s better to follow the model of a vinyl LP instead of a compact disc.

  • Never Build an Application

    Try not to enshrine your business logic in code.

  • Sturgeon's Law

    Ninety percent of everything is crap.

  • Semantic Invariants

    A simple way of validating that an interface is correct.

Except as noted, all works are Copyright © The Pragmatic
Programmers, LLC. in the year indicated, and may not be reproduced
without permission. For others, please see the appropriate note at the bottom of this page.