Hacker News new | ask | show | jobs
by gclaramunt 4133 days ago
I think the blessing and the curse of OOP is that is actually pretty good for simulation (SIMULA got it right I guess :) ), so what you usually have is a program that's a simulation of a process. Even the standard OO modelling techniques encourage simulation of "real world" entities. But that direction doesn't lead to the most efficient,composable , or easy to reason abstractions. It doesn't help that the main abstraction mechanism in OO (superclass/subtyping) is problematic enough that even most people recommend moderation in its use.
1 comments

The actual big thing about computers (Turing Machines) is that they let us simulate things, including other computers. But, once we recognize the fact that some computers are “better” than others, we then realize that the amazing thing about computers is that they allow us simulate better computers, it's just hard to do so.

Thus, the blessing and curse of OOP, respectively, is that it’s ideal for building simulations (the actual point of computers), but also makes it really easy to simulate a worse computer on top of better ones. So, the real tragedy of “Enterprise” OOP is that it basically encourages programmers to first simulate lame computers (e.g. by building frameworks), and then write programs for them.