오늘 강사는 항공기 시스템이 어셈블리 언어로 프로그래밍 된 이유는 프로그램 작성 오류가 적기 때문이라고 언급했습니다. 이 진술이 사실입니까? 그가 우리의 의견에 대해 물었을 때 나는 어셈블리가 더 빠른 프로그램을 만들 수 있다고 말했기 때문에 실시간 지향 항공기 시스템 프로그램에 좋은 언어라고 말했다. 나는 구글을 검색하지만 강사의 진술을 명확히하는 기사를 찾지 못하는 것 같습니다.
오늘 강사는 항공기 시스템이 어셈블리 언어로 프로그래밍 된 이유는 프로그램 작성 오류가 적기 때문이라고 언급했습니다. 이 진술이 사실입니까? 그가 우리의 의견에 대해 물었을 때 나는 어셈블리가 더 빠른 프로그램을 만들 수 있다고 말했기 때문에 실시간 지향 항공기 시스템 프로그램에 좋은 언어라고 말했다. 나는 구글을 검색하지만 강사의 진술을 명확히하는 기사를 찾지 못하는 것 같습니다.
답변:
강사의 진술이 틀린 것 같습니다. 공동 스트라이크 파이터 의 제어 코드는 C ++로 작성되었습니다. Boeing의 777은 99 % + ADA를 사용 합니다. JPL은 주로 C 를 사용 하여 우주선을 운전합니다.
나는 더 많은 예가 있다고 확신하지만 많은 사람들이 독점적이거나 분류 된 것으로 생각합니다.
다음은 항공 전자 소프트웨어를보다 일반적인 수준에서 테스트 하는 주제 에 대해 자세히 설명하는 문서입니다 .
다양한 항공기에 연결되는 구성 요소 인 OBOGS에서 작업하고 있습니다. 우리는 일반적으로 비행하는 장치에 C를 사용하지만 기록 파일을 살펴보면 몇 가지 어셈블리 프로젝트가 있습니다.
솔직히 패션입니다. 언어가 오르락 내리락 사람들이 하나 또는 다른 것을 사용하는 이유는 모든 곳에서 다양하며 대부분 주관적입니다. 어느 시점에서 누군가가 다른 언어에서보다 오류가 적기 때문에 어딘가에서 어떤 프로젝트에 대해 어셈블리가 올바른 선택이라고 주장하는 것이 완전히 그럴듯하다는 것을 알았습니다. 그리고 그는 아마 옳았지만, 그 사람은 C로 코딩하는 방법을 알지 못했기 때문입니다. 지금까지 직업에 가장 적합한 언어는 당신이 아는 언어입니다. (개인 성장에 가장 적합한 언어는 그렇지 않은 언어입니다.)
어셈블리가 하드웨어에 더 가깝고 덜 추상화되어 있으며 더 직접적이며 다른 언어로 동일한 것에 대한 지시가 더 많다고 객관적으로 말할 수 있습니다. 오버 헤드를 줄이고 빠르게 담배를 피우기 위해 어셈블리를 작성할 수있는 가능성이 있다고 말할 수도 있습니다. 당신이하고있는 일을 알고 있다면. 그러나 오류 발생 가능성, 개발 속도, 가독성 및 암 치료 능력은? 이 모든 것은 프로그래머의 능력과 지난 20 년간 일한 내용에 달려 있습니다. 어떤 언어의 프로젝트에 X 개의 버그가 있는지 측정하는 것은 사회 학적 요소에 영향을 받기 때문에 가치없는 지표가됩니다. 아니, 그것은 너무 많은 패션입니다.
코드가 무엇을 요약하는지 아는 것이 좋으므로 어셈블리를 배우는 것이 중요하다고 말할 것입니다. 조금만 그러나 나는 그것에 항공 전자 공학을 쓰지 않을 것입니다.