Những ngôn ngữ nào được sử dụng ngày nay để lập trình cấp thấp? [đóng cửa]


13

Khi tôi nghe lập trình cấp thấp, chẳng hạn như đối với trình điều khiển, hệ thống nhúng, hệ điều hành, v.v., tôi nghĩ ngay đến C và có lẽ là C ++. Nhưng chủ yếu là C.

Nhưng những ngôn ngữ khác cũng được sử dụng cho các loại nhiệm vụ này? Hôm nay, ý tôi là, không phải những gì đã được sử dụng.

Câu trả lời:


14

Thông thường lập trình cấp thấp như lập trình trình điều khiển là hỗn hợp của ngôn ngữ hợp ngữ và C.

Ngôn ngữ lắp ráp được sử dụng để nói chuyện với phần cứng và C được sử dụng để nói chuyện với kernel.


Ý tôi là ngôn ngữ ở cấp độ cao hơn lắp ráp, nhưng quan điểm của bạn vẫn còn hiệu lực, tất nhiên. =)
gablin

8
Phụ thuộc vào hệ điều hành, trên Windows hoặc Linux, không cần ngôn ngữ lắp ráp khi viết trình điều khiển. Bạn có thể truy cập phần cứng tốt với C.
Jim A

6
Thời gian duy nhất bạn thực sự làm việc với lắp ráp là khi xử lý các quirks kiến ​​trúc cụ thể, thường là khi làm việc trên một cái gì đó như trình quản lý bộ nhớ ảo. Các lập trình viên viết một trình điều khiển thiết bị, tuy nhiên, hiếm khi tiếp xúc với điều này. Họ sử dụng các cơ sở tồn tại.
Tim Post

8

Ada vẫn được sử dụng trong các hệ thống an toàn / nhiệm vụ quan trọng, vì nó vẫn cung cấp các tính năng an toàn tương đối tuyệt vời.

Bắt buộc phải sử dụng Ada cho đến cuối những năm 1990 trong DoD và một số lĩnh vực khác, nhưng không còn nữa, vì vậy không được sử dụng nhiều như trước đây. Nhưng nó vẫn có thể được tìm thấy trong các ứng dụng rất quan trọng, hệ thống điện tử, năng lượng hạt nhân, v.v.

Các phiên bản hiện đại có định hướng đối tượng và hỗ trợ tốt cho xử lý song song, do đó vẫn hoàn toàn hữu ích.


1
Tôi nghĩ rằng chúng tôi sẽ sử dụng Ada trong một trong những khóa học hệ thống nhúng mà tôi tham gia vào mùa xuân.
gablin

1
@gablin: Aye, nó thường được sử dụng trong các hệ thống nhúng, một lựa chọn khá tốt cho điều đó.
Orble

6

Tôi đã thực hiện một số nghiên cứu về lập trình 8 bit trước đây (liên quan đến sở thích; tôi muốn thử xây dựng một số thiết bị điện tử cơ bản). Khác với C và hội, các ngôn ngữ duy nhất tôi thấy được đề cập có lợi cho các nhiệm vụ này là Scheme và Forth.


+1 Vâng, xây dựng các thiết bị điện tử cơ bản sẽ sớm trở thành sở thích của tôi và tôi không thể chờ đợi để bắt đầu sử dụng cuốn sách Make: Electronics cho sở thích này
Anthony

3

Cython là một ví dụ. Không dành cho các hệ thống nhúng, nhưng đối với trình điều khiển và lập trình cấp thấp khác, nó được sử dụng ngày càng nhiều trong thế giới Python để thay thế C. Bạn nhận được cả Python được biên dịch, nhưng cũng có quyền truy cập cấp thấp và gợi ý gõ để tăng tốc.

Là một người cuồng Python, đó là những gì tôi sử dụng, mặc dù rất hiếm khi được thừa nhận và cho đến nay không phải trong bất kỳ bối cảnh nghiêm trọng nào.


1
Chưa bao giờ nghe về nó trước đây, nhưng cảm ơn cho sự giác ngộ. =)
gablin

("Nhiều hơn nữa" -> "nhiều hơn và nhiều hơn nữa")
Peter Mortensen

1
Tôi không nghĩ Cython thực sự phổ biến cho lập trình cấp thấp. Tôi cảm thấy như nó thường được sử dụng để tạo các hàm bao quanh C và C ++ để cấp quyền truy cập thấp hơn và truy cập vào các lib C hoặc C ++ điển hình.
tsturzl

Vì vậy, lập trình cấp thấp, sau đó. :-)
Lennart Regebro

2

Vâng, tôi đã làm một số công việc trên các hệ thống nhúng trong những năm qua bằng cách sử dụng C và Lua .

Kiểm tra eLua là tốt.

- EDIT: Ở Brazil, chúng tôi có một "công nghệ mới" cho TV kỹ thuật số, được gọi là Ginga . Đó thực sự là một tiêu chuẩn, nhưng trong tiêu chuẩn này, ngôn ngữ Lua được sử dụng như một nguồn ngôn ngữ nhúng. Một cái khác là Java.

Tôi đoán chúng ta cũng có thể trích dẫn Java, đối với một số hệ thống đặc biệt như JavaCards . Nếu đó không phải là các hệ thống nhúng, thì tôi không biết nhúng là gì ... :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.