Trích dẫn từ Wikipedia mà trích dẫn từ here:
Benjamin CuireKhách Pierce và một số nhà nghiên cứu khác xem như vô ích bất kỳ nỗ lực để chưng cất OOP đến một tập tối thiểu các tính năng.
Nhưng nhìn vào cố gắng vô ích riêng của họ:
- động văn - nếu bạn đối xử với một quá trình Erlang là một đối tượng, sau đó có, nó được hỗ trợ.
- Đóng gói - nếu bạn xử lý việc gửi/trả lời thư dưới dạng cuộc gọi phương thức, nó được hỗ trợ.
- Loại con polymorphism - loại - nếu bạn căng định nghĩa về hành vi đủ, nó được hỗ trợ
- đối tượng thừa kế (hoặc đoàn) - mà không có bất kỳ kiểm tra tính đúng đắn, bạn có thể thay thế một đối tượng cho người khác - vì vậy chúng ta hãy nói nó là ok
- Mở đệ quy - được hỗ trợ (gửi tới quy trình riêng)
Vì vậy, có - với một số khói và nhấp nháy, bạn có thể thử tuyên bố rằng Erlang là hướng đối tượng. Nhưng tôi có thể sử dụng các thủ thuật tương tự để trình bày C như một ngôn ngữ OO, bởi vì bạn có thể sử dụng phong cách OO trong nó và thực hiện vtables theo cách thủ công.
Câu trả lời của bất kỳ người sane nào nhìn vào Erlang có thể sẽ là "không" Erlang là ngôn ngữ định hướng thông điệp chức năng/thông điệp.
Câu trả lời khác có thể là "tại sao phải phân loại"/"ai cần biết"?
ông X không rõ ràng nói về OO cách Alan Kay nghĩa thuật ngữ, mà là khá ít lông tơ rằng những gì "OO" có nghĩa là ngày hôm nay. Rõ ràng C là _not_ OO theo nghĩa Kay, vì ngôn ngữ không có khái niệm truyền thông điệp. (Và tin nhắn đi qua không phải là lời kêu gọi phương pháp!) –