

Is Lisp just too hard? - MikeTaylor
http://reprog.wordpress.com/2010/04/14/the-long-overdue-serious-attempt-at-lisp-part-2-is-lisp-just-too-hard/

======
pavelludiq
_"And it gets way, way worse once you start writing actual programs as opposed
to mere arithmetic expressions."_

I deal with the issue of arithmetic expressions the same way i deal with any
other lisp code, i indent properly:

    
    
      (+ (* 1.2 
            (- 2 
               1/3)) 
         -8.7)
    

now just read it from the deepest level outwards.

~~~
lmkg
For me, the point worth arguing is not whether infix vs prefix arithmetic is
hard, but that "actual programs" get harder. They don't: Math, logical
operations, and variable assignment are the hardest to switch over to thinking
Lisply, because those are the operations normally represented as binary
operators in other languages[1]. Lisp and other languages share the same
prefix notation for standard function calls. When you start moving into
"actual" programs from toy examples, functions become a bigger chunk of the
program, and the lack of infix operators becomes a smaller deal.

I wonder if intro-to-lisp books should shy away from arithmetic in the first
few chapters to avoid this stumbling block. It seems odd to introduce the
nature of lisp syntax by focusing on its weakest point. Shuffling lists of
symbols around gives an introduction to the syntax and the more fundamental
data types, and makes for an easier segue into macros.

[1] Variable assignment is the easiest to overcome, because you simply doesn't
use variable assignment as much in Lisp, and in this sense the aversion is a
good thing as working to avoid it helps produce more idiomatic code. Logical
operators are also easier to overcome because in practice it's not common to
have thorny expressions with high nesting levels like you can in arithmetic.

I wonder if it would be worthwhile to have a MATH special form in common lisp
that that allows for special evaluation in its body, like how the LOOP form
parses its arguments.

~~~
ced
I find that logical expressions are easier to parse.

    
    
       (OR (AND ...)
           (AND ...)
           ...)
    

is cleaner (and shorter) than the corresponding one-liner in Python.

------
mahmud
Eli responds to him nicely:

[http://reprog.wordpress.com/2010/04/14/the-long-overdue-
seri...](http://reprog.wordpress.com/2010/04/14/the-long-overdue-serious-
attempt-at-lisp-part-2-is-lisp-just-too-hard/#comment-1430)

------
ww520
Lisp is not too hard. What I found missing are the standard library, standard
threading, standard database interface, etc.

~~~
mahmud
alexandria, bordeaux-threads, cl-sql.

Really.

------
Psyonic
Nope.

~~~
jonsen
Nope is too hard?

~~~
Psyonic
sorry, was being a bit facetious, but I don't think Lisp is too hard. Takes a
bit getting used to, but once you do I don't feel its any harder than C,
certainly.

