Lispは手続き型やオブジェクト指向の言語とは全く違う感覚で書く。
書いたコードはREPLでその場で実行修正、ソフトのためのライブラリを書くボトムアップ、副作用はなるべく一部に閉じ込める、高階関数で汎用部品を組み合わせる、マクロで関数で不可能な抽象化を行なう等。
CやC++と同じ感覚で書くと真価が掴めない。どの言語でもその言語に適したスタイルを身につけないとダメ。