Hi CouchDB folks, In a controversy, there are always good and bad things happening. I would recommend getting rid of personal anger, and focus on CouchDB fantastic features that emerge from the discussion.
> When I think of CouchDB, I think about how it is “of the web” and has these > brilliant design document strategies that FORCE the user to efficiently > create side-effect free transformations of documents and views that work > nicely with proxies, etc. Before CouchDB, I never cared about the etag and > didn’t use all of the HTTP methods and return codes properly. I didn’t think > REST-fully. > Having a system that structures your code, prevents you from doing stupid > non-scaleable things, and forces you to think REST-fully is superior to just > winging it free-form in an anything-goes programming environment (unless > you’re awesome, but most of us are not). I would like to see more features > that FORCE web developers to create a proper RESTful webapp and reinforce the > original concept that CouchDB is a pure phenomenon of the web. I would second that. When I first adopted CouchDB in 2010, this was just to implement a REST service, and I was amazed how coherent this was (with all headers, status codes and even MapReduce as a way to get derived resources to reduce latency). Shows and lists helped me understand the distinction made by HTTP specification between a "resource" and a "representation", and therefore the (partial) obsolescence of 3-tier architectures when you have HTTP services (and hence the need to provide a default HTML+JS user interface along with your JSON API). By the way it would be great if it was easier to have the same URI for a document and a show (or a view and a list), since it is the same abstract "resource", and then to route the request towards a different script according to the `Accept` header. For all these reasons, I have used CouchDB in every research software I had to implement since. And I adopted CouchDB as THE ultimate tool to teach REST services to my students for several years. Long live CouchDB, Aurélien
