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

Reply via email to