OO … functions/procedures, no global variables, formal parameter passing.
And proper modeling of the problem.
Yup, that’s all there is to it — I used to do it in BBC BASIC in the 1980s before OOP was even invented!
Sure, built in class management is nice but it’s really just a data structure and one can create instances of those by creating variables and managing them by hand — again, what really matters is proper problem modeling and no global variables.
Functional programming OTOH … recursion, lambda, everything is just a symbol … now that’s powerful stuff — my brain has never been the same since I discovered LISP in 1988. :D