Tôi hài lòng với câu trả lời của Adrej, nhưng tôi muốn đi sâu hơn.
Để bắt đầu, ngữ nghĩa học biểu thị muốn nói một cái gì đó như "ý nghĩa của ký hiệu này là". Một nhà ngữ nghĩa học thực sự sẽ muốn tưởng tượng rằng các ý nghĩa là những gì tồn tại trong tâm trí của chúng ta và các ký hiệu chỉ là một cách để thể hiện những ý nghĩa đó. Yêu cầu rằng ngữ nghĩa học nên được cấu thành theo sau này. Nếu các ý nghĩa là chính và các ký hiệu phụ, thì chúng ta không có lựa chọn nào khác ngoài việc định nghĩa các ý nghĩa của các ký hiệu lớn hơn là các chức năng của ý nghĩa của các thành phần của chúng.
Nếu chúng ta chấp nhận quan điểm này thì một ngữ nghĩa biểu thị tốt cần phải nắm bắt được ý nghĩa mà chúng ta cho rằng chúng ta có trong tâm trí. Bất kỳ ngữ nghĩa thành phần nào sẽ không nhất thiết phải phù hợp với dự luật. Nếu tôi đưa ra một định nghĩa ngữ nghĩa thành phần và không ai đồng ý rằng nó nêu bất kỳ ý nghĩa nào họ có trong đầu, thì nó sẽ ít được sử dụng. Trò chơi ngữ nghĩa hiện nay là trong tình huống này. Đó là một định nghĩa thành phần và kỹ thuật khá mạnh mẽ, nhưng rất ít người đồng ý rằng nó có liên quan đến ý nghĩa của chúng trong tâm trí.
Điều đó nói rằng, bất kỳ định nghĩa thành phần có lợi thế kỹ thuật khác nhau. Chúng ta có thể sử dụng nó để xác minh các tính tương đương hoặc các thuộc tính khác bằng cách cảm ứng theo cú pháp của các thuật ngữ. Chúng ta có thể sử dụng nó để xác minh tính đúng đắn của các hệ thống bằng chứng, một lần nữa bằng cách cảm ứng theo cú pháp của các thuật ngữ. Chúng tôi có thể xác minh tính chính xác của trình biên dịch hoặc kỹ thuật phân tích chương trình (mà theo bản chất của chúng được xác định bằng cảm ứng theo cú pháp). Một định nghĩa ngữ nghĩa đầy đủ trừu tượng thậm chí còn có nhiều lợi thế kỹ thuật hơn. Bạn có thể sử dụng nó để chỉ ra rằng hai chương trình không tương đương, mà bạn không thể làm với bất kỳ ngữ nghĩa thành phần tùy ý. Một định nghĩa ngữ nghĩa hoàn toàn có thể xác định thậm chí còn tốt hơn. Ở đây, các miền ngữ nghĩa có chính xác những gì bạn có thể diễn đạt bằng ngôn ngữ lập trình (với một số điều khoản). Vì vậy, bạn có thể liệt kê các giá trị trong các miền để xem những giá trị nào có, điều này sẽ khó thực hiện với các ký hiệu cú pháp. Trên tất cả các căn cứ, ngữ nghĩa trò chơi điểm số rực rỡ.
Tuy nhiên, các định nghĩa ngữ nghĩa thành phần đã mất dần lợi thế trong những năm qua. Robin Milner và Andy Pitts đã phát triển một số kỹ thuật " lý luận vận hành ", hoạt động hoàn toàn dựa trên cú pháp nhưng sử dụng ngữ nghĩa hoạt động bất cứ khi nào cần để nói về hành vi. Những kỹ thuật lý luận hoạt động là công nghệ thấp. Không có toán học ưa thích. Không có đối tượng vô hạn. Chúng tôi có thể dạy chúng cho sinh viên đại học và bất cứ ai cũng có thể sử dụng chúng. Vì vậy, nhiều người đặt câu hỏi tại sao chúng ta cần ngữ nghĩa học hàm ý cả. (Martin Berger có lẽ ở trong trại này.)
Cá nhân tôi không có vấn đề gì với việc có nhiều công cụ trong hộp công cụ của mình. Kỹ thuật khử nhiễu có thể ghi điểm tốt hơn đối với một số vấn đề và kỹ thuật vận hành cho những người khác. Các nhà nghiên cứu phát triển lý thuyết có thể được điều chỉnh tốt hơn theo cách này hay cách khác. Khá thường xuyên, chúng ta có thể phát triển những hiểu biết trong một cách tiếp cận và chuyển những hiểu biết đó sang cách tiếp cận khác. . nghĩ rằng điều đó là có thể. "Logic tách biệt cũng đang diễn ra theo cách này. Steve Brookes đã đưa ra một bằng chứng âm thanh dài 60 trang cho Logic phân tách đồng thời bằng cách sử dụng ngữ nghĩa học biểu thị.
Các cách tiếp cận hoạt động cũng ghi điểm tuyệt vời khi các ngôn ngữ lập trình trở nên rất lạ mắt, với tất cả các loại hình thứ tự cao hơn. Chúng ta có thể không biết làm thế nào để mô hình hóa những thứ như vậy về mặt toán học. Hoặc, các mô hình toán học tiêu chuẩn có thể trở nên không nhất quán dưới sự căng thẳng của vòng lặp. (Ví dụ, xem "Đa hình không phải là lý thuyết tập hợp" của Reynold.) Các phương pháp hoạt động hoàn toàn dựa trên cú pháp có thể gọn gàng bước tất cả các vấn đề toán học này.
Một cách tiếp cận khác là trung gian giữa cách tiếp cận vận hành và biểu thị là khả năng thực hiện . Thay vì làm việc với các thuật ngữ cú pháp như trong các phương pháp hoạt động, chúng tôi thực hiện một phần biểu thị bằng cách sử dụng một số dạng đại diện toán học khác. Các đại diện này có thể không đủ điều kiện là "ý nghĩa" biểu thị thực sự nhưng ít nhất họ sẽ trừu tượng hơn một chút so với thuật ngữ cú pháp. Ví dụ, đối với phép tính lambda đa hình, trước tiên chúng ta có thể đưa ra ý nghĩa cho các thuật ngữ chưa được đánh dấu (trong một số mô hình của phép tính lambda chưa được đánh dấu) và sau đó sử dụng chúng làm đại diện ('người thực hiện') để thực hiện một số dạng "lý luận vận hành" một chút mức độ trừu tượng hơn.
Vì vậy, hãy để có một số cạnh tranh lành mạnh giữa các phương pháp tiếp cận biểu thị, hoạt động và khả năng thực hiện. Không có hại.
Mặt khác, cũng có thể có một số cạnh tranh "không lành mạnh" đang phát triển giữa các phương pháp khác nhau. Những người làm việc với một cách tiếp cận có thể được kết hợp chặt chẽ với nó đến mức họ có thể không nhìn thấy điểm của các phương pháp khác. Lý tưởng nhất là tất cả chúng ta nên nhận thức được điểm mạnh và điểm yếu của các phương pháp khác nhau và phát triển thái độ khoa học đối với chúng ngay cả khi chúng không phải là mục yêu thích cá nhân của chúng ta.