Prompt to Output quality vary by a large amount between models IMO. The equivalent analogy would "lets switch programming language for this solved problem".
"Not that I would consider OOP a good way to do things in general" this statement doesn't make sense to me. My normal mental model for design in usually "Objects" with message passing. How is OOP bad in general?
With circuit design you have OR gates and AND gates and NOT gates. However you can program everything with only NAND gates because with that gate you can express all other gates.
Ultimately though using universal NAND gates is a convenience of manufacturing and not comprehension. Just imagine if we replace all of our Boolean operators with an equivalent NAND and then only use that. Probably not the most readable code.
OOP has one trick: dynamic dispatch. Which corresponds to logical existential operator.
You could also have product (structures ... depending on if you consider getters and setters proper OO then maybe it has this), sum (sum types and discriminated unions), implication (anon functions), and universal (generics).
Yeah technically you can simulate everything with dynamic dispatch but then you kind of end up with a mess.
Smalltalk OOP is good, I'd argue nowadays OOP in modern lingo is not objects and message passing anymore (call it actor model if you want to be understood) but C++ / Java classes.
Namely I would say:
- Inheritance: bad because adding layers makes it harder to understand what code is running - favor composition instead
- Encapsulation: bad because it encourages mutable internal state and couple functions with data - favor immutable state
Plenty of practices of doing good OOP are all about doing less OOP (eg. Avoid deep inheritance hierarchies).
Aren't inheritance, encapsulation concepts of OOP more than guiding principles "to be followed"? Understanding inheritance vs composition becomes the basis for anything OOP, as are with other concepts.
Inheritance is considered harmful nowadays even if you ask the most hardcore OOP folks.
That leaves us with composition, which isn't unique to OOP and eliminates one of the core "benefits" claimed by OOP proponents. (Object oriented thinking basically. Animal <- Cat, Dog, etc.)
Your argument (as many others) falls into the category of OOP minimalism. Basically, it says: "Do less OOP". That's part of the philosophy for years now. It shows that OOP is essentially self defeating as there will be nothing of it left after every new "best practice" has advised us to get rid of each single OOP concept.
ECH can be enabled depending on the Terminating TLS server used. (not sure which one implements it now)
But you are right in the sense its used for multiple sites to one IP.
Essentially ECH is protection for SNI, ALPN, which are plaintext in non-ECH.
Cloudflare sees it here because the TLS is closed at Cloudflare end. ECH main point is the prevent traffic snooping by ISPs. In India a lot of websites are blocked due to gov regulations. Those blocks are implemented via the inspection of the ClientHello packet to know which website are being accessed. Hopefully this will prevent such blocks.