CouchDB or Java which one should I hate?
Never been a fan of RDBMS no sirree. But that has never stopped me from using them (but with many repitions of the phrase ‘databases suck’). Then along came non relation databases and then no-sql. For a while I had to modify my phrase to ‘SQL Databases suck’. But it wasn’t long before I started dabbling with Amazon Simple DB and that turned me off no-sql completely (back to databases suck). That too was quite a while ago, then I had another look and ran into CouchDB.
So if you want to use CouchDB in a Java app. you need to rely on a third party API or create one on your own – the trouble with most third party APIs is that it’s easier to create your own than to understand those APIs. That’s because there are at least 17 different ways in which any simple task can be accomplished with Java – Sun (Oracle) usually recommends the most complicated approach. API developers take it upon themselves to create a solution that somehow seems to include elements of all those 17 different solutions into their library. Thus something that can be done in 20 lines of code actually takes 210 and you need as many sleepless nights to read and understand the documentation. That’s exactly what happens with CouchDB.
There are five different APIs recommended by CouchDB for use with Java. Each one uses a different API for JSON encode/decode, for logging and for the HTTP Stuff. If you want to use SSL, that’s also implemented differently. When Oracle eventually kills java, I am sure no one will cry. But some people might cry because java is now open source, which means can be forked to infinity. What’s worse, there are far too many java like languages around already.
So CouchDB or Java? which one should you hate? I think Java