<ol class="breadcrumb">
  <li><a href="/">Home</a></li>
  <li><a href="/book/">Book</a></li>
  <li class="active">Preface :: TANSTAAFL</li>
</ol>

## Preface pt. i

# TANSTAAFL

> "There Ain't No Such Thing As A Free Lunch... anything free costs twice as much in the long run or turns out worthless."
> <footer>Robert A. Heinlein, <em>The Moon Is A Harsh Mistress</em></footer>

Programming is hard.  Anyone who says differently is either trying to make you feel inferior to them or sell you something.  In the case of many "easy-to-learn" programming languages, both happen to be true.  But you're not here for inefficient, glorified, instant-gratification scripting languages that pigeon-hole you into prescribed execution control-flows and common use cases.  You're not here for monolithic imperative languages that have to be tamed into submission for the simplest tasks.  You've sought out *the Hard Way*, and the hardest language to master, Common Lisp.  You're not afraid of working for what you want or committing to a new way of thinking---you're here because you want to be a Lisp Hacker, and you're not going to let anything get in your way.

That being said, learning Lisp is not an impossible dream.  Like any skill, practice makes perfect---and that's what *the Hard Way* is all about.  Lisp may seem like an ancient mystical secret, cherished and protected by an impenetrable cabal of hacker elites, but that, much like the language's popular association solely with Artificial Intelligence, is a misconception.  You don't have to be a genius or Black Hat to crack the mystery surrounding the language and the open-source subculture where it thrives.  You just have to follow a few essential steps, and apply them without fail.

The biggest secret to Lisp is that it is actually the simplest programming language ever created---and that, coupled with its expressiveness and elegance, is why it is favored exclusively by the best programmers in the world.  With hard work, attention to detail, and careful reflection over the subject material, you will be up and running with Lisp and writing real applications much earlier than you could with other, lesser languages.

<ul class="pager">
  <li class="previous disabled"><a href="#">&laquo; Previous</a></li>
  <li><a href="/book/">Table of Contents</a></li>
  <li class="next"><a href="/book/preface-part-two/">Next &raquo;</a><li>
</ul>
