Nó phụ thuộc vào ngôn ngữ.
Ví dụ, trong các ngôn ngữ như C và C ++, bạn có một số được xây dựng trong các loại vô hướng - int
, float
, double
, char
, vv Đây là những "nguyên thủy" theo nghĩa là chúng không thể bị phân hủy thành các thành phần đơn giản hơn. Từ các loại cơ bản này, bạn có thể xác định các loại mới - loại con trỏ, kiểu mảng, kiểu cấu trúc, kiểu kết hợp, v.v.
Sau đó, bạn có một ngôn ngữ như Lisp trường học cũ, nơi mọi thứ đều là nguyên tử hoặc danh sách . Một lần nữa, theo định nghĩa trên, một nguyên tử là "nguyên thủy" theo nghĩa là nó không thể bị phân hủy thành một cái gì đó đơn giản hơn.
Biên tập
Theo như tôi quan tâm, các thuật ngữ "nguyên thủy", "cơ bản" và "tích hợp" có thể thay thế cho nhau. Tuy nhiên, nếu bạn muốn thực sự mang tính mô phạm, bạn có thể phân biệt giữa các loại "tích hợp" (những loại được cung cấp rõ ràng theo định nghĩa ngôn ngữ) và các loại có nguồn gốc từ các loại tích hợp vẫn còn "nguyên thủy" hoặc "cơ bản" trong đó chúng không thể bị phân hủy thành các yếu tố đơn giản hơn. Ctypedef
cơ sở cho phép bạn tạo tên loại mới cho các loại hiện có. Ada cho phép bạn tạo các loại vô hướng mới có các ràng buộc đối với chúng. Ví dụ: bạn có thể lấy ra một loại Latitude từ loại nổi tích hợp, với ràng buộc mà nó không thể đảm nhận các giá trị ngoài phạm vi [-90.0, 90.0]. Nó vẫn là một loại cơ bản hoặc cơ bản ở chỗ nó không thể được chia thành bất kỳ thành phần đơn giản nào, nhưng vì nó do người dùng định nghĩa, nó không được coi là loại "tích hợp".
Một lần nữa, những khái niệm này hơi mờ nhạt, và nó thực sự phụ thuộc vào bối cảnh. Ví dụ, khái niệm loại "tích hợp" là vô nghĩa đối với một ngôn ngữ không chữ như BLISS.