Complete formal verification is the only known way to guarantee that a system is free of programming errors. - Klein et al., seL4: Formal Verification of an OS Kernel
I don’t need to waste my time with a computer just because I am a computer scientist. - Edsger W. Dijkstra, EWD1305
If you can’t find ten Lisp hackers, then your company is probably based in the wrong city for developing software. - Paul Graham, Revenge of the Nerds
Making hackers work in a noisy, distracting environment is like having a paint factory where the air is full of soot. - Paul Graham, Great hackers
Good hackers find it unbearable to use bad tools. They’ll simply refuse to work on projects with the wrong infrastructure. - Paul Graham, Great hackers
You should be using Emacs. If you are using vi, there is probably something wrong with you. If you are using something that is not a real code editor, that is even worse. - Operating Systems: Three Easy Pieces
Programs must be written for people to read, and only incidentally for machines to execute. - Preface to the first edition, SICP
Firstly, as a rule he is not free in the choice of his programming tools and the most widely used programming languages are rather inadequate vehicles. - Dijkstra, EWD 288
A language that doesn’t make your programs small is doing a bad job of what programming languages are supposed to do, like a knife that doesn’t cut well, or printing that’s illegible. - Paul Graham, Succinctness is Power
A language that makes source code ugly is maddening to an exacting programmer, as clay full of lumps would be to a sculptor. - Paul Graham, http://www.paulgraham.com/pypar.html
It’s a perfectly legitimate goal to design a language for average programmers. But it is also a legitimate, and very different, goal to design a language for good programmers. - Paul Graham, Arc: An Unfinished Dialect of Lisp
Any language designer has to face awkward questions like which languages are better, and why, just as proctologists have to do things that would be considered extremely rude if ordinary people did them. - Paul Graham, Programming FAQ
I really don’t like programming. I built this tool to program less so that I could just reuse code. - Rasmus Lerdorf, creator of PHP
The clarity and economy of expression that the language of functional programming permits is often very impressive, and, but for human inertia, functional programming can be expected to have a brilliant future. - Dijkstra, EWD1213
ob-ject: to feel distaste for something (Webster’s Dictionary) - epigraph for chapter 14 (OO-langs), Modern Compiler Implementation in ML
I don’t think object-oriented programming is a structuring paradigm that meets my standards of elegance. - Edsger W. Dijkstra, EWD1284
Design patterns are bug reports against your programming language. - Peter Norvig
From a Lisp perspective the various GOF patterns can be thought of as implementing first-class types (state, proxy), first-class functions (visitor, iterator), macros (interpreter), method combination (mediator, observer), multimethods (builder), and modules (facade). - Peter Norvig
Any other regularity in the code is a sign, to me at least, that I’m using abstractions that aren’t powerful enough - often that I’m generating by hand the expansions of some macro that I need to write. - Paul Graham, Revenge of the Nerds