Live data from Hacker News

What I'm Up to Now

martinfowler.com

91–100 of 142 posts

Re: What I'm Up to Now

#91

Martin, if you are reading this, here's something you could do: Revisit REST (and the Richardson Maturity Model[1]) and explain why REST has failed so spectacularly in the JSON API world. It's worth doing because REST-ful hypermedia systems are using an interesting and distinctive network model, and most younger web engineers don't know much about it and end up using the client-server approaches that have become so c…

REST is a model for CRUD, but modern apps have far more complex interactions with server data.

This is a category error. REST is a novel network architecture, the most distinct aspect of which is the uniform interface[1], and has nothing to do, conceptually, with CRUD apps.

It may be associated with web 1.0 CRUD apps, but the actual REST/hypermedia model generalizes and HTML, with a bit of help[2], can produce sophisticated UIs well beyond "CRUD".

--

[1] https://en.wikipedia.org/wiki/Representational_state_transfe...

[2] https://htmx.org/examples

Re: What I'm Up to Now

#92
post #89

Earlier quoted context omitted.

REST as Fowler advocated for is used approximately nowhere. The widely used thing known as REST is very unlike it.

Rather, perhaps people should take a look at the thoughts about REST from the researcher who wrote the original dissertation: https://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypert...

"I am getting frustrated by the number of people calling any HTTP-based interface a REST API. "

I am familiar with that feel.

Re: What I'm Up to Now

#93
post #2

Martin Fowler has been a big advocate of micro services. I think micro services has been one of the biggest mistakes ever promulgated on software development and is responsible for developer misery, un-productivity, failed projects, and unintelligible rats nests that have set back a generation of engineers who have to now unlearn all of this nonsense. I can’t take him seriously and he is forever tainted in my mind. H…

I’m surprised by this comment given I use this post by him to convince people to start with a monolith and only break down to microservices when actually needed. Agree it can be a huge pain if you do it before you need it. https://martinfowler.com/bliki/MonolithFirst.html

Re: What I'm Up to Now

#94

Martin, if you are reading this, here's something you could do: Revisit REST (and the Richardson Maturity Model[1]) and explain why REST has failed so spectacularly in the JSON API world. It's worth doing because REST-ful hypermedia systems are using an interesting and distinctive network model, and most younger web engineers don't know much about it and end up using the client-server approaches that have become so c…

REST is a model for CRUD, but modern apps have far more complex interactions with server data.

> REST is a model for CRUD

CRUD covers all possible interactions with data, and, in that sense, this description is correct.

“CRUD application” is sometimes used to refer to an application which presents only the most simple operations data operations to users, and saying REST is for CRUD applications in that sense would be the opposite of the truth. In fact, its the opposite, its a mechanism which facilitates creating applications of arbitrary complexity from components exposing simple, self-describing interfaces.

Re: What I'm Up to Now

#95
post #61

Probably not necessarily on topic - but I really want to say that this guy has been the #1 source of pain in my developer career so far. There've been so many projects where I had to implement some solution some way because the "architect" said "that's how Fowler recommends it, so that's how we're doing it", even if the solution was so bad that everyone saw it coming back to bite us from miles away. I read his books…

As is always the case, I feel the exact opposite. The #1 source of pain in my career is people not understanding that certain concepts / principles are really the key to surviving in a complex system. But, we probably don't build the same kinds of software. Shooting him down because he isn't talking about the kind of software you build is pretty ignorant.

I think the problem is people who aren't building these kinds of systems learn these "best practices" without the context and then you get frustration like OP, and you can often blame the people selling these approaches (I mean understandably they want to promote their work, no doubt it works in their scenario)

But I've seen this in every direction possible at this point :

- people talking about horizontal and vertical scaling, citing Google and Facebook research - on an unreleased MVP with 0 users

- people using the quick and dirty approach with stuff like RoR and then 5 years down the line getting stuck in an mess that's hard to reuse and hard to refactor and being unable to react to quick market changes fast enough

- people implementing a distributed lock system to synchronise some state - meanwhile the entire system is built on top of one DB instance and if the DB is down the system is down - so use the DB locking

.... so many "best practices" or "good approaches" without context

Re: What I'm Up to Now

#96
post #43

Martin, if you are reading this, here's something you could do: Revisit REST (and the Richardson Maturity Model[1]) and explain why REST has failed so spectacularly in the JSON API world. It's worth doing because REST-ful hypermedia systems are using an interesting and distinctive network model, and most younger web engineers don't know much about it and end up using the client-server approaches that have become so c…

> explain why REST has failed so spectacularly in the JSON API world Could you elaborate on this?

Mobile apps have high network latency and need multiple request/responses packaged into fewer server calls.

Re: What I'm Up to Now

#97

Earlier quoted context omitted.

REST as Fowler advocated for is used approximately nowhere. The widely used thing known as REST is very unlike it.

Everyone hates HATEOAS

I've only heard of HATEOAS from people loving it but not getting to 'do' it.

Re: What I'm Up to Now

#98
post #61

Probably not necessarily on topic - but I really want to say that this guy has been the #1 source of pain in my developer career so far. There've been so many projects where I had to implement some solution some way because the "architect" said "that's how Fowler recommends it, so that's how we're doing it", even if the solution was so bad that everyone saw it coming back to bite us from miles away. I read his books…

Everybody forgets that the Chrysler Comprehensive Compensation System project that spawned most of these guys was a massive disaster:

https://en.wikipedia.org/wiki/Chrysler_Comprehensive_Compens...

But, then, this just proves the business aphorism that, for your career, it is better to be part of a gigantic disaster than a modest success.

Re: What I'm Up to Now

#99
post #61

Probably not necessarily on topic - but I really want to say that this guy has been the #1 source of pain in my developer career so far. There've been so many projects where I had to implement some solution some way because the "architect" said "that's how Fowler recommends it, so that's how we're doing it", even if the solution was so bad that everyone saw it coming back to bite us from miles away. I read his books…

Just like Uncle Bob. I am dismayed by the fame of these two.

If you want to actually learn what they call "clean coding" (aka proper design, these guys are great at creating buzzwords, and great public speakers), the way to go is "Systematic Program Design" (in youtube [1], same material as edx's How To Code), which is based on the Htdp book ("how to design programs"), followed by MIT's OCW 6.005 [2] ("Software Construction").

Both are free. But who knows this? There is no one to hype them, no "movement" behind what are tried and trusted techniques, no flashy CQRS SOLID acronyms.

These two courses, instead, teach you timeless concepts and techniques that will survive all fads.

[1] https://youtube.com/channel/UC7dEjIUwSxSNcW4PqNRQW8w

[2] https://ocw.mit.edu/courses/electrical-engineering-and-compu...

Re: What I'm Up to Now

#100
post #61

Probably not necessarily on topic - but I really want to say that this guy has been the #1 source of pain in my developer career so far. There've been so many projects where I had to implement some solution some way because the "architect" said "that's how Fowler recommends it, so that's how we're doing it", even if the solution was so bad that everyone saw it coming back to bite us from miles away. I read his books…

Just like Uncle Bob. I am dismayed by the fame of these two. If you want to actually learn what they call "clean coding" (aka proper design, these guys are great at creating buzzwords, and great public speakers), the way to go is "Systematic Program Design" (in youtube [1], same material as edx's How To Code), which is based on the Htdp book ("how to design programs"), followed by MIT's OCW 6.005 [2] ("Software Const…

Thanks for the links! Wikipedia suggests the book intends to improve on SICP and is used at many universities other than MIT.
Post reply on HN