F-22에 내장된 소프트웨어의 언어로 유명한 미국 국방부 공식 프로그래밍 언어 Aida인데요.

우리나라에서 개발된 병기의 제어에 사용되는 프로그램도 위의 Aida로 짜여졌는지 궁금합니다.

그리고 Aida는 3세대 프로그래밍 언어라고 하는데요.

F-35에 내장된 항전장비의 소프트웨어는 C++이라고 하는데요.

 Aida와 C++의 차이가 무엇인지 궁금합니다.

 부디 전문가분들의 지식이 필요합니다.

부탁드려요.





    



  • |
facebook twitter google plus pinterest kakao story band
미키맨틀 2020.02.28. 19:08

 그렇다면 왜 F-35에는 C++이 쓰였는지 궁금하네요.

Profile image 폴라리스 2020.02.28. 19:45

유지보수 측면이 강합니다. 극소수만 쓰는 언어로 짜여진 코드는 유지보수가 어렵죠.

Coral66 2020.03.01. 00:00

초기 군사용 프로그램 언어 jovial의 영국친구 coral 66입니다. :)

 

ada언어로 만들어진 프로그램들은 용도에 따라서 비밀이 될수도 있겠읍니다만,  ada 자체는 공개된 언어 입니다. 

 

한국에서 미국 코드 받아서 고쳐야 하는데, 그게 ada로 작성되어 있다면, 아주 당연하게도 그것을 쓸꺼라는게 확실하지요. 

 

============

제가 생각하는 이유

 

아시다시피, 프로그램들이 기능이 많아지면서 점점 길어지고, 당연히 관리가 어려워지면서,

이를 해결하기 위해서는 다수 인력으로 해결해야하는데, 아무래도 프로그램 전문가를 구하기가 어려울것입니다. 

Ada사용자 보다 C++ 사용자가 아주 많은것은 사실이니까요. 

 

더구나, 장치 제어에 대해서는 "제어"를 아는 전문가가 프로그램을 배우는게,  프로그램을 아는 사람이 "제어"를 공부하게 하는것 보다 훨씬 쉽습니다. 왜/어떻게 하는지 알면, 구현은 그나마 비교적 쉽습니다. 

 

대부분의 이공대에서 C, C++을 교육시키니까, 이미 거의 모든 제어 전문가는 C나 C++을 읽고 쓸줄 아니까 사람구하기 정말 좋을것 같읍니다. 

 

====

제가 생각하는 다른 관점에서 이유

 

이런일은 좀 복잡한게.. 군사용 언어 compiler도 일종의 군사적 사용에 무오류 인증 같은것을 받아야 합니다. 

 

ada compiler[실제 군사용 프로그램 작성에 사용하는 compiler]는 처음부터 인증을 고려 했고, 전세계에서 많이 쓰는 C++컴파일러는 당연히 무오류 인증받은게 있을테니까요.

 

concurrent가 잘되는 새로운 컴퓨터 언어-예 Golang, erlang등 - 라고 해도, compiler 인증이 안되면, 도입이 되기 힘듦니다. 

 

프로그램이 완벽해도, 컴파일한게 오류가 있으면 쓸수가 없으니까요.

 

compiler 인증 때문에 군사용으로 쓸수 있는 컴퓨터 언어의 선택 폭이 확 줄어 들게 됩니다. 

 

===

여기서 부터는 개인의견.

 

파이썬 + Labview가 미래 군용 프로그램 언어가 될 싹수가 커보입니다. 

 

과거/현재는 Ada + C++

 

옜날은 jovial + 어셈블러[T-T]

미키맨틀 2020.03.01. 06:48

답변해주셔서 감사드려요

Profile image 지나가는행인 2020.03.01. 18:22

마지막은 동의하기 어렵네요.

파이썬은 최적화의 문제와 인터프리터언어이고, 많은 무보수 일꾼들이 이끌어나가고 있지만, 그게 사용자의 다변화는 가능할 지라도, 개발자는 그렇게 많지는 않지요. 게다가 LabVIEW도 HP(Agilent)의 HP-VEE를 밀어낸건 사실이지만, 하드웨어 의존적인데다, 버전에 따라서 지원하지 못하는 경우도 허다해서 그 조합은 아니라고 생각합니다.

Coral66 2020.03.03. 16:59

제 개인 의견일 뿐입니다.  심각하게 받아들이실 필요 없읍니다. 

 

정확히는 Labview와 파이썬이 결합된 무었인가가, 미군의 눈에 든다면, 미래에 "돈"을 들여서 문제점을 해결하겠지요. 

 

제가 Labview 코딩을 시작한것은 1995년이었는데, 개념이 좋아서 많이 사용했읍니다.  높은신 분들에게는 정말 축약되서 간단하게 장비 동작 개념을 보여드릴수 있거든요. - 그 밑에 subvi 연결들 전선[!] 꼬인것은 죽을맛... - 

 

당시에도 windows버젼 뿐아니라, Mac용 버젼이 있었고[사실 labview는 Mac에서 시작했지요] 당시/지금도 다양한 플랬폼을 고민하는것을 들은적이 있읍니다. Labview를 한개의 칲 혹은 조그만 보드에 때려 넣는것도 있읍니다. 

 

또한 당시에는 labview가 지원하는 하드웨가 그렇게 많지 않아서, driver나 sub vi를 직접 만들었는데, .. 의외로 그렇게 난이도가 높지 않았읍니다. GPIB나 RS232등 통신 표준만 잘 지키면, [사실은 잘 안지켜도 난이도가 올라갈뿐..], text 처리를  빡시게 해서 그럭저럭 시스템 구축이 가능했읍니다. 

 

기본적으로 전체적으로 OS같은 것으로 concurrent는 Labview 비슷한게 돌고 [각 part들이 결합되기 좋읍니다. 독립 동작 test도 쉽고요], 중간 중간에 계산은 파이썬 스크립트를 써서 해결해 가면 많은 문제가 해결될것 같읍니다. [역시 개인 의견일뿐입니다.]

 

"돈"이 들여서 해결될 문제라면, 미군에게는 문제가 되지 않을것 같읍니다. 

 

Profile image 지나가는행인 2020.03.03. 20:59

안녕하세요?

저는 HP-VEE에서 LabVIEW로 갈아탔는데, 그게 하드웨어가 바뀌는 바람에 그렇게 됐습니다. 느려서 그렇지 저는 VEE가 사용하기가 더 좋더군요...

   기본적으로 전투기나 함정에 사용하는 OS계통은 젤중요한게 어떤 상황에서도 다운되면 안되는 건데, LabVIEW가 다운되는 것은 못 봤습니다 만, 뭔 버전을 갈아타면 자꾸 에러가 떠서 싫더라구요(뭐, 사실은 실력이 딸려서 그런것이구요ㅠㅠ). 계속 업버전 될이유가 새로운 하드웨어가 자꾸 나오니까 그런거 같기도 하고 장사할려고 그런것 같기도 하구요. 제가 보기엔 군용으로 쓰려면 LabVIEW가 제2의 Ada같은게 될수도 있지 않나 싶은데요(기본만 가지고 가고 새로운 언어로 바뀐다는 뜻입니다).

   저도 개인적인 생각입니다.

   즐거운 하루 되세요^^

밀리돔 | milidom 의 저작물은 이용약관에 의거해 이용 가능합니다.

이 라이선스의 범위 이외의 이용허락은 별도로 문의하시기 바랍니다.

글/댓글 작성 전 이용약관을 숙지는 의무사항입니다. 규정 미준수에 의한 책임은 온전히 작성자 본인에게 있습니다.