Okay, I know I've said Esperanto is more religion than language, and I've complained about how few people there are with whom to use Esperanto. But today I'm going to put aside those biases and bring attention to a few specific details of Esperanto which give me an unfavorable opinion of it as a language.
First, let me be clear about my intent. This is not intended to be Esperanto-bashing. There is nothing to be gained from merely prejudiced attacks. Rather, this is a matter of paying attention to specific details of a language and how those details affect the speaker, and in turn, the overall perception of the language itself.
And so, rather than making any attacks against the language or the people who speak it, I would like to draw attention to five very specific details about the language itself which I perceive to be major flaws.
Right from the start, the first flaw a person immediately becomes familiar with are these six non-Latin characters: ĉ, ĝ, ĥ, ĵ, ŝ, and ǔ. Non-Latin characters are generally more difficult to work with anyway, especially in this modern world of wireless communication from a 12-key phone pad... but to make things even worse, three of those six characters don't exist in any other known language, which makes it significantly difficult, or even impossible, for many people to type those letters at all.
Of course the creator of the language recognized this difficulty, and created a series of digraphs for representing these sounds: cx, gx, hx, jx, sx, and ux. Which then leads us to the problem of: if you're going to use digraphs, why have the special characters at all?
While the digraphs may have seemed like a good solution in 1903, it's a horrible solution in 2010, because we now have online databases and search engines and cached repositories of words spelled in a variety of different ways. If one person writes cxiu and another person writes ĉiu, they are not the same. They don't even look the same. And they're certainly not indexed the same in any databases, which means you often have to query several different spellings to find a definition for an Esperanto word.
And worse, there are other non-standard digraphs in use. Rather than sticking to the formula, a number of people have taken it upon themselves to write ch, gh, js, and sh for the ĉ, ĝ, ĵ, and ŝ characters. And I've occasionally seen other non-standard digraphs used as well. Imagine how much difficulty that adds just to lexical parsing, nevermind the web searches, and other such problems.
And in an alphabetical list, in which order do the words ĉiu, chiu, and cxiu fall?
Important words should not sound alike
Question words are among the most important words in a language. They need to be clear and easily distinguished. If I ask you "what?", you shouldn't answer a "who?" question, right? You should never find yourself talking to someone who doesn't anunciate clearly, or who has an accent, wondering if he asked you "when are you going" or "where are you going", right?
In English, those words all sound different. Who. What. When. Where. Why. In spite of the fact that they all start with the same sound, there's no risk of confusion unless you're talking to a drunken redneck with a hotdog in his mouth.
In Russian, there are dozens of question words, thanks to noun declension. And yet they, too, are all easy to tell apart: кто (kto), что (shto), когда (kogda), кем (kem), как (kak), где (gde), куда (kuda), какой (kakoy), чем (chem), кого (kavo), and so on. In spite of a huge number of words, mostly starting with the same sound, they are all easy to distinguish.
But in Esperanto, all the question words are two-syllable words, and the stressed syllable is the same in every word! Kio, Kiel, Kiam, Kiu, Kia, Kiom, Kies, etc. All I hear is KEE-something. And given the fact that Esperanto is a second language for everyone, that means that everyone who speaks Esperanto speaks it with an accent. This is a huge comprehension problem. And this problem is duplicated in the answering words: Tio, Tia, Tie, Tiu, etc.
But Spanish has the same stress rules as Esperanto, with the penultimate syllable getting the stress. Why isn't it a problem in Spanish? You tell me. Say these words to yourself: Cómo, Qué, Quién, Dónde, Cuando. Do any of them sound the same? No. And Zamenhoff would have done well to consider that.
Lack of nuance
In English, we have dozens of ways to alter verb tense, in order to convey additional implications in a statement. I went to the store is different from I was going to the store, and different from I had been going to the store, but in Esperanto, they're all said with the same simple past tense.
Yes, I know that Esperanto provides a way of forming gerunds and participles, but their use is still heavily reflective of the native language of the speaker. That is, native English speakers will try to form sentences using gerunds and participles, and native speakers of other languages will be completely lost. So everyone defaults back to the simple past.
Further, none of this does a good job of differentiating perfective and imperfective action. In other words, there's no good way to differentiate an action that was done in the past from an action that was ongoing at the point of reference in the past. This is a very basic concept that exists in all languages I have experience with.
Awkward uncomfortable sounds
Okay, at first you're thinking "every foreign language is uncomfortable at first", and at first blush, you're right. That's not a good enough reason. But there's more to it.
Speakers of various languages develop certain ways of dealing with the conditions of awkward sounds. In English, we're accustomed to a lot of this. Just say the word don't to yourself and try to hear the T sound. You can't, because it's not really there. You can't make that sound unless you slow down the word so much that it's almost unnatural to say it.
Everyone knows about the rolled R in the Spanish language, but unless you're a fluent speaker, you might not have noticed that it's heavily rolled at the beginning of a word, but barely rolled at all in the middle. And quite hard to hear at all after a T or a B.
The Russian language famously stacks up three or four consonants on top of each other every chance it gets, but if you listen to a Russian speak, you quickly realize that they only ever pronounce one, or maybe two, of those consonants.
And on the topic of Russian, there is that whole vowel reduction thing, where а and о sound different depending on where the stress falls in a word. For example, the word молоко, which has three о's, but it's pronounced muh-lah-kohe.
Failure of constructed language
Such language features evolve naturally in any natural language. As native speakers say things at a quick, conversational pace, certain shortcuts develop and catch on and eventually become standard. Grammatical constructs can be invented and accepted and included into the language. Contractions, vowel reduction, devoicing, all the linguistic phenomena that were excluded from the constructed language.
These are details that would normally work themselves out over long periods of time through the natural process of language evolution. But that is exactly the problem with Esperanto: not only did that natural evolution never happen in the creation of this language, but worse, it's not allowed to happen on its own, because changes to the language would defeat the whole purpose and point of having it.
One excellent example of this problem is in my second complaint, regarding nuance. There actually are two known methods for expressing some form of verb aspect, but neither is official nor required by the language, and using and understanding them necessitates familiarity with the Slavic influeces from which they are taken.
There are those who will argue that Esperanto is a living language, but they base that on the fact that new words are added regularly, and that doesn't make it a living language. A living language is allowed to change over time, but Esperanto is only allowed to grow, not to change.
Esperanto is not allowed to fracture, and shift, and become regional. If different people spoke different dialects of Esperanto, it's would no longer be a universal language. But dialects are the only way that a language can evolve and develop the characteristics which allow people to express themselves comfortably and clearly, and with the nuance and subtlety available in any other language! Unfortunately, dialects and fracturing would be the death of Esperanto.
A language has to be allowed to evolve with the needs of its speakers, or else it's nothing more than a relic — a cute, trite, literary oddity. It was invented to be easy, and it is. And it's actually become far more popular than any other constructed language in history. But it was also invented to become the Universal Language, and unfortunately, I just don't think that can happen with these flaws.