Hướng dẫn is c++ a high-level language - c ++ có phải là ngôn ngữ cấp cao không

Tôi sẽ trả lời với một câu hỏi khác: C ++ có phải là ngôn ngữ cấp cao không?

Đó không phải là: chính ngôn ngữ cung cấp cho bạn các lớp, quá tải toán tử và các mẫu. Đó chỉ là đường cú pháp xung quanh các cấu trúc, chức năng và macro. Ví dụ, LightBlue Brew là cầu nối không cao giữa bia (hướng đối tượng C) và C ++ vì Brew tình cờ tương thích nhị phân với C ++! The language itself gives you classes, operator overloading, and templates. That's just syntactic sugar around structs, functions, and macros. As an example, Lightblue BREW is a zero-overhead bridge between BREW (object-oriented C) and C++ because BREW happens to be binary-compatible with C++!

Cfront là "trình biên dịch" ban đầu cho C ++: nó được xử lý trước C. Trình biên dịch ban đầu cho Objective-C cũng chỉ là bộ tiền xử lý.

Đó là: Bạn có thể viết mã sử dụng các tính năng "cấp cao" (quản lý bộ nhớ, thu gom rác, biểu thức lambda, ...) mà không phải lo lắng về các chi tiết "cấp thấp" (quên miễn phí). Có rất nhiều thư viện C ++ ngoài kia (ví dụ: tăng). You can write code which uses "high-level" features (memory management, garbage collection, lambda expressions, ...) without worrying about "low level" details (forgetting to free). There are plenty of C++ libraries out there (e.g. Boost).

Nó hữu ích hơn nhiều khi phân loại một ngôn ngữ theo các tính năng mà nó có thay vì cho nó một số cấp cao. Lấy ví dụ, giải nén tiêu đề .bmp ("dib"):

  • C: Dễ dàng. Chỉ cần sử dụng một cấu trúc. Bạn có thể phải lo lắng về khả năng, đóng gói và tính di động đối với các kiến ​​trúc kỳ lạ.
  • C ++: Sử dụng một cấu trúc. Nếu bạn thông minh, các cấu trúc cũng có thể xử lý tính nội bộ và đóng gói theo cách chủ yếu là di động.
  • Java: Bạn phải tính toán độ lệch vào tiêu đề. Nếu đó là một mảng byte, bạn phải làm mặt nạ và tự đánh mình. (Nếu đó là bộ đệm NIO, bạn chỉ cần đặt phần nội tâm.)
  • Realbasic: Đó là một bộ nhớ. Bạn phải tự tính toán độ lệch vào tiêu đề. Bạn có thể phải lo lắng về khả năng của Endianness, tùy thuộc vào việc bạn có sử dụng plugin mở rộng MemoryBlock hay không.
  • Python: Chỉ import struct. Không có trường nào có tên mặc dù, vì vậy bạn phải theo dõi những thứ tự họ đang ở, vì vậy nó được đặt cược một chút so với việc tính toán độ lệch.

Ở đó, một vấn đề dễ dàng trong đó C ++ dường như là ngôn ngữ cấp cao nhất và C đứng thứ hai.

Tôi cũng sẽ lưu ý rằng sự tồn tại của các tính năng "cấp thấp" không tạo ra ngôn ngữ ở cấp độ thấp. Trong C#, bạn có thể viết mã "không được quản lý" và sử dụng số học con trỏ. Trong Python, bạn có thể gọi các hàm C hoặc C ++ và import objc để gọi Objective-C, mất tất cả các loại an toàn (Tôi làm điều này khi tôi viết một chương trình kiểm tra nhanh, vì nó dễ dàng hơn nhiều so với việc biên dịch và chạy lặp lại) .

Bên cạnh đó, con trỏ số học không cần phải ở mức thấp. Con trỏ thường được triển khai dưới dạng địa chỉ bộ nhớ và các tài liệu tham khảo C ++ thường được thực hiện dưới dạng con trỏ, nhưng không có lý do gì bạn không thể thay đổi triển khai cơ bản để làm cho các con trỏ được kiểm tra giới hạn hoặc thậm chí được kiểm tra loại.

Nó hoàn toàn phụ thuộc vào bối cảnh.

  • So với PHP, C là mức thấp;
  • So với lắp ráp x86, C là cấp cao;
  • So với các hướng dẫn tôi đã sử dụng để xây dựng vũ trụ này nơi bạn cư trú, C ở mức cao đến mức bạn hầu như không thể nhìn thấy nó.

Nó phụ thuộc vào người bạn đang nói chuyện và về những gì, về câu trả lời là gì. Tuy nhiên, C là một chút của một con thú độc đáo, bởi vì (như Mike đã chỉ ra trong các bình luận), đó là cấp thấp nhất của tất cả các ngôn ngữ lập trình độc lập với kiến ​​trúc chung, và đây là những ngôn ngữ mà bạn có thể gặp phải trong thực tế hiện đại. Vì vậy, trong thực tế, bạn có thể nghe thấy C được coi là "cấp thấp" trừ khi bạn đang nói chuyện với một người nghịch ngợm bit trong các sổ đăng ký với bàn ủi hàn để kiếm sống.

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    ĐọcHigh level language and low level language are the programming languages’s types.

    Bàn luậnhigh level language and low level language is that, Programmers can easily understand or interpret or compile the high level language in comparison of machine. On the other hand, Machine can easily understand the low level language in comparison of human beings.

    Cả ngôn ngữ cấp cao và ngôn ngữ cấp thấp đều là các loại ngôn ngữ lập trình.

    Sự khác biệt chính giữa ngôn ngữ cấp cao và ngôn ngữ cấp thấp là, các lập trình viên có thể dễ dàng hiểu hoặc giải thích hoặc biên dịch ngôn ngữ cấp cao so với máy. Mặt khác, máy có thể dễ dàng hiểu ngôn ngữ cấp thấp so với con người.

    S.NOVí dụ về các ngôn ngữ cấp cao là C, C ++, Java, Python, v.v.Hãy cùng xem sự khác biệt giữa các ngôn ngữ cấp cao và cấp thấp:
    1. Ngôn ngữ cấp caoNgôn ngữ cấp thấp
    2. Đó là ngôn ngữ thân thiện với lập trình viên.Nó là một ngôn ngữ thân thiện với máy.
    3. Ngôn ngữ cấp cao là ít bộ nhớ hiệu quả.Ngôn ngữ cấp thấp là bộ nhớ cao hiệu quả.
    4. Nó rất dễ hiểu.Nó là khó hiểu.
    5. Nó là đơn giản để gỡ lỗi.Nó là phức tạp để gỡ lỗi tương đối.
    6. Nó là đơn giản để duy trì.Nó là phức tạp để duy trì tương đối.
    7. Nó là di động.Nó là không thể thực hiện được.
    8. Nó có thể chạy trên bất kỳ nền tảng.Nó phụ thuộc vào máy.
    9. Nó cần trình biên dịch hoặc trình thông dịch để dịch.Nó cần trình biên dịch cho bản dịch.

    Là CA giữa hay cao

    C có các tính năng của cả hai ngôn ngữ cấp hội, tức là các ngôn ngữ cấp thấp và ngôn ngữ cấp cao hơn.Vì vậy, đó là lý do tại sao C thường được gọi là ngôn ngữ cấp trung.middle-level Language.

    C và C ++ cao

    C ++ vẫn được coi là ngôn ngữ cấp cao, nhưng với sự xuất hiện của các ngôn ngữ mới hơn (Java, C#, Ruby, v.v.), C ++ bắt đầu được nhóm với các ngôn ngữ cấp thấp hơn như C., but with the appearance of newer languages (Java, C#, Ruby etc...), C++ is beginning to be grouped with lower level languages like C.

    Ngôn ngữ C có cao không

    Các ngôn ngữ như vậy có hiệu quả thấp của bộ nhớ.Vì vậy, nó tiêu thụ nhiều bộ nhớ hơn các ngôn ngữ cấp thấp.Chúng được sử dụng rất rộng rãi và phổ biến trong thời đại ngày nay.Java, C, C ++, Python, v.v., là một vài ví dụ về các ngôn ngữ cấp cao.Java, C, C++, Python, etc., are a few examples of high-level languages.

    CA có phải là một ngôn ngữ cấp độ không?

    C được gọi là ngôn ngữ cấp trung vì nó thực sự liên kết khoảng cách giữa ngôn ngữ cấp máy và ngôn ngữ cấp cao.Người dùng có thể sử dụng ngôn ngữ C để thực hiện lập trình hệ thống (để viết các hệ điều hành) cũng như lập trình ứng dụng (để tạo các hệ thống thanh toán khách hàng theo hướng menu). because it actually binds the gap between a machine level language and high-level languages. A user can use c language to do System Programming (for writing operating systems) as well as Application Programming (for generating menu driven customer billing systems).