reusable functions. This makes it easier to understand, test, and maintain code. Immutability: In functional programming, variables are immutable, meaning it cannot be changed once created. This eliminates the risk of unexpected side effects and makes programs more reliable and easier to reason about. Lazy Evaluation: It avoids repeated evaluation as value is evaluated and stored only when it’s needed.