请回答以下问题，并确保您的回答中包含两个比喻。函数式编程相较于面向对象编程有哪几个显著特点？
user
函数式编程与面向对象编程相比，如同琴键与画布，各自有着不同的表达方式。函数式编程强调的是计算的过程就像是琴键上的舞蹈，每一个函数调用就像是琴键上默契的跃动，纯净且有序；而面向对象编程则更像是在画布上构建一个复杂的世界，对象与对象之间的交互构成了丰富多彩的画面。函数式编程的关键特点体现在不可变性、纯函数的应用以及对递归和高阶函数的支持，这几点就像演奏乐曲时的音色、节奏和旋律，共同构成了其独特的魅力。
assistant