AGM-84魚叉反艦飛彈
AGM-84魚叉（Harpoon）反艦飛彈是由美国麥克唐納-道格拉斯公司开发的反舰导弹，在1979年装备部队使用，也是美國海空軍現役最主要的反艦武器，可以自飛機，各類水面軍艦以及潛艇上發射。此外，美國海軍利用魚叉飛彈開發出"遠程陸上攻擊型導彈"（SLAM：Stand-off Land Attack Missile）。在美國三軍通用編號當中，為空射型，RGM-84為艦射型，UGM-84則是水下潛艇發射型，但是他們的基本結構都是相同的。
在鱼叉飛彈開發前，美國海軍已經有可空射的AGM-12飛彈，1965年由推動研發的魚叉飛彈是一種空射、主要設定目標是潛艦，計畫射程45公里；美國海軍在1960年代初尚無認真地思考艦載反艦飛彈的需求，當時核子武器可以將大部分的威脅給解決掉。直到1967年第三次中东战争中，埃及用俄製冥河飛彈击沉了以色列的，美國海軍才意識到反艦飛彈對水面艦的威脅，並成立團隊評估艦載反艦飛彈的需求。在美國海軍作戰部長上將推動下，鱼叉飛彈在1968年開始方案論證，1970年11月确定開發計劃，1971年1月發出需求建議書（RFP），有5家廠商在1968年起即注意到美國海軍的需求，在1971年1月投標競爭。至1971年5月，美軍將廠商篩選至最後兩家：麥克唐納－道格拉斯飛機公司、通用動力公司。
1971年6月，美軍選擇了麦道公司为主承包商，進入工程发展階段，工程開發合約為期2年，合約金額為6,600萬美元，隨後追加了1.1億美元用於原型彈的產製與實彈實驗經費。至服役階段前，魚叉飛彈的開發經費總額共3.823億美元。
魚叉飛彈发展计划分为武器系统的设计、研制和使用鉴定试验3个阶段。计划中共用样本飞弹102枚，其中设计用的有32枚，研制用的有40枚，用于鉴定试验有30枚；其中80枚為配備尋標器及控制系统的版本，僅有10枚為裝上戰鬥段的全功能實彈。
首批原型彈1972年10月17日試射，原型彈由P-3巡邏機搭載，飛彈由固態火箭發動機提供動力，不過在後續技術需求上射程加倍至90公里，麥道因此放棄火箭推進，決定以渦輪噴射發動機作為飛彈動力。魚叉飛彈的動力測試直至1977年3月才试验结束，共发射样本飞弹40枚；至1974年起魚叉飛彈的主動尋標器開始進行測試。1975年7月投入首批生产，同年12月完成研制，在1977年7月开始进入美国海军水面艦艇服役，空射型魚叉飛彈在1979年服役，配備至P-3巡邏機上；潛射型魚叉飛彈則到1981年才完成研發服役。
艦射型魚叉飛彈絕大部分都裝設在上，但某些缺少放置發射架空間的艦種也可以使用Mk 13型飛彈發射器或MK-16反潛火箭發射器投射，如派里級跟諾克斯級。至今仍不相容Mark 41垂直發射系統。
中华民国空军的F-16 Block 20是全世界F-16族系中第一款整合魚叉飛彈做為主力反艦武器的型號。
魚叉飛彈設計的設計是一具圓柱形彈體搭配四片主翼與尾翼，除了空射型的主翼為固定結構，艦射與潛射型魚叉飛彈採用折疊型主翼。主要分成四個結構：尋標器、導航電腦、彈頭、引擎與油箱。
初期型魚叉飛彈主動尋標器型號為AN／DSQ-28（PR-53），它是德州儀器開發（該部門現為雷神公司所屬），為一款操作頻率的二維雷達，可在飛行方向45度角區域內進行搜索，由於魚叉飛彈原始設計為攻擊上浮的潛艦，對小型目標的尋獲鎖定功能不差，對現代驅逐艦搜索距離最遠可達40公里，一般可搜索距離也有18公里。
導航電腦代號AN／DSQ-44，為IBM公司的16位元計算機，雷達高度計代號AN/APN-194，為漢威聯合製造。DSQ-44並無使用慣性導航系統，而是運用可測定三軸空間的姿態參照系統（Attitude Reference Assembly，ATA），ATA導航準確度雖差於慣性導航，但是對配備主動尋標器的魚叉飛彈來說是一個可以容忍的設計權衡。至2000年代後，魚叉Block II之後的新型號導航段引入聯合直接攻擊彈藥的導航設備，具有所謂「沿岸目標壓制模式」（Coastal Target Suppression Mode），亦即對沿岸、港灣内，甚至陸上目標的攻擊能力，在準確度與可調整的導航點都大幅精進。魚叉飛彈彈頭制式編號WDU-18／B，長90公分，重211公斤，為半穿甲高爆彈設計；陸攻型的彈頭更換為WDU-40／B，重360公斤。
魚叉飛彈的動力為J402渦輪噴射發動機，推力2.92仟牛頓（660磅），可在啟動後7秒提供最大額度推力輸出。初期版本的魚叉飛彈油箱容量為45公斤的JP-6航空煤油，可提供J402發動機15分鐘運轉的燃料。飛彈的加力器為固態火箭，代號A／B44G-2，燃燒時間2.9秒，輸出推力5,400公斤，在大約離陸340公尺高度時會燃燒完畢拋棄，並靠其動能讓魚叉飛彈推送至430公尺高度使噴射發動機啟動。
魚叉飛彈的先導量產從1975年開始，第一批量產總經費39.096億美元，共生產原型彈84枚、量產彈3,929枚。至1976年產出316枚飛彈。1983年訂購了2,100枚飛彈。飛彈在1983年8月解繳第1,000枚量產型，1988年時，麥道以每個月近50枚的速度全速量產，並交付了4,023枚飛彈，單價97.4萬美元。至1992年4月冷戰剛結束時，魚叉飛彈已經量產了5,800餘枚，其中有2,400餘枚為出口。美軍在1992年後停止購買反艦型魚叉飛彈，所有型號的採購總數將近4,000枚，其中有1,000枚為潛射型的UGM-84。
魚叉飛彈在冷戰後逐漸縮小生產線，並以提供外銷為主要任務。1998年，美國加訂950枚魚叉Block2，而後魚叉block2的國外訂單超過了1,500枚。至2004年，魚叉飛彈家族的總產量超過7,500枚。在搭配濱海戰鬥艦的魚叉Block II+因LCS量產提前告終而停止研發後，美國軍方目前反艦飛彈採購計畫以AGM-158C遠程反艦飛彈為主要優先，未新購魚叉飛彈，僅繼續將庫存升級與翻修。目前的魚叉飛彈量產線主要供應國外用戶訂單，量產將持續至2026年。
在1970年代起量產的魚叉飛彈稱為魚叉Block1A（A型），包括空射、艦射、潛射型。1981年為了英國皇家海軍的需求推出魚叉Block1B，僅有艦射（RGM-84C）、潛射型（UGM-84B）。
1982年美國開發Block1C版本（D型），在1985年完成開始量產。Block1C將發動機使用燃料更換為JP-10航空煤油，空射版本的魚叉飛彈射程因此延長為220公里，艦射版本亦微幅增加為107公里（67英里）。該版本同時升級了AN/SWG-1與飛彈尋標器，使飛彈可設定的的導航轉折點增加為3處，尋標器除了改善抗干擾性能外，也可選擇採取俯衝或是掠海攻擊模式，增加防禦的困難度。Block1C也可由1A／1B升級，每枚飛彈的升級成本為2萬美金。
1989年，麥道得到980萬美金的合約進行魚叉Block1D版本的開發。該版本僅有空射型（AGM-84F）、艦射型（RGM-84F）。Block1D的彈體較先前版本更長（4.4公尺）、更重（630公斤），增加了32公斤了燃油搭載，使得飛彈的最大射程增加至209公里（130英里），彈體部分結構使用雷達波吸收材質，降低飛彈的雷達截面積，也由於彈體過長，無法裝入潛艦發射管，因此該版本無潛射型。飛彈尋標器的訊號處理器也改良了反干擾功能，並因為射程增長而導入了暱稱為「苜蓿葉」的立體交叉搜索模式（Cloverleaf Search Pattern），飛彈進入設定攻擊區若無搜索到攻擊標的，可進入預先設定的待命航線並讓尋標器進行目標偵測，重新獲得攻擊目標。魚叉Block1D因問世較晚，因此美軍未購置新造彈，而是由庫存的1C型改造。
魚叉改裝為對地打擊飛彈始於1980年代末期AGM-137 TSSAM計畫遭遇延宕挫折之後，美國海軍委託麥道公司以魚叉飛彈的外型購改一款對地攻擊武器。麥道將AGM-65D的紅外線尋標器、AGM-62A的影像資訊傳輸系統、全球定位系統裝入魚叉飛彈的彈體內，稱為防區外攻陸飛彈（Standoff Land Attack Missile，SLAM），軍方正式編號AGM-84E。該飛彈之艦射版本（RGM-84E，Sea SLAM）也已通過測試，但美國海軍最後並無採購。
1996年，麥道進行魚叉Block1J開發計畫，該計畫後更名為魚叉Block2，1998年進入工程開發階段，2001年通過初始戰鬥能力驗證。該版本有空射型（AGM-84L）、艦射型（RGM-84L），賦予了魚叉飛彈有限度的對地攻擊能力。 魚叉Block2是以Block1D設計為基礎，導入聯合直接攻擊彈藥的導引模組，獲得了慣性導航與全球定位系統，提高了飛行航線的精準度。而美軍的GPS因精準度高，因此魚叉飛彈可藉由接受GPS座標訊號對陸地目標進行攻擊，又稱為海岸目標壓制模式（Coastal Target Suppression Mode）。魚叉Block2後操作系統更換為先進魚叉武器控制系統（Advanced Harpoon Weapon Control System，AHWCS），原先使用的AN/SWG-1A在升級為(v)10以上版本亦可相容Block2之射擊指揮功能。
魚叉飛彈的控制器代號AN/SWG-1A（魚叉飛彈發射指揮控制系統，簡稱HACLCS） ，HACLCS可以輸入並控制飛彈發射的背景資料（包括航線、同時射擊數量、尋標器運作模式）至飛彈的航行電腦中，並可解算協調魚叉飛彈的飛行速度，讓飛彈可以同時抵達目標區。飛彈發射啟動引擎後，會降低飛行高度至60公尺左右進行巡航飛行，並依照HACLCS設定的攻擊模式適時啟動尋標器。尋標器捕捉目標後，會急速爬升到1,800公尺，以30度俯衝角朝目標穿入。
因為美軍認為只用一兩枚魚叉飛彈直接擊沉大型船艦並非易事，而且美國海軍具有明顯空優，魚叉飛彈在美國海軍的角色是癱瘓敵艦，再由航母的艦載機空襲擊沉，所以在設計魚叉飛彈時，預定魚叉飛彈攻擊中大型船艦時，將採取俯衝攻擊及低空引爆模式，在飛行末端迅速爬升，再立即俯衝到目標上方引爆彈頭，利用衝擊波及碎片破壞敵艦裝設在艦橋及桅杆的雷達設備，令其失去目標偵測及射擊控制能力，然後再派艦載機擊沉已失去作戰能力的敵艦。此種攻擊方式不但可減少錯過目標的機會，敵艦也難以迴避，但因為此模式不適用於攻擊小型艦艇，所以後來可選用穿甲引爆模式。
魚叉飛彈於1981年與1982年發生兩次誤射事件。其中一次發生於美國海軍，另一次則發生在丹麥海軍的巡防艦上。1988年12月在夏威夷的演習中，星座號航空母艦所屬的F/A-18戰鬥攻擊機所發射的魚叉飛彈誤擊至誤入演習區的印度籍商船"Jagvivek"號，由於飛彈無裝備戰鬥段因此並未造成船隻無過多破壞，但仍造成1人死亡。至1989年以前，美軍與其盟邦進行過421次魚叉飛彈的實彈射擊演習，命中率為93.35%。
魚叉飛彈首次實戰紀錄發生於兩伊戰爭期間。1980年11月，伊朗在"珍珠行動"之中以飛彈快艇襲擊並擊沉了兩艘伊拉克所屬的“黄蜂”級(OSA-class)飛彈快艇。其中伊朗所使用的武裝即包括了魚叉飛彈。
1986年，美國海軍在錫德拉灣以魚叉飛彈擊沉了兩艘利比亞所屬的巡邏艇。其中兩枚飛彈是由所發射的，但可能沒有命中目標；A-6入侵者式攻擊機另外發射了數枚魚叉飛彈，並據信皆命中其鎖定之標的。雖然攻擊後的初步報告顯示由約克頓號所發射的飛彈亦擊中所瞄準的巡邏艇，但後續報告顯示這些魚叉飛彈所命中的可能僅僅是假目標，並非原先所認為的巡邏艇。
1988年，美國以魚叉飛彈擊沉了伊朗海軍所屬的。伊朗方面亦向發射了一枚魚叉飛彈，但遭到美軍之電子干擾而沒有命中目標。