Khác biệt giữa bản sửa đổi của “Kiểu mạnh và kiểu yếu”

Nội dung được xóa Nội dung được thêm vào
Cheers!-bot (thảo luận | đóng góp)
n clean up
KingPika (thảo luận | đóng góp)
nKhông có tóm lược sửa đổi
Dòng 32:
Kiểm tra kiểu động là thủ tục kiểm tra kiểu của giá trị trong quá trình chạy; kiểm tra kiểu tĩnh là thủ tục kiểm tra kiểu của giá trị trong lúc biên dịch.
 
Một số ngôn ngữ lập trình không kiểm tra kiểu tĩnh. Bằng nhữ ngôn ngữ đó, ta có thể dễ dàng viết các chuơngchương trình "khác thường" mà thủ tục kiểm tra kiểu tĩnh thông thường sẽ ngăn chặn. Ví dụ: một biến có thể lưu giá trị số lẫn logic "sai". Một số lập trình viên coi các ngôn ngữ này là "kiểu yếu", vì chúng ''có vẻ như'' không thi hành các biện pháp để đảm bảo tính nghiêm ngặt về kiểu có trong các ngôn ngữ có thủ tục kiểm tra kiểu tĩnh.
 
=== Kiểm tra kiểu tĩnh ===
Dòng 51:
* Một ngôn ngữ khác có thể chuyển "5" thành số, rồi cộng nó với số 6 tạo thành số 11.
* Một ngôn ngữ nọ lại có thể chuyển chuỗi "5" thành một con trỏ chỉ địa chỉ lưu chuỗi trong bộ nhớ, và cộng số 6 với địa chỉ đó, tạo thành một địa chỉ linh tinh.
* Một ngôn ngữ kia có thể sẽ không biên dịch chuơngchương trình này và thông báo rằng hai toán hạng có kiểu không tương thích.
 
Các ngôn ngữ hoạt động giống ba ví dụ đầu nhiều khi đều được gọi là "kiểu yếu", cho dù chỉ một trong ba, cụ thể là cái thứ ba, vi gây mất an toàn.