Parentheses are no issue at all...dead serious there. Use something like parinfer (easy for beginners!) or paredit, and that problem goes away right now. You won't even see the parentheses--trust me. I agree that not having other special symbols to break up the code and make easier to pick apart is kind of crappy. Enter Clojure... it elegantly supports other symbols in a non-eccentric (looking at you, Haskell) sort of way, which I find helps a lot. [] vector, {} map, #{} set...you get the idea.