3 ms·
To me, the pain I've always had with OOP is the amount of things I need to keep in mind at a time when making a change, and also tracking side effects. That men
by adt2bt 7y ago
To me, the pain I've always had with OOP is the amount of things I need to keep in mind at a time when making a change, and also tracking side effects. That mental overhead takes me away from thinking about what my customer really wants with this feature, and slows me down.
- commandlinefan 7y ago> the amount of things I need to keep in mind Minimizing the number of things you have to keep track of when you make a change was specifically what OOP was designed for... what's the alternative? Procedural/structured programming is _way_ worse. I think FP is better, but it's so hard to do that I've never worked with anybody who hadn't given up on it before I had a chance to really tell.
- choiway 7y agoOut of curiosity, what did you find hard about it?
- commandlinefan 7y agoFunctional programming? I haven't honestly had a chance to use it long enough to find it hard: every time I've worked in a group that was even willing to give it a chance, everybody else gave up before I had a chance to make up my mind whether it was harder/easier than OOP. I personally kind of like the functional aspects of Java, Javascript and Python (although I still don't have the first clue what a "Monad" is). I've been working primarily in Java for the past 20 years, across four different companies, and as far as I can tell, most everybody gives up even on OOP, too: every system I've ever worked on that was written by somebody else was 90% static functions & static data, with a few "dumb object" data types just because that's what you get from JAXB.
- madhadron 7y ago> I still don't have the first clue what a "Monad" is This is the simplest way I have yet found to think about them: http://madhadron.com/posts/2013-12-05-email-about_monads.html http://madhadron.com/posts/2013-12-05-email-about_monads.htm...
- adt2bt 7y agoI feel like keeping in mind inheritance and what other classes do and look like is harder than remembering what a method does when chaining them together or currying for example.
- commandlinefan 7y agoAh, ok. That's what Paul Graham says, too: http://paulgraham.com/noop.html http://paulgraham.com/noop.html. I believe him (and you), but since everybody I've ever worked with gives up on FP before it has a chance to prove itself, I've never done anything large-scale with it.
- kjeetgill 7y agoI think part of the problem is that a ton of the benefits of FP happen in the "middle" of a lot of programs. If you need to read files, parse something, process flags, or write any output... It doesn't really make a world of difference.