HN
Today

Perlisisms

Alan J. Perlis's 'Epigrams in Programming' presents a timeless collection of witty and profound observations on the nature of software development. These concise nuggets of wisdom, penned by a Turing Award winner, remain highly relevant for programmers of all generations. The enduring popularity on HN stems from the sheer depth and humor packed into each insightful aphorism.

5
Score
2
Comments
#6
Highest Rank
3h
on Front Page
First Seen
Jun 14, 3:00 PM
Last Seen
Jun 14, 5:00 PM
Rank Over Time
13116

The Lowdown

This document presents 'Epigrams in Programming' by Alan J. Perlis, a foundational figure in computer science and the first recipient of the Turing Award. The collection comprises 120 succinct, often humorous, observations and philosophical statements about programming languages, software design, human-computer interaction, and the very act of creation in the digital realm. Far from being dated, these 'Perlisisms' offer timeless insights that continue to resonate with developers today, encapsulating truths that transcend specific technologies.

  • Language Design and Pitfalls: Perlis warns, 'Syntactic sugar causes cancer of the semicolon,' highlighting how supposed conveniences can lead to complexity. He also notes that 'A programming language is low level when its programs require attention to the irrelevant.'
  • The Nature of Programs: He observes that 'It is easier to write an incorrect program than understand a correct one,' a sentiment many developers can relate to. Another gem states, 'In the long run every program becomes rococo - then rubble,' capturing the inevitable entropy of software.
  • Complexity and Human Element: Perlis provides a famous hierarchy for dealing with complexity: 'Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.' He also humorously advises, 'If a listener nods his head when you're explaining your program, wake him up.'
  • Unrealistic Expectations: Addressing over-simplification, he suggests, 'When someone says "I want a programming language in which I need only say what I wish done," give him a lollipop.' This reflects a realistic view of abstraction's limits.
  • Philosophical Musings: Deeply philosophical epigrams question the essence of software, such as 'Is it possible that software is not like anything else, that it is meant to be discarded: that the whole point is to see it as a soap bubble?' and the stark 'Programming is an unnatural act.'

These epigrams highlight Perlis's sharp intellect and foresight, capturing universal truths about the challenges, frustrations, and occasional beauty of programming. They serve as a powerful reminder that while tools and languages evolve, many core principles and human tendencies in software development remain constant.