JSF++を知ってるかい?
~軍事コンピュータのクオリティを貴方に~
鈴木 将輝
Profile
鈴木です!
こんなのが好き
・航空宇宙技術(特にコンピュータ)
・メーデー!:航空機事故の真実と真相
・シミュレータ
本業はSIerで働く、IT PRO系です。
コメントあれば
#dotnetlab
質問
JSFを知っている人
手を挙げて!
JSFとは
Joint Strike Fighter
統合打撃戦闘機
F-35 うちの環境よりキャプチャ
ちなみにロンドン・ヒースロー空港
えっ!?
皆さん「また飛行機か。」
ワイ「そうですが。」
前回LTでIoTも一応・・・
安心して
今回は
プログラムの話です。
軍事用システムで使われている言語 Ada
• Adaがよく使われている。
• 分散処理や多言語とのインターフェイスも定義されている。
C・FORTRAN・COBOL
• 仕様準拠か否かの検証プログラムキットが規定され、
合格しない処理系は「Adaコンパイラ」と称することができない。
厳密 The 厳密な処理系?
軍事用システムで使われている言語 Ada
• F-22といった軍用機だけでなく
B777なども電子系の組み込み
ソフトウエア開発で使っている
• MIL-STD-1815というミリタリー規格で
定義されている
• 1815は世界初のプログラマーとも言われる、
エイダ・ラブレスたんの生まれた年
※諸説あり
でも問題が
Adaは開発環境が衰退、開
発者がいないなど問題があっ
たそうな。
だがしかし・・・・まさかの事態が
F-35の開発計画では
C++が使われることに!!
どうするの?
Unsafety過ぎるよね
各国で共同で開発するのに
取りまとめどうするの?
そこで決まったのが
C++コーディング規約
「JSF++」だ!
なんと誰でも入手可能
軍事機密ではなくオープン
ストラウストラップ御大の
サイトでも入手可能
※規約のレビューアらしい
入手しよう!
ググレば Bingすれば直ぐPDFがでてくる
私は思った
•さだまさし「関白宣言」みたい
•当たり前のことが書いてある
•開発系英語ドキュメントを読む
練習に最適
こう書かれている
訳「これ読んで航空機もそれ以外の
乗り物もこれでソフト書いちゃえ。」
こんな感じ その1
訳「200行以上の関数作るな。」
訳「自己修正するコード使うな。
コードから読めなくなるから。」
訳「循環的複雑度は20かそれ以下にしろ。」
こんな感じ その2
訳「switch文では、
ラベルでまとめて流しても
いいよ。でもBreakは必
ずつけてね。
C/C++は下まで流れて
行ってしまうから」
まとめ
新人教育や英語ドキュメントの
リーディング訓練にちょうど良いかも。
なのでC/C++での開発関係者
読んでみて!
自社ルール策定のベースにも使える?
おまけ ~ .NETネタで閉めてみる ~
Ada for .NETを作ろうとしてた人がいるみたい。

JSF++って何