Perhaps your experience with OO programming is atypical? A lot of my early work was centered around UIs which made heavy use of inheritance and mutation. Being a novice, my own work followed this pattern too. A lot of UIs still work this way. React has to explicitly spell out <https://facebook.github.io/react/docs/state-and-lifecycle.html#do-not-modify-state-directly> for you not to modify state directly.
In OO, mutation is very easy to do because of `this`. Even when you know better it requires a lot of discipline to do what you "should" do rather than what is easy. Kudos on you for having that, but it is certainly not a universal. On Thursday, July 20, 2017 at 2:55:54 AM UTC-5, Dave Ford wrote: > > There is a line from the docs that I am trying to understand: "Elm > encourages a strict separation of data and logic, and the ability to say > this is primarily used to break this separation. This is a systemic > problem in Object Oriented languages that Elm is purposely avoiding." > > What is the systemic problem being reference? Is it the [lack of] "separation > of data and logic" or "the ability to say this"? > > I have been programming in Java (an OO language) for a long time. I can > name dozens of systemic problems in the language. But the ability to say > "this" is not one of them. Nor is it the commingling of data and logic. > > Please help me to understand what the author is talking about. > > Thanks. > > Side note: "this" *is* a problem in JavaScript. But not in OO generally. > -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
