2 types of programming paradigms are object oriented programming and functional programming. Functional programming languages, like C, rely on the use of functions to perform tasks. Functions can be passed to other functions as arguments and can be returned by other functions as well. Object oriented programming languages, like Java, use units of data called objects that consist of attributes and functions. Objects of class can also inherit attributes and functions from parent classes.
A difference between these programming paradigms is the data that is used. Functional programming uses immutable data, meaning that the state of data is not changed. When a function returns data, it returns new data with a new value. With object oriented programming, data is mutable state, meaning that the value of data can be changed by a function and returned with its new value.
An object oriented approach to turning on an air conditioner in your home would require you to use a function of the AC object to change the current running status of the AC. The functional programming approach to turn on the AC would take the current status of the AC and return entirely new AC status.