A lot of the objections your raise are very subjective.
>1. The minimal syntax makes it harder to read than more traditional languages.
I personally find that the minimal syntax makes it much easier to read the code.
The more syntax the language has the more of it you have to keep in your head when reading code. Different language features might interact in unexpected ways, and so on. This is mental overhead that I don't need to worry about when the syntax is regular.
>2. It's uncomfortable to do imperative or object-oriented programming in Clojure. (Yes, many problems are easier to express in other than the functional paradigm.)
Could this stem from the fact that you're likely much more familiar with OO and you've spent years internalizing OO patterns for solving problems.
I find that for majority of problems I deal with functional solutions tend to be simpler, cleaner, and more reusable.
OO on the other hand is directly at odds with reuse because you marry logic and data together into classes. If you write a method and you need to use it for a different problem, you often have to jump through hoops to do it.
On top of it OO encourages premature classification. If you create a class and you need to use that data in a different way later you have to translate it in some way. This is why you have things like wrapper and adapter patterns.
This problem simply doesn't exist in functional code. You simply group functions into a namespace that has same organizational benefits as a class. A namespace can represent a specific domain, but you can easily pass the output of a function from one namespace to a function in a different namespace.
>4. The parentheses are sometimes annoying, especially when I want to quickly test something in the REPL.
There's a lot less control characters in Clojure than say in Java. If you count all your parens, curly brackets, semicolons, commas, and so a language like Java has far more noise in it. There are very few languages that have cleaner significantly syntax in my opinion.
Also, if you're using a proper editor you rarely have to deal with something like balancing parens by hand.
>From my experince, this is just wishful thinking.
From my experience, actually having worked with Clojure production systems for a few years, now macros can be incredibly helpful in expressing problems cleanly and removing boilerplate.