Some links:
- https://caseymuratori.com/blog_0016
- http://blog.cleancoder.com/uncle-bob/2023/01/18/functional-classes.html
- https://www.youtube.com/watch?v=uZgbKrDEzAs
- https://www.destroyallsoftware.com/screencasts/catalog/functional-core-imperative-shell
I do feel like functional programming reached peak hype over 10 years ago. LtU barely seems to work at all anymore.
OOP is widely used for business applications (notwithstanding legacy COBOL systems) because object-oriented design generally is a good abstraction for business concepts. Perhaps Java is over-applied due to IBM for a long time thinking that they could replace COBOL with Java. Then along comes object-oriented COBOL.