top | item 8514045

(no title)

artsrc | 11 years ago

ReST shows that a person can invent a technical term, write a long dissertation on what it means, clarify any ongoing misconceptions on the web, and have people use the word to mean whatever they like.

http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hyperte...

> REST APIs must be hypertext-driven

http://msdn.microsoft.com/en-us/library/jj819168.aspx

> Using the REST Services with .NET > In order to make use of JSON serialization in .NET

This is not new. Codd spent ages talking about why every relational database was not a relational database.

discuss

order

gracenotes|11 years ago

REST came to mind for me as well.

Let's assume there is a platonic ideal for REST, or for OOP. Just talking about REST over HTTP (methods, response codes, URIs) clouds that ideal, making it hard to learn about and even harder to talk about with other programmers. The same could be said about OOP with classes, structs, prototypes, etc... or as some of this article's quotes do, about OOP in Smalltalk. Over time you could look at this in terms of SCOT theory[1] and I think it would be fascinating. You could look at all of the marketing, conflict, and the effects of collective perspective shifts where things are considered "solved" but they aren't really.

My own opinion about the platonic ideal of OOP is close to Chapter 18 of Pierce's Types and Programming Languages, which suggests these attributes: 1. Multiple representation 2. Encapsulation 3. Subtyping 4. Inheritance 5. Open recursion.

To me the kernel of OOP is mainly just #1 and #2. If you don't have #3, you should have a damn good alternative. I don't attach #4 and #5 to the core definition but certainly the former should imply the latter. Another favorite is "On Understanding Data Abstraction, Revisited"[2], which contrasts objects and ADTs in a different framework.

[1] http://en.wikipedia.org/wiki/Social_construction_of_technolo... [2] http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf

_pmf_|11 years ago

It's sad that in the case of REST, this is not a minor deviation, but a major violation of core principles.