Ranh giới giữa một loại cơ bản và một đối tượng được làm mờ và thường được giới thiệu một cách giả tạo. Ví dụ, trong C, struct chỉ là một nhóm các bản ghi, chỉ là một loại phi đối tượng dẫn xuất. Trong C ++, struct là một lớp với tất cả các trường công khai, một đối tượng. Tuy nhiên, C ++ gần như hoàn toàn tương thích ngược với C ... đường viền thực sự mềm mại ở đây.
Để lập trình dựa trên nguyên mẫu, bạn cần có các đối tượng có thể thay đổi khi chạy. Chúng PHẢI được gõ mềm bởi vì mỗi thay đổi trong thời gian chạy, một lớp thuộc loại này thay đổi thành loại khác - loại của nó thay đổi.
Bạn có thể giữ các loại phi đối tượng cơ bản và dẫn xuất là tĩnh. Nhưng điều này giới thiệu một sự khác biệt kỳ lạ, các đối tượng được gõ mềm, các đối tượng không được gõ tĩnh và một barier cứng phải được thiết lập giữa hai. Bạn có thể biến hình một cấu trúc? Một chuỗi? Số nên là một lớp hoặc một loại cơ bản, hoặc một tập hợp các loại cơ bản, int / float / bignum / etc?
Nó chỉ là tự nhiên hơn và dễ học, sử dụng và viết để có đồng phục này, tất cả các loại đều có thể thay đổi hoặc không có loại nào có thể thay đổi khi chạy. Nếu bạn tuyên bố chỉ có một loại (Đối tượng) là có thể thay đổi, bạn sẽ bị đau đầu và các vấn đề của cả hai thế giới.
Gõ tĩnh là:
- dễ thực hiện hơn
- nhanh hơn / hiệu quả hơn
- an toàn hơn
- dễ dàng hơn để duy trì / tài liệu các hệ thống lớn do sự trừu tượng.
Gõ động là:
- viết nhanh hơn
- súc tích hơn
- ngôn ngữ dễ học hơn
- tha thứ nhiều hơn cho các lỗi thiết kế.
Bằng cách pha trộn cả hai, bạn hy sinh rất nhiều.
- Việc thực hiện trở nên khó khăn hơn bất kỳ hai điều trước.
- tốc độ phụ thuộc vào việc bạn có sử dụng các loại mềm hay không ... Nếu bạn làm thế, nó sẽ thấp, nếu bạn không, tại sao lại chọn ngôn ngữ?
- loại an toàn là ra khỏi cửa sổ cho tất cả các loại đối tượng.
- theo cách một kiểu biến hình thành một kiểu khác là một nhiệm vụ khá khó khăn. Tài liệu về nó - rất khó.
- Bạn vẫn cần phải thực hiện tất cả các sổ sách kế toán với các loại cơ bản, giúp giết chết sự đồng nhất và tốc độ viết
- Độ phức tạp của ngôn ngữ cao hơn (khó học hơn) so với bất kỳ ngôn ngữ "cụ thể" nào,
- "Tha thứ" cho một kiểu gõ động được thay thế bằng xu hướng một số lỗi rất khó hiểu ở các loại thuộc tính không khớp.