Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

18
  • 7
    I suggest reading this summary of the philosophical and strategical differences between functional and OOP styles, for a start. It begins to get at what I want to say, which is the less state you need to track, the better functional-style is; and conversely, the more state you need to track, the better OOP is. In general OOP helps you not blow your foot off as system complexity goes up. (this assumes a sane OOP system -- eg. like Python, unlike C++.) As complexity goes up, you do more stupid things, and the safety provided by OOP is more valuable. Commented May 19, 2013 at 7:02
  • 5
    OO is overrated. It just solved problems that needed to be solved when they needed to be solved. Then it became just too popular to be stopped. But it is not required to solve those problems and it is not the best in solving them. Commented May 19, 2013 at 8:11
  • 7
    @Euphoric, there are dozens of better approaches. OOP is pretty useless outside of a very narrow field (namely, agent-based simulations). OOP does not help fighting the complexity - modularity does. People too often give credits to OOP which in fact belong to modularity, a much more generic concept. Commented May 19, 2013 at 10:48
  • 5
    @Euphoric, as I said, there are dozens of models. You should not use a single approach for everything, you have to pick up the right one for each problem domain. A Language-Oriented Programming is a kind of a unifying approach, which allows you to choose the right methodology and the right semantics for each little sub-task. OOP is just one of the tiny tools in this huge model, barely useful. And no, you're wrong, all the "complexity"-related properties of OOP are nothing but modularity. And in OOP it is pathetic - compare it to, say, SML module system. Commented May 19, 2013 at 11:04
  • 1
    @MarcusJ It is Victor Maia, a common Brazilian name. You can hear it by typing "Vitor Maia" (mute "c") on Google translate for Portuguese (br). Commented Feb 1, 2018 at 18:52