Các phí tổn và lợi ích của lập trình hướng đối tượng (tiếp tục)
Một nguyên nhân của vấn đề này là sử dụng của phát biểu gán để điều chỉnh dữ liệu. Một vài nhà khoa học
máy tính đã phát triển một phong cách lập trình cái phân phát với gán cùng với nhau. Cách tiếp cận hoàn
toàn khác biệt này, gọi là lập trình hàm, xem một chương trình như một tập các hàm phối hợp. Một
hàm theo nghĩa này là một chương trình phụ hạn chế cao. Mục đích duy nhất của nó là chuyển dạng dữ liệu
trong các đối số của nó thành dữ liệu khác, giá trị trả về của nó. Vì phép gán không tồn tại trong cách
tiếp cận này, các hàm thực hiện các tính toán bằng cách hoặc đánh giá các biểu thức hoặc gọi các hàm khác.
Chọn được xử lí bởi một biểu thức điều kiện, cái là giống như một phát biểu if-else cái trả về một giá
trị, và lặp được thực thi bởi recursion. Bằng cách hạn chế các hàm có thể sử dụng dữ liệu như thế nào, mô
hình đơn giản này của tính toán làm giảm mạnh phức tạp khái niệm của các chương trình. Tuy nhiên, một vài
tranh cãi rằng phong cách lập trình này không mô hình hóa thuận tiện các tình huống nơi các objects dữ
liệu phải thay đổi trạng thái của chúng.
