
I surrender. Lisp really is better than C++. - jcwentz
http://geekblog.oakcircle.com/2007/08/22/i-surrender-lisp-really-is-better-than-c/
======
jey

     >+++++++++++[<++++++>-]<.>+++++++++++++++++[<+++>-]<.-.>++++++++++++[<------->-
     ]<.>+++++++[<+++++>-]<.>++++++[<---->-]<..-----------.+++++++++++++++++++++++++
     ++++++++++++++++++++++++++++++++++++++++++++++++.>+++++[<++>-]<.---------------
     --------------------------------------------------------------------.++++++++++
     +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+.---
     --------.+++..>+++++++++++++++++++[<---->-]<.>+++++++++++[<++++++>-]<.+++.>++++
     +[<+++>-]<..>+++++[<--->-]<.+++++++++++++.>++++++++++++++++++++++++++++++++++++
     +++++[<-->-]<.>++++++++++++[<+++++++>-]<.>++++[<--->-]<.-------.+++++++++++++.>
     +++++++++++++[<------>-]<.>+++++++++++[<++++++>-]<.>++++[<++++>-]<.------------
     -----.>++++[<++>-]<.+++++.>++++[<-->-]<.>+++++[<+++>-]<.>++++++[<--->-]<.>++++[
     <++>-]<.>+++++++++++++++++++++++++++++++++++++[<-->-]<.
    

~~~
portLAN
__

    
    
    >++++++++[<+++++++++>-]<+.>+++++[<------>-]<----.>++++++++[<++++++++>
        -]<++++++.>++++c++++[<--------->-]<-----.>++++++++[<++++++++>-]<+++++
        ++.>++[<++++>-]<.>++[<--->-]<.>++[<++>-]<+.>++[<--->-]<-.>++++++++[<-
        ------->-]<-------.>+++++++++[<+++++++++>-]<+++.>++[<-->-]<-.>+++++++
        +[<--------->-]<-------.>++++++++[<++++++++>-]<+++++.>++[<++++>-]<.>+
        ++[<--->-]<--.+++.-.>++++++++[<-------->-]<----.>+++++[<++++++>-]<+++
        +.>++++++[<++++++++>-]<.>++++[<---->-]<-.>++[<++++>-]<.>++[<++>-]<+.>
        ++[<---->-]<.>+++[<+++++>-]<.>++++[<---->-]<--.>++[<++++>-]<.>+++++++
        +[<--------->-]<---.>++++++++[<+++++++++>-]<+.>++[<++>-]<+.>++++++++[
        <--------->-]<------.>++++++++[<+++++++++>-]<+++++.>+++[<++++>-]<.>++
        +++++++[<--------->-]<--------.>++++++++[<+++++++++>-]<++++++.>+++[<-
        -->-]<.>++++[<++++>-]<+++.----.>+++++++++[<--------->-]<---.>++++++++
        [<++++++++++>-]<.++.---.>++[<---->-]<.>+++[<+++>-]<++.>++++[<---->-]<
        -.>+++[<++++>-]<.>++++++++[<--------->-]<-----.>++++++++[<+++++++++>-
        ]<++.>+++[<+++>-]<++.--.+.>+++++++++[<--------->-]<---.>++++++++[<+++
        +++++>-]<++++++.>+++[<+++>-]<.+++.>+++++++++[<--------->-]<-.>+++++++
        +[<+++++++++>-]<+++.--.>++[<--->-]<.>++[<++++>-]<.>++[<++++>-]<.>++++
        ++++[<-------->-]<-----.>++++++[<------>-]<.
    

~~~
jey

     >+++++++++++++++++++++++[<+++>-]<.>+++++++++++++++++[<+++>-]<.>+++++++[<--->-]<
     .++.+++++++..-------.>+++[<+++>-]<.>+++[<++>-]<.>++++++++++++[<------->-]<.++++
     +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++.+++++++.>
     +++[<-->-]<.>+++[<-->-]<.++.>+++++++++++[<----->-]<.>+++++++[<-->-]<.>+++++++++
     ++++++++[<++>-]<.>++++++++[<++++++>-]<.-----------------.>++++[<++>-]<.+++++.>+
     +++[<-->-]<.>+++++[<+++>-]<.>++++++[<--->-]<.>++++[<++>-]<.>+++++++++++++++++[<
     ---->-]<.>+++++++++++++++++++[<++++>-]<.---------------------------------------
     --------------------------------------------.++++++++++++++++++++++++++++++++++
     +++++++++++++++++++++++++++++++++++++++.+++++.>+++[<++>-]<.>+++++[<--->-]<.++++
     +++++++++.--.++.-------------.>+++++[<+++>-]<.>+++++[<--->-]<.+++++++++++++.>++
     +++++++++++++++++++++++++++++++++++++++[<-->-]<.>+++++++++++++[<+++++>-]<.+++++
     ++++++++.>+++++[<-->-]<.>+++++++++++++++++[<---->-]<.>+++++++++++++++++++++++++
     ++++++++++++++++[<++>-]<.+++.-------.>+++[<++>-]<.-----------.++++.>++++[<-->-]
     <.>+++++++++++++++++++++++[<--->-]<.>+++++++++++++[<+++++>-]<.+++++++++++++++++
     .-------------.>+++++++++++++++++++++++[<--->-]<.>+++++++++++++++++++++++[<+++>
     -]<.+++++++++++++++++.-----------------.>+++[<+++>-]<.>+++++++++++++[<------>-]
     <.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     ++++++.>+++[<-->-]<.>++++[<--->-]<.+++++++++++..-------.+++++++++++++.>++++++++
     +++++++++++++++++++++++++++++++++[<-->-]<.>++++++++++++[<+++++++>-]<.>++++[<---
     >-]<.-------.+++++++++++++.>+++++++++++++[<------>-]<.>+++++++++++[<++++>-]<.++
     +++++++++++++++++++++++++++++++++++++++.>+++++[<---->-]<.>+++++++++++++++++++++
     ++++++++[<-->-]<.>+++++++++++++++++++[<++++>-]<.-------------------------------
     ----------------------------------------.>++++[<--->-]<.>+++++++++++[<+++>-]<.+
     ++++++++++++.>+++++[<-->-]<.>++++++[<------>-]<.>++++++++++++[<+++++++>-]<.>+++
     +[<--->-]<.---.>+++++++++++++++++++++++[<--->-]<.>+++++++++++++++++++[<++++>-]<
     .-----------.+++++++++++++.-------.>+++++++[<++>-]<.>+++++[<---->-]<.>+++[<++>-
     ]<.--.>+++++++++++++++++++++++[<--->-]<.+++++++++++++++++++++++++++++++++++++++
     ++++++++++++++++++++++++++++++++++.>+++++[<++>-]<.-----------------------------
     ------------------------------------------------------.>+++++++++++++++++[<++++
     >-]<.+.----.+++.>+++++++++++++++++[<---->-]<.++++++++++++++++++++++++++++++++++
     +++++++++++++++++++++++++++++++++++++++++++++++++.>+++++[<-->-]<.++++.+++.----.
     -------.>+++++++++++++++++[<---->-]<.
    

~~~
portLAN
__

    
    
    >+++++++++[<+++++++++>-]<+++.>+++++[<++++++>-]<.+++.>++++[<---->-]<.>
        ++++++++[<-------->-]<-----.>++++++++[<++++++++>-]<++++.---.>++++[<++
        ++>-]<+++.>+++++++++[<--------->-]<---.>+++[<++++>-]<+..>+++[<---->-]
        <-.>++++++[<++++++>-]<.>+++[<+++>-]<++.>++[<+++>-]<.>+++[<++++>-]<+.>
        ++++[<----->-]<--.>+++++[<+++++>-]<.>++++++++[<-------->-]<-----.>+++
        ++++++[<+++++++++>-]<+++.>+++++[<------>-]<----.>+++++[<+++++++>-]<.>
        ++++++[<-------->-]<.>++++++[<------>-]<.>++++[<----->-]<---.
    

------
palish
_"Up until now, everything that I'd seen done in Lisp could easily be done in
C++ too. The only real difference was a little more verbosity. But the unit-
testing framework that was developed in that chapter..."_

Interesting that a unit testing framework was the final straw. It's horrible
not being able to use closures.

~~~
dfranke
It's usually lack of garbage collection that gets to me the fastest. Closures
are a close second, but those you can easily fake in nearly any language. In
Java, anonymous classes usually do the job. In C with GNU extensions, you can
use nested functions as callbacks, with the caveat that they'll only be
available within the dynamic scope of the caller.

~~~
damien
Lack of garbage collection built into the language, you mean? I'm not
disagreeing with you, just clarifying.

~~~
dfranke
Yes.

------
koolmoe
I think he missed the biggest differentiator between C++ and Lisp - it's fun
to program in Lisp!

------
amichail
Almost anything is better than C++!

------
daniel-cussen
PG, you started a movement.

~~~
dpapathanasiou
Well, not everyone is convinced: <http://news.ycombinator.com/item?id=44461>

------
henning
"X is better than Y" is meaningless. Better for what under what specific
conditions, and how so?

------
jmzachary
Oh god, here we go ...

