Hacker News new | past | comments | ask | show | jobs | submit login

> Everyone talks about it, but no one ever 'understands' it.

There are people who understand it to varying degrees. Some who completely understand it and some who don't understand it at all.

So no, it's not a buzzword, it's just a concept.

PS. Dropbox's API requires a lot of hardcoding because of that very switch. Hardcoding that HATEOAS lets you avoid.




"So no, it's not a buzzword, it's just a concept."

I think REST is quite clearly a buzzword. That doesn't mean it's not also a well defined concept; just that it's fashionable to use the term even when that concept doesn't apply very well.


With REST we cannot truly define a degree of understanding. Such a definition would assume that multiple people know and agree on what would be the full extent of that understanding. The problem with REST is not the different amount of knowledge that people possess, but the different ideas that they have about REST. Which is another way to say that REST is not really a well defined protocol. (Have you seen similar vague posts titled "What IMAP4 actually means"?)

Because it is not a well defined protocol, you cannot use the same client library to access random REST APIs. You use/write one library to access Twitter's REST and another to access Facebook's REST. You could argue that you use HTTP in both cases, but that's just the underlying transport protocol - not the API "language" itself. Because of that fact I blame REST for the millions of developers hours wasted in re-implementations of hundreds and thousands versions of the same "concept".

The REST "idea" sure looks sexy when you put it next to an atrocity like SOAP, but that's one of its very few merits.


> Because it is not a well defined protocol, you cannot use the same client library to access random REST APIs.

You misunderstand what REST is. It's not a protocol, it's an architectural style. Of course you can't build one client library to access arbitrary REST APIs – that's like complaining that you can't build an object-oriented library that can be used by any object-oriented language.

REST does, in fact, have a precise definition that is possible to understand and agree on. It's here:

https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arc...


Compare "quantum". Clearly a buzzword in many contexts, even though quantum physics is a legitimate thing.

I've had the "pleasure" of working with big European consortiums where REST is very much a buzzword. I quickly realized that people were using the term as a synonym for "HTTP" for the purpose of making grant proposals and deliverable reports sexier. It's definitely a buzzword!




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: