Skip to content
quotesby

About this quote

What does it mean?
Solving hard problems requires either using a powerful language, building an interpreter for one, or mentally compiling code yourself.
In plain terms
You need a strong tool or the mental ability to act like one to solve tough issues.
What can you take from it?
Choose your tools wisely or develop the mindset to compensate for weak ones.

Where it applies

  • software development
  • learning to code
  • system design

Putting it to work

  • learn a functional language
  • build custom tools
  • practice mental modeling

Questions to consider

  • What limits your ability to solve hard problems?
  • Do you rely on tools or your own mind?

Another view

Mental compilation is unsustainable for large or complex projects.

More from Paul Graham

  1. At every period of history, people have believed things that were just ridiculous, and believed them so strongly that you risked ostracism or even violence by …

    Permalink to quote #4
  2. As a rule of thumb, the more qualifiers there are before the name of a country, the more corrupt the rulers. A country called The Socialist People's Democratic…

    Permalink to quote #6
  3. Software has to be designed by hackers who understand design, not designers who know a little about software. If you can't design software as well as implement…

    Permalink to quote #3

Related quotes

  1. A programming language is for thinking of programs, not for expressing programs you've already thought of.

    Paul GrahamPaul Graham quote #10
  2. If the only tool you have is a hammer, you tend to see every problem as a nail.

    Abraham MaslowAbraham Maslow quote #13
  3. Many computer scientists have fallen into the trap of trying to define languages like George Orwell's Newspeak, in which it is impossible to think bad thoughts…

    Larry WallLarry Wall quote #313