看板 Military作者 fuhrershih (fuhrershih)標題 [新聞] F-16V遭遇開發挑戰時間 Thu May 25 12:25:30 2023
原文來源:
聯合報
https://udn.com/news/story/10930/7189304
原文摘要:
台灣向美軍購F-16V(Blk70)遭遇開發挑戰延宕交機。國防部長邱國正今天表示,延宕的
主因是美方修正、改進飛行操控軟體,但民國115年66架全數交機沒有問題。
空軍代以代號「鳳翔專案」向美採購66架全新F-16V(Blk70)戰機。美國媒體彭博報導,
美國空軍發布聲明表示,因遭遇「複雜開發挑戰」,美國、台灣及洛克希德馬丁公司(Lo
ckheed Martin Corp.)正積極努力來緩解延誤。這份聲明點出過去未公開的技術問題,
但並未詳述內情;聲明提到:「我們將竭盡所能找出解決方案,以最快速度將這些飛機性
能完整地交付給我們的夥伴。」
國防部昨晚發布新聞稿表示,美方年初出廠的2架F-16V(Blk70)為原型測試機,主用途
為設計研發飛行操控軟體,其中1架為巴林訂購;台灣所軍購的F-16V(Blk70)因前述軟
體研發進度延遲,預計明年第3季出廠;同時,美國防部已成立高階專案督管,確保洛馬
公司於民國115年如期如質履約。
邱國正今天在立法院接受媒體訪問時指出,台灣對美軍購F-16V(Blk70)與現有F-16V(B
lk20)機型一樣,但內容(航電、雷達等)有所差別,目前美方正調整、改進原型機操控
軟體,但原則上,115年完成66架交機沒有問題。
邱國正並強調,當初出現延宕狀況時,國防部馬上與美方進一步磋商,並聯合編組專案小
組解決問題,目前溝通順利。
有關潛艦國造原型艦將在9月下水,邱國正指出,此時程經過評估,國防部樂見能儘早完
成,但立場很簡單,就是一定要安全,這也是大家共同的看法。
至於是否特別趕在總統蔡英文卸任前安排國造潛艦下水,邱國正強調,國軍建軍備戰有一
定程序,強調安全、可用,而不是好看,因此不會為了某個人而趕工、做為功績。
心得感想:
結果邱班長今天幫大家解惑,是美方的操控軟體沒寫好,巴林那架是原型機,發現問題後
影響後續機組裝進度,但是F-16V的飛行包絡線變動程度有大到需要讓飛行控制軟體做那
麼大幅度的改寫嗎?
注意事項:請注意版規內容。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.8.27.110 (臺灣)
※ 作者: fuhrershih 2023-05-25 12:25:30
※ 文章代碼(AID): #1aRkCzMp (Military)
※ 文章網址: https://www.ptt.cc/bbs/Military/M.1684988733.A.5B3.html
推 lionway: 硬件先生產,軟件後升級應該不是太大問題。理由看不懂1F 05/25 12:30
推 Tahuiyuan: 昨天不是已經有人提到台規的特規在哪了嗎XD3F 05/25 12:30
推 Sirctal: 軟體工程師大概被壓榨很慘QQ4F 05/25 12:31
推 b777300: 感覺是台版特規的問題...5F 05/25 12:33
→ jump2j: 跟美軍有差別是客製化還是有閹割?6F 05/25 12:35
推 ketter: 要加限制器嗎?解開限制器的時候要跟美國拿密碼?7F 05/25 12:39
推 Pegasus170: 洛馬在飛機上用的軟體不是一般我們常見的Java、Python、C#、Type Script。所以無法輕易從一般學校直接畢業就直接丟去寫程式。8F 05/25 12:39
推 demonlogy: 不就是embedded ,只是你要拿機密權限才能碰,哪有什麼特別12F 05/25 12:45
→ chyx741021: 巴林的首架原型機就是測新飛控軟體的,所以沒有什麼台版特規14F 05/25 12:46
→ fuhrershih: 還是說原來要付費解鎖的DLC不小心沒寫好直接大放送,被發現了只好叫程式設計師再改寫一邊......16F 05/25 12:47
推 demonlogy: 笑了,舉了一堆web-based,是覺得很懂程式嗎18F 05/25 12:47
推 Sirctal: 軍工業跟硬體比較相關的應該是 C/C++ 或是組合語言?19F 05/25 12:51
推 kastyshing: 需要在儀表板後面插一根解碼器才能展現全部的價值嗎?21F 05/25 13:00
→ loser1: 美國軍方用的語言不是 ADA 嗎?23F 05/25 13:03
→ iio: 欸 真的不要舉那些熱門流行語言 那些都是第四代語言ADA太老了 沒多少人會寫和維護了
如上面板友說的 現在美軍正在換成C++ 那也應該不是普通的C++ 可能是依照穩定的C++發行版本去作美軍特仕版 在規格上做了特別強化 編譯器應該也是自己寫商用C++其實很多模糊和天馬行空的部分 一堆undefine這應該不是美軍能接受的 直接拿商用C++來寫不太可能無法直接從學校找畢業生的原因是寫程式並不是敲敲鍵盤把英文字母送進終端機編譯這麼簡單而已 好比說24F 05/25 13:03
推 Pegasus170: Java不算是web-based的喔!那個JEE/J2EE規格就很奇特,更不要說甲骨文可以用JEE開發出ERP系統。33F 05/25 13:10
→ iio: 飛控軟體 沒有基本的氣動力常識根本寫不出code
美軍當然不可能用JAVA 是要被甲骨文吃死嗎35F 05/25 13:11
→ Pegasus170: 另外,說到後端系統,很多公司實際上會用更商業的如TIBCO、Ab Initio這些公司的產品。當然有些地方還會看到COBOL37F 05/25 13:13
→ iio: 美軍C++應該是98or03版去改 這兩版都有ISO Standar11也有 但是太新了 美軍有沒有這麼潮我是有點懷疑40F 05/25 13:14
→ Pegasus170: 現在的Java已經不是甲骨文可以獨拿的了。結果更亂…然後專案整合風險上升更多,如果一開始合約沒寫清楚,後面根其他光學元件整合時有得吵。
美軍有沒有那樣潮還好,是那些武器製造整合公司他們挑選怎樣的語言及函式庫。42F 05/25 13:15
→ iio: 換言之美軍應該還是用Classic C++而不是Modern C++47F 05/25 13:16
→ Pegasus170: 順帶一提,記得J2ME曾經用在藍光播放機科技上。48F 05/25 13:17
→ iio: 模組反而還好 溝通和傳輸介面定好 裡面用什麼語言並不重要 這點商界很常見 沒有人會在乎你用什麼語言寫49F 05/25 13:18
→ Pegasus170: 我記得他們還是用Classic C++,甚至還有特化函式庫的ANSI C。51F 05/25 13:19
→ iio: communication table定好 文件寫好就可以53F 05/25 13:19
→ Pegasus170: 是Java的記憶體管理方式…從8版某個批號JDK開始,開放原始碼Java的跟甲骨文獨家及IBM獨家的不同。54F 05/25 13:20
推 ckbling: 這類code就算寫完還要再過一次formal verification56F 05/25 13:22
→ Pegasus170: 同樣的LinkedList函式,各家Java跑起來記憶體管理極限就有差。57F 05/25 13:22
→ ckbling: 有些時候軍用軟體的邏輯冒出非預期的表現是會出大事的59F 05/25 13:22
→ iio: 函式庫那是小事 重點是美軍一定會有自己的編譯器和61F 05/25 13:22
→ iio: 基於98or03延伸的C++ spec63F 05/25 13:22
→ Pegasus170: 樓樓上
美軍當然有自己的,就是因為商用軟體實際上沒那樣落實無完美閉包管理那部分的演算。
軍用武器要是在無完美閉包管理上做到嚴格,後面甚至會死人的。
解放軍用甲骨文寫的ERP跟雲端,在我看來就是相當忽視未知意外的玩法。64F 05/25 13:22
→ iio: 解放軍又不在乎版權 甲骨文榨不出什麼油水wwwww
ERP這還好 飛控程式才比較需要擔心 用商用版本哪天不小心桶到一個沒有測試出來的undefine behavior
那就不是掉架飛機這麼簡單的事情了 整個機隊停飛71F 05/25 13:27
→ ckbling: formal verify很花時間的 解放軍根本管不了這麼多XD75F 05/25 13:29
推 Pegasus170: 是呀,拿ERP當軍隊業務/事物管理是風險小的部分了,不過這也說明了為何中國對世界各國國防科技竊取不遺餘力,因為中國很可能在看不到的武器系統/作戰系統上甚至還落後給俄羅斯。76F 05/25 13:33
→ iio: 樓上你這個比較像是coding guidline 這種大公司一般也都會有 為了管理和維護的方便 有時候甚至怎麼取變數名稱都有規定
我就是因為大括號堅持放下一行才進不了估狗(X81F 05/25 13:38
→ Erichartman: 對 我問過之前同事 也都是說C/C++跟組語 ADA也還有85F 05/25 13:40
推 Pegasus170: iio大,那個是洛馬某個時期的開發規範,不是簡單用一般大公司就可以說過去,
組合語言永遠不死^_^,因為要減低無完美閉包風險,最好還是要回到組合語言!86F 05/25 13:41
→ iio: 軟體公司也都會有開發規範 只是不一定像LM這麼龜毛軟體公司的開發規範比較偏向於維護 管理和測試端90F 05/25 13:45
→ Pegasus170: 至於程式寫作風格規範,過去是以ANSI風格為主,目前商用軟體跟一般公司是以谷歌風格為主。可以從起始大括號是否換行看出來(ANSI:換行,谷歌:不換行)92F 05/25 13:46
推 ylkuo: 感覺這批新的F16很厲害96F 05/25 13:47
→ Pegasus170: 我是偏好用ANSI風格,但是也習慣閱讀谷歌風格的程式碼。97F 05/25 13:47
→ iio: 估狗還沒一統天下前這兩者比例大概是一半一半
現在差不多可以用放括號的位置來判定人的年紀了....99F 05/25 13:48
→ Pegasus170: 說真的,很多谷歌的工程師似乎並不知道ANSI風格的歷史。
當然,我年過50啦!XD101F 05/25 13:49
→ iio: 果然能用大括號位置來判定年紀!!104F 05/25 13:55
推 aaarcane: 該不會ada改c++某些要real time的變成不是了吧XD105F 05/25 13:59
推 Pegasus170: 有些美國大學的機械系跟電機系還有在教Ada,
但是電腦科學系、資訊科學系已經很少看到Ada了。
Ada最有趣的地方是:永遠只有一個版本,只要新版本出來,所有使用單位都必須更新程式及編譯器。
而用於軍工產業上,武器、戰系、雷達、控制等方面,都必須是strong type。這點很多目前商用程式開發,特別是這幾年當紅的社交軟體開發團隊,都不是很喜歡這種低自由度的語言。106F 05/25 14:07
→ dz01h: Java coding style是不換行,c還是Java入門的差別吧114F 05/25 14:21
→ iio: 早期根本沒有在管大括號放哪 開心就好 真的有影響的是辜狗的coding guildline 一堆人當聖經在拜118F 05/25 14:37
推 wahaha99: 嘛 C++最賭爛的是GC吧 這種不高不低階語言 GC自己來121F 05/25 14:41
→ Pegasus170: 我大學跟研究所的時代除了某些跟洛馬合作的研究案,是沒人真的在管。122F 05/25 14:41
→ wahaha99: 沒做好 飛機飛到一半跟你說記憶體不足就笑死124F 05/25 14:41
→ Pegasus170: C++的GC真的很半吊子XD。特別是把C的pointer拿來用的時候。125F 05/25 14:43
推 wahaha99: 我覺得合理是用C啦 戰機需要OO幹什麼...127F 05/25 14:44
→ Pegasus170: 然後雷達後段資料處理就因為資料量過大而Kabooom128F 05/25 14:44
→ wahaha99: 只是要寫很多很多Code去防禦overflow攻擊?129F 05/25 14:44
→ iio: 戰機不需要OO 但團隊和管理維護需要......130F 05/25 14:44
→ wahaha99: (有沒有需要? 畢竟這年頭戰機都聯網了)131F 05/25 14:44
→ iio: OO會崛起不是沒有原因的133F 05/25 14:45
→ wahaha99: 其實應該學M$去寫Rust 我的感覺啦
C真的太老了 老到已經不算高階語言了134F 05/25 14:46
推 Pegasus170: C跟C++不同,一開始就是定位為中階語言。當年碩士班在教授研究室,為了C跟C++ struct的差異討論好久。136F 05/25 14:50
→ Pegasus170: 不是,因為主要使用者都不在高薪公司XDDDDD
洛馬打到頂16萬美金年薪,谷歌研究所畢業起跳12萬美金年薪^_^。140F 05/25 14:53
→ iio: 差異只有寫compiler的會在意吧 一般人就直接寫了
C在現在來說不是友善的入門語言 太硬了143F 05/25 14:56
→ Pegasus170: 雖然不友善,但是只要唸電機、機械、電腦/資訊工程、化工幾乎多少都要會。145F 05/25 14:59
→ haoboo: C還好吧,簡單樸實不花俏,C++才是真的硬147F 05/25 14:59
推 ctes940008: 有個在GG當過開發處長的教授程設是教C,另一個教授教Python。
商學院就只用R跟SAS那些簡單寫寫幾行。149F 05/25 15:06
推 Pegasus170: 樓上,還請加上Spring Boot^_^152F 05/25 15:17
推 skyhawkptt: C已經到跟組合語言一樣的歷史地位(驚)!原來現在程式流派還分ANSI跟Google寫法!用括號來判斷年紀(筆記)153F 05/25 15:35
推 askacis: 寫Embedded的FW就是C啊,Linux kernel主要是C
C++編出來的code太肥,錙銖必較的嵌入式不適合155F 05/25 16:36
推 skyhawkptt: 我一直以為Java/MFC編出來的code才比較肥158F 05/25 16:51
噓 deangood01: 某樓說啥GC 就是因為C++沒有GC 才能搞realtime系統159F 05/25 18:02
→ Stunts: 這你也信160F 05/25 18:03
→ deangood01: JAVA GC 對效能來說壓力太大了... 一般OS都沒有用JAVA寫了 何況戰機這種 飛控電腦等級的...
系統要高效 那些抽象成一定要拿掉 記憶體管理最好是直接操控pointer C++11 smart ptr 肯定不會用的這肯定是事搞系統 要搞kernel等級的 不是一邊大學生蝦寫的C++ memory stagementation fault 又
memory leak161F 05/25 18:04
→ wahaha99: 阿就是C++幾乎沒GC 我才會說啊 去用C++很怪
那些OO層的東西大概要砍掉大半才能用跟C有87%像168F 05/25 19:52
推 Pegasus170: 真要做細緻的系統管理,除了組合語言,再來還是C最直接明確。
Java基本上就是給一般伺服器端商業程式用(某種程度來說是用錢買時間),甚至跑單機版應用程式都不太適合。而且Java對開發人員素質比較不挑剔(因為再往上簡化就是TIBCO跟Ab Initio的世界了!)。170F 05/25 21:29
→ cppwu: 說Linux kernel是用C++寫的是不是有什麼誤會
C++禁用runtime的炫砲功能像dynamic binding後用起來和古典C沒兩樣176F 05/25 21:44
→ jatj: 一樓 硬件軟件是什麼?180F 05/26 10:06
推 HookWorm: 台灣沒人在說硬件軟件吧 好多中國人混進來182F 05/26 10:56
--