←back to thread

54 points tudorizer | 9 comments | | HN request time: 0.206s | source | bottom
Show context
oytis ◴[] No.44367106[source]
I don't get his argument, and if it wasn't Martin Fowler I would just dismiss it. He admits himself that it's not an abstraction over previous activity as it was with HLLs, but rather a new activity altogether - that is prompting LLMs for non-deterministic outputs.

Even if we assume there is value in it, why should it replace (even if in part) the previous activity of reliably making computers do exactly what we want?

replies(2): >>44403162 #>>44403847 #
kookamamie ◴[] No.44403847[source]
Funny, I dismiss the opinion based on the author in question.
replies(1): >>44403918 #
Insanity ◴[] No.44403918[source]
Serious question - why? I know of the author but don’t see a reason to value his opinion on this topic more or less because of this.

(Attaching too much value to the person instead of the argument is more of an ‘argument from authority’)

replies(1): >>44404170 #
1. kookamamie ◴[] No.44404170[source]
Let's just say I think a lot of damage was caused by their OOP evangelism back in the day.
replies(2): >>44404432 #>>44406920 #
2. diggan ◴[] No.44404432[source]
You don't think the damage was done by the people who religiously follow whatever loudmouths says? Those are the people I'd stop listening to, rather than ignoring what an educator says when sharing their perspective.

Don't get me wrong, I feel like Fowler is wrong about some things too, and wouldn't follow what he says as dogma, but I don't think I'd attribute companies going after the latest fad as his fault.

replies(2): >>44404971 #>>44406359 #
3. kookamamie ◴[] No.44404971[source]
Perhaps. Then again, advocating things like Singleton as anything beyond a gloriefied global variable is pretty high on my BS list.

An example: https://martinfowler.com/bliki/StaticSubstitution.html

replies(1): >>44405576 #
4. diggan ◴[] No.44405576{3}[source]
> gloriefied global variable is pretty high on my BS list

Say you have a test that is asserting the output of some code, and that code is using a global variable of some kind, how do you ensure you can have tests that are using different values for that global variable and it all works? You'd need to be able to change it during tests somehow.

Personally, I think a lot of the annoying parts of programming go away when you use a more expressive language (like Clojure), including this one. But for other languages, you might need to work around the limitations of the language and then approaches like using Singletons might make more sense.

At the same time, Fowlers perspective is pretty much always in the context of "I have this piece of already written code I need to make slightly better", obviously the easy way is to not have global variables in the first place, but when working with legacy code you do stumble upon one or three non-optimal conditions.

5. alganet ◴[] No.44406359[source]
You need to understand that Mr. Fowler works for a consultancy.

LLMs sound great for consultants. A messy hyped technology that you can charge to pretend to fix? Jackpot.

All things these consultancies eventually promote are learnings they had with their own clients.

The OOP patterns he described in the past likely came from observing real developers while being in this consultant role, and _trying_ to document how they overcame typical problems of the time.

I have a feeling that the real people with skin on the game (not consultants) that came up with that stuff would describe it in much simpler terms.

Similarly, it is likely that some of these posts are based on real experience but "consultancified" (made vague and more complex than it needs to be).

replies(1): >>44407367 #
6. Disposal8433 ◴[] No.44406920[source]
His Refactoring book was a good thing at the time. But it ends there, he should have tried to program instead of writing all the other books that made no sense.
7. dcminter ◴[] No.44407367{3}[source]
I'm a bit too lazy to check, but didn't he leave thoughtworks?

Apropos of nothing I saw him speak once at a corporate shindig and I didn't get the impression that he enjoyed it very much. Some of the engineering management were being super weird about him being a (very niche) famous person too...

replies(1): >>44408005 #
8. alganet ◴[] No.44408005{4}[source]
https://martinfowler.com/aboutMe.html

> [...] I work for Thoughtworks [...]

> [...] I don't come up with original ideas, but do a pretty good job of recognizing and packaging the ideas of others [...]

> [...] I see my main role as helping my colleagues to capture and promulgate what we've learned about software development to help our profession improve. We've always believed that this openness helps us find clients, recruit the best people, and help our clients succeed. [...]

So, we should read him as such. It's a consultant, trying to capture what successful teams do. Sometimes succeeding, sometimes failing.

replies(1): >>44412862 #
9. dcminter ◴[] No.44412862{5}[source]
Yeah, seems I was misremembering - looks like he just doesn't do talks any more.