Hướng dẫn is python higher level than c? - python có cao hơn c không?

Cấp độ cao so với mức thấp không phải là một thứ đen trắng, mà là một quy mô liên tục. Các thuật ngữ được sử dụng để mô tả mức độ gần gũi của một ngôn ngữ lập trình với phần cứng; Cấp độ càng cao, nó càng trừu tượng hóa phần cứng.

Mức thấp nhất, rõ ràng, là mã máy nhị phân - đó là biểu diễn chính xác các hệ điều hành tải và cung cấp cho CPU. Lắp ráp là cấp độ trừu tượng đầu tiên được xây dựng trên đỉnh của nó: thay vì mã nhị phân, người ta viết mnemoics, mã tượng trưng có thể đọc được của con người đại diện cho các hướng dẫn máy nhị phân. Đây là những gì mọi người sử dụng cho lập trình hệ thống trước UNIX.

C là bước tiếp theo trong chuỗi trừu tượng, kết hợp các mẫu phổ biến thành các cấu trúc điều khiển dòng chảy và các hướng dẫn trừu tượng cụ thể vào cú pháp không chính thống nền tảng, và sự trừu tượng cuối cùng này là một trong những yếu tố chính khiến cho Unix cả cách mạng và rất thành công, bởi vì Điều đó có nghĩa là cùng một mã có thể được biên dịch cho bất kỳ nền tảng nào mà không có bất kỳ thay đổi lớn nào.

C ++ thêm một lớp trừu tượng khác: nó thêm các lớp [trừu tượng hóa VTables và bối cảnh chuyển vào cú pháp OOP], newdelete [phân bổ bộ nhớ gói và khởi tạo biến thành một cấu trúc đơn] -Time metaprogramming] và một loạt các tiện ích cú pháp thời gian biên dịch như không gian tên, chức năng và quá tải toán tử, v.v.

Python có một bước tiến lớn khác khỏi phần cứng. C ++ vẫn cung cấp cho lập trình viên toàn bộ kiểm soát phân bổ bộ nhớ và cho phép thao tác trực tiếp RAM; Python chăm sóc quản lý bộ nhớ cho bạn. Ngoài ra, thay vì biên dịch mã của bạn với các hướng dẫn máy hoàn toàn bản địa, nó chạy nó đối với một máy ảo; Điều này mang một hình phạt hiệu suất [đôi khi có thể rất nặng nề, nhưng thường không phải là điều gì phải lo lắng], nhưng nó cũng cho phép những thứ gọn gàng sẽ khó khăn trong C ++ và khó khăn trong C, chẳng hạn như các chức năng và các lớp hoạt động Thời gian, nhận tên của các đối tượng tùy ý trong thời gian chạy, các lớp khởi tạo theo tên lúc chạy, khóa khỉ, v.v.

Vì vậy, khi mọi người chia ngôn ngữ thành các ngôn ngữ "cấp cao" và "cấp thấp", họ vẽ một dòng tùy ý ở đâu đó, và dòng đó không phải lúc nào cũng giống nhau. Năm 1970, dòng này giữa hội đồng và C [trừu tượng hóa các hướng dẫn máy cụ thể của nền tảng là yếu tố quyết định]; Năm 1987, nó có thể đã ở đâu đó giữa C và C ++; Ngày nay, nó có thể nằm giữa C ++ và Java [với quản lý bộ nhớ tự động là yếu tố quyết định].

Câu chuyện dài ngắn: Tổ chức cấp cao là một thang trượt, và đối với ba ngôn ngữ bạn đề cập đến đó là C

Chủ Đề