Hacker News new | ask | show | jobs
by weavejester 5764 days ago
Java only uses braces to denote blocks, whilst Lisp uses parenthesis for everything. Contrast:

    (if (= x 0)
      (foo x)
      (bar x))
And:

    if (x == 0) {
        foo(x);
    }
    else {
        bar(x);
    }
The Lisp code has 8 parenthesis, whilst the Java code only has 4 braces. However, the Java code also has 6 parenthesis and 2 semicolons, so in total the Lisp code only has 8 control flow tokens, whilst the equivalent Java has 12 (or 13, if you count the 'else').
1 comments

That what I meant by "beyond a certain sized software project." The claim was that because Lisp can do a lot of things Java can't, Lisp will end up requiring such less code that it will have fewer parentheses than Java has curly braces. However, as another commenter mentioned, Lisp will surely have a higher parenthesis density than Java's curly brace density.