Tôi đang tự hỏi sự khác biệt cụ thể trong thuật ngữ mà chúng tôi sử dụng để nhóm các phần liên quan của mã. Đôi khi tôi đã thấy các thuật ngữ được sử dụng thay thế cho nhau: nhiều ngôn ngữ OO thậm chí sử dụng từ khóa "hàm" để định nghĩa một phương thức. (Tại sao?)
Nếu bạn muốn chính xác, ý nghĩa cụ thể của mỗi là gì? Hay đó chỉ là bất cứ điều gì mà mỗi ngôn ngữ chọn để gọi nó?
Sub
là Function
không có giá trị trả về. Trong Python
bạn có thể có một hàm không phải là một phần của bất kỳ lớp nào, vì vậy nó không phải là một phương thức. Bạn cũng có thể khai báo các hàm trong các hàm và bạn cũng có thể làm điều đó trong C #. Đôi khi chúng có tên khác nhau cho cùng một lý do mà táo và dứa làm: bởi vì chúng khác nhau.
function
cho các phương thức là JavaScript và PHP. Cả hai đều sử dụng cùng một từ khóa cho các phương thức không (các hàm miễn phí) và trong trường hợp JavaScript thực sự không có sự phân biệt giữa các hàm và phương thức, ít nhất là không ở cấp độ ngôn ngữ.