Các ngôn ngữ lập trình như vậy nổi tiếng nhất như C, C ++, Java, và C # -
được gọi là ngôn ngữ bắt buộc (hoặc thủ tục). Ngôn ngữ mệnh lệnh được
sử dụng để thực hiện các thuật toán được dựa trên trạng thái. Trong các ngôn ngữ, các
dòng chảy của thuật toán là rất quan trọng để hoạt động chính xác của nó, và nhà nước được thể hiện
với các biến và cấu trúc dữ liệu khác. Tất nhiên, chương trình nhà nước là có thể thay đổi,
như là các biến có thể được gán các giá trị khác nhau theo thời gian.
Với sự nhấn mạnh hiện hành về lập trình đồng thời và song song với
hệ thống đa lõi, đã có tập trung nhiều hơn vào lập trình chức năng
ngôn ngữ, mà theo một mô hình lập trình nhiều khác nhau từ
đó được cung cấp bởi ngôn ngữ bắt buộc. Sự khác biệt cơ bản giữa
ngôn ngữ mệnh lệnh và chức năng là ngôn ngữ chức năng không
duy trì trạng thái. Đó là, một khi một biến đã được định nghĩa và được gán một giá trị, nó
giá trị là không thay đổi, nó có thể không thay đổi. Bởi vì ngôn ngữ chức năng không cho phép
nhà nước có thể thay đổi, họ không cần phải được quan tâm với các vấn đề như điều kiện chủng tộc
và sự bế tắc. Về cơ bản, hầu hết các vấn đề được đề cập trong chương này là
không tồn tại trong ngôn ngữ chức năng.
Một số ngôn ngữ chức năng hiện nay được sử dụng, và chúng tôi một thời gian ngắn đề cập đến
hai của họ ở đây: Erlang và Scala. Các ngôn ngữ Erlang đã đạt được đáng kể
sự chú ý vì nó hỗ trợ đồng thời và dễ dàng mà nó
có thể được sử dụng để phát triển các ứng dụng chạy trên hệ thống song song. Scala là một
ngôn ngữ chức năng đó cũng hướng đối tượng. Trong thực tế, phần lớn các cú pháp của
Scala là tương tự như các ngôn ngữ hướng đối tượng phổ biến Java và C #. Độc giả
quan tâm trong Erlang và Scala, và biết thêm chi tiết về chức năng ngôn ngữ
nói chung, được khuyến khích tham khảo tài liệu tham khảo ở phần cuối của chương này
để tham khảo thêm.
đang được dịch, vui lòng đợi..
