Tôi đã đọc và suy nghĩ một chút công bằng về điều này. Buzz dường như là trong tương lai đa lõi, các ngôn ngữ chức năng sẽ trở nên phổ biến hơn. Tôi là một noob tương đối với lập trình chức năng. Tiếp xúc duy nhất của tôi là học tập, và không có gì phức tạp, đủ để thực sự đưa lớp ngôn ngữ này qua các bước của nó.Các ngôn ngữ chức năng vốn có song song hơn so với OO hoặc anh em họ bắt buộc của chúng?
Vì vậy, như tôi đã hiểu, các hàm thuần túy có thể được song song một cách dễ dàng và minh bạch. Đây là một tính năng tuyệt vời, vì nó có nghĩa là không có phức tạp với việc viết mã luồng. Tuy nhiên, nó không xuất hiện để giúp đỡ nhiều với mã nối tiếp.
Example:
fooN(... (foo3(foo2(foo1(0)))))
Cuộc gọi nối tiếp như thế này có vẻ là vấn đề phổ biến và đôi khi không thể tránh khỏi. Đối với tôi đây là những gốc rễ của việc tại sao song song là rất khó khăn. Một số nhiệm vụ chỉ đơn giản là (hoặc xuất hiện để được) cao nối tiếp. Có một "suy nghĩ chức năng" cho phép bạn phân hủy tốt hơn một số nhiệm vụ dường như nối tiếp? Có bất kỳ ngôn ngữ chức năng hiện có nào cung cấp các cơ chế minh bạch để song song tốt hơn mã nối tiếp cao không? Cuối cùng, các ngôn ngữ chức năng vốn có song song hơn so với các ngôn ngữ OO hoặc mệnh lệnh, và tại sao?
Các ngôn ngữ hoàn toàn chức năng (với mondas thích hợp) là chìa khóa cho tương lai. Và bạn không cần phải là một lập trình viên bất tử để vượt qua nó. Bạn chỉ cần tiếp cận vấn đề một chút khác biệt. – yfeldblum
Không đồng ý. Trạng thái biến đổi tồn tại trong một khoảng thời gian ngắn trong phạm vi nhỏ, chẳng hạn như các biến cục bộ cho một hàm, là một điều tốt bởi vì nó làm cho việc thực hiện các hàm dễ dàng và hiệu quả hơn. Khi nó trở thành vấn đề là cho những thứ như biến thành viên và toàn cầu. – dsimcha
Dễ dàng hơn là một thuật ngữ chủ quan. Tôi từng nghĩ như bạn đã làm, bây giờ tôi nghĩ ngược lại. Tôi đã đúng cả hai lần. – luqui