Clojure syntax

Clojure is percieved as having an abundance of (), the symbols that represent a list.

As Clojure is a LISP (List Processing) language then everything is written in the form of a list. This makes Clojure very powerful and also easier to read.

Using a list structure also demonstrates the data-centric nature of Clojure. Every item in the list has a value, with the first item evaluated by a function call.

Parens everywhere

The seemingly abundance of () can be confusing until its realized there are fewer "special characters" in Clojure than other languages. Clojure aware editors support matching parens, adding a closed paren when typing an open paren, ensuring it is easy to write correctly formed Clojure.

Syntax differences are a trivial reason to avoid trying Clojure. Syntax aware editors significantly reduce typing by automatically closing parenthesis and eliminating errors due to missing delimiters (ie. no more errors due to missing ; in C-based languages)

Prefix notation

Instead of having a mix of notations like in many other languages, Clojure uses pre-fix notation entirely.

In Clojure operators are applied uniformly and there is no room for ambiguity:

(+ 1 2 3 5 8 13 21)
    (+ 1 2 (- 4 1) 5 (* 2 4) 13 (/ 42 2))
    (str "Clojure" " uses " "prefix notation")

In Java and other C-based languages you have to explicitly add operators everywhere and there can be a mixture of notations

(1 + 2 + 3 + 5 + 8 + 13 + 21);
    (1 + 2 + (- 4 1) + 5 + (* 2 4) + 13 + (/ 42 2));
    StringBuffer mystring = new StringBuffer("C-based languages" + " mix " + "notation");
    x+=1;
    x++;
    x--;
    x+=y;
    x-=y;
    x*=y;
    x/=y;

References

results matching ""

    No results matching ""