Ngôn ngữ hội đang được sử dụng trong Hệ thống máy bay


9

Hôm nay giảng viên của tôi đã đề cập đến lý do tại sao hệ thống máy bay được lập trình bằng ngôn ngữ lắp ráp là do chương trình được viết có ít lỗi hơn. Câu nói này có đúng không? Bởi vì khi anh ấy hỏi về ý kiến ​​của chúng tôi, tôi đã nói rằng lắp ráp có thể tạo ra chương trình nhanh hơn do đó nó là ngôn ngữ tốt cho chương trình hệ thống máy bay định hướng thời gian thực. Tôi tìm kiếm trên google nhưng dường như không thể tìm thấy một bài viết làm rõ tuyên bố của giảng viên.


24
Hoặc bạn hiểu nhầm giảng viên của bạn hoặc giảng viên của bạn là một thằng ngốc.
Paul R

3
Bạn không muốn viết phần mềm điều khiển thiết bị quan trọng theo thời gian thực trong lắp ráp. Có nhiều ngôn ngữ tốt hơn dành cho cả phát triển phần mềm thời gian thực và phát triển phần mềm quan trọng.
một CVn

5
Chỉ cần tự hỏi về tuổi giảng viên của bạn. Dù sao, anh ta có thể chỉ cố gắng chỉ ra, (có vẻ như không thành công) rằng một số ngôn ngữ hiện đại, chẳng hạn như java, là ngoài giới hạn (java đã được phát âm trong giấy phép đi kèm, btw) cho nhiệm vụ liên quan đến máy bay ứng dụng -critical.
ZJR

1
@ZJR: Trên thực tế, AFAIK, nhà sản xuất UAV của Đức sử dụng Java cho hệ thống điều khiển chuyến bay. Có lẽ họ đã mua một giấy phép khác nhau?
Jörg W Mittag

1
@ JörgWMittag: một UAV có thể giết người bằng các phương pháp khác, nhưng 'U' có nghĩa là sự thất bại của điều khiển chuyến bay có nghĩa là nó không gây nguy hiểm ngay lập tức cho cuộc sống của con người. Giấy phép Java nói rằng nó không phù hợp với các hệ thống quan trọng, nhưng điều đó không ngăn cản bất kỳ ai đưa ra lựa chọn đó.
DaveE

Câu trả lời:


29

Tuyên bố của giảng viên của bạn là có thể sai. Các Joint Strike Fighter mã kiểm soát 's được viết bằng C ++. 777 từ Boeing sử dụng 99% + ADA . JPL sử dụng chủ yếu C để lái tàu vũ trụ.

Tôi chắc chắn có nhiều ví dụ hơn nhưng tôi nghi ngờ nhiều người là độc quyền hoặc được phân loại.

Dưới đây là một bài viết đi sâu vào một số chi tiết về chủ đề thử nghiệm phần mềm điện tử hàng không ở cấp độ tổng quát hơn.


Một số dự án của NASA cũng đã sử dụng một phương ngữ Lisp trong quá khứ. Một nhà sản xuất UAV của Đức thậm chí còn sử dụng Java.
Jörg W Mittag

Máy bay ném bom B2 gần đây đã được viết lại trong C. Nguồn: tech.slashdot.org/story/08/07/14/1934228/ Kẻ
user16764

Quay trở lại thời kỳ tăm tối (đầu những năm 1980), F-16A / B đã sử dụng ngôn ngữ lắp ráp cho Bộ quản lý cửa hàng và JOVIAL J3B cho Máy tính Firecontrol. F-16C / D đã sử dụng JOVIAL J73 cho mọi thứ trong vài khối đầu tiên và tôi tin rằng họ đã chuyển sang Ada trong những năm sau đó. Tôi không biết những gì họ đang sử dụng ngày hôm nay.
John R. Strohm

5

Tôi làm việc trên OBOGS, một thành phần được cắm vào nhiều máy bay khác nhau. Chúng tôi thường sử dụng C cho các thiết bị bay, nhưng xem qua các tệp lịch sử, có một vài dự án lắp ráp trong đó.

Đó là thời trang, trung thực. Ngôn ngữ lên xuống. Những lý do mọi người sử dụng một hoặc khác nhau ở khắp mọi nơi và chủ yếu là chủ quan. Tôi thấy hoàn toàn hợp lý khi một người nào đó lập luận rằng lắp ráp là lựa chọn đúng đắn cho một số dự án ở đâu đó hoàn toàn vì nó sẽ có ít lỗi hơn bất kỳ ngôn ngữ nào khác. Và anh ta có lẽ đúng, nhưng đó là vì anh chàng không biết cách viết mã bằng C đáng chết. Nói chung, ngôn ngữ tốt nhất cho công việc là ngôn ngữ bạn biết. (Và ngôn ngữ tốt nhất cho sự phát triển cá nhân của bạn là ngôn ngữ bạn không dùng.)

Bạn có thể nói một cách khách quan rằng lắp ráp gần với phần cứng hơn, ít trừu tượng hơn, trực tiếp hơn, với nhiều hướng dẫn hơn cho cùng một thứ trong các ngôn ngữ khác. Bạn thậm chí có thể nói rằng đó là khả năng lắp ráp có thể được viết ra để cắt bỏ chi phí và hút thuốc nhanh. Nếu bạn biết bạn đang làm gì. Nhưng đối với lỗi dễ bị, tốc độ phát triển, khả năng đọc và khả năng chữa ung thư? Tất cả điều đó phụ thuộc vào khả năng của lập trình viên và những gì họ đã làm việc trong 20 năm qua. Các phép đo trong đó các dự án mà ngôn ngữ có X lượng lỗi là đối tượng của các yếu tố xã hội học, phần lớn làm cho chúng trở thành các số liệu vô giá trị. Không, tất cả chỉ là quá nhiều thời trang.

Thật tốt khi biết mã của bạn nắm bắt được điều gì, vì vậy tôi sẽ nói rằng việc học lắp ráp là rất quan trọng. Nếu chỉ một chút. Nhưng tôi sẽ không viết bất kỳ hệ thống điện tử nào trong đó.


1
Cuối cùng, viết lắp ráp có nghĩa là tổng số mã máy ít hơn nếu bạn biết bạn đang làm gì và bạn biết khá chính xác mã máy kết quả sẽ trông như thế nào; bạn không cần phải tin tưởng một trình biên dịch để làm cho nó phù hợp với bạn.
Hawken
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.