Nói chung, hãy sử dụng ngôn ngữ dễ dàng nhất để diễn đạt giải pháp cho một vấn đề. Đối với lập trình chức năng, đây là khi giải pháp cho một vấn đề dễ dàng được thể hiện dưới dạng các chức năng , do đó có tên. Nói chung nó tốt cho các phép toán, AI, khớp mẫu; nói chung là bất cứ điều gì có thể được chia nhỏ thành một tập hợp các quy tắc phải được áp dụng để có câu trả lời. Bạn chỉ có thể thực sự xác định ngôn ngữ "tốt nhất" để sử dụng sau khi bạn đã phân tích đầy đủ vấn đề của mình. Đây là lúc mã giả có ích. Nếu bạn thấy mình đang viết mã giả trông giống như FP, hãy sử dụng FP.
Tất nhiên, tất cả các ngôn ngữ lập trình hoàn chỉnh đều tương đương về mặt chức năng, vì vậy việc bạn chọn ngôn ngữ lập trình nào thực sự không quan trọng về vấn đề bạn có thể giải quyết. Các tác động chính sẽ là về hiệu quả và độ chính xác của mã hóa, và dễ bảo trì.
Cũng lưu ý rằng có thể bắt chước FP trong các ngôn ngữ OO thông qua các API được thiết kế thông minh. Ví dụ, tôi đã thấy nhiều thư viện Java (JMock là một ví dụ) sử dụng chuỗi phương thức để mô phỏng một FP DSL. Sau đó, bạn sẽ thấy các cấu trúc như:
logger.expects(once()).method("error")
.with( and(stringContains(action),stringContains(cause)) );
Về cơ bản, điều này xây dựng một chức năng được đánh giá để xác định xem một số chuỗi gọi trên một đối tượng giả có đúng hay không. (ví dụ bị đánh cắp từ http://www.jmock.org/yoga.html )
Một cú pháp giống FP khác trong các ngôn ngữ OO khác là việc sử dụng các bao đóng, chẳng hạn như trong Ruby.