OOP is the only way in which I know how to work on large projects.
I like it because it allows abstracting complexity.
Which is all good till you're making a gui or some user facing software.
A huge pain in the ass when your functions take hours to complete and going through your hierarchy you discover the same calculation is being performed by three different classes for no reason.