盤點(diǎn)十款塑造軟件開發(fā)的革命性IDE(主流軟件開發(fā)工具)
【編者按】本文作者將探討過去三十年直至今日計(jì)算機(jī)編程中最有影響力的十大開發(fā)環(huán)境。我們按照影響力對這些IDE進(jìn)行了排名。
原文鏈接:https://medium.com/@jankammerath/revolutionary-ides-that-shaped-softwa
re-development-de45cbb408fe
未經(jīng)允許,禁止轉(zhuǎn)載!
作者 | Jan Kammerath 譯者 | 彎月
責(zé)編 | 夏萌
出品 | CSDN(ID:CSDNnews)
回顧往昔,代碼不過是白色屏幕上的黑色字母。編寫代碼需要高度集中精神。拼寫錯(cuò)誤往往無法立即凸顯出來,語法錯(cuò)誤需要等到編譯時(shí)才能察覺。而如今編寫代碼的體驗(yàn)已然完全不同。
圖:Asymetrix ToolBook——曾流行于多媒體領(lǐng)域,如今早已被遺忘
在本文中,我們將探討過去三十年直至今日計(jì)算機(jī)編程中最有影響力的十大開發(fā)環(huán)境。我們按照影響力對這些IDE進(jìn)行了排名。
第十名:THINK C
在原始的麥金塔電腦上構(gòu)建應(yīng)用程序需要使用 Macintosh Programmer’s Workshop(簡稱 MPW)。由于麥金塔的圖形用戶界面遠(yuǎn)遠(yuǎn)領(lǐng)先于時(shí)代,因此與 DOS 等其他系統(tǒng)相比,在其上編程是一種完全不同的體驗(yàn)。蘋果的 MPW 是為經(jīng)驗(yàn)豐富的程序員量身定制的,價(jià)格也很高。1986 年中期 Think Technologies 發(fā)布了 Lightspeed C,極大地簡化了麥金塔上的編程方法。
圖:THINK C 第三版,以前稱為 Lightspeed C
Think C(即早期的 Lightspeed C)首戰(zhàn)告捷,著名的雜志 BYTE 將其列為 1986 年 9 月的明星產(chǎn)品。這款產(chǎn)品身兼強(qiáng)大的功能和易于導(dǎo)航的 GUI,而且價(jià)格也極具競爭力——當(dāng)時(shí)的零售價(jià)為 200 美元(換算到今天大約為 500 美元),而 MPW C 的開價(jià)為 600 美元(換算到今天大約為 1,500 美元)。另外,Think C 還附帶了源代碼級的調(diào)試器,當(dāng)然如今我們看來這是理所應(yīng)當(dāng)?shù)摹?/p>
圖:麥金塔的 ResEdit 應(yīng)用程序
由于麥金塔的用戶界面是全新的,前所未有,因此開發(fā)人員需要能夠構(gòu)建用戶界面。蘋果提供了一款名為 ResEdit 的小工具,可作為單獨(dú)的工具購買,也可以作為 MPW 軟件包的一部分獲得。單獨(dú)購買的價(jià)格約為 100~200 美元(換算到今天大約為 500 美元)。以前,編程是一種非常昂貴的奢侈行為。盡管在現(xiàn)代 IDE中所見即所得 GUI 編輯器是免費(fèi)的,而且是標(biāo)準(zhǔn),但 ResEdit 才是第一款原生的所見即所得 GUI 編輯器。
第九名:蘋果 Xcode
早在 2007 年 iPhone 發(fā)布之前,蘋果就發(fā)布了一款名為 Xcode 的 IDE,要想為 MacOS、iPhone、iPad、WatchOS、CarPlay 及其生態(tài)系統(tǒng)中的所有其他蘋果平臺構(gòu)建應(yīng)用程序,只能使用Xcode。當(dāng)年蘋果從經(jīng)典的麥金塔過渡到 OSX 時(shí),開發(fā)人員也不得不隨之進(jìn)行徹底的改變。雖然 THINK C、蘋果 MPW 和麥金塔 System 8 上的 CodeWarrior 都是 C 和 C ,但新的 OSX 主要使用 Objective C 及其基于 NextStep 的 Xcode IDE。
圖:在 NextStep 上編程(發(fā)現(xiàn)與 Xcode 的相似之處了嗎?)
Xcode 的出現(xiàn)標(biāo)志著麥金塔系統(tǒng)上的許多 IDE 的終結(jié),它們必須將整個(gè) IDE 和所有運(yùn)行時(shí)庫移植到新構(gòu)建的 OSX——即 NextStep。新 OSX 上的庫和對象均加了前綴“NS”,強(qiáng)調(diào)了它們源自 NextStep。嶄新的 Xcode 為蘋果帶來了新的范式。蘋果生態(tài)系統(tǒng)的開發(fā)人員或多或少地被迫使用蘋果的開發(fā)環(huán)境。從某種程度上來說,MPW 也屬于這種情況,但隨著 Xcode 的出現(xiàn),封閉生態(tài)系統(tǒng)的“圍墻花園”策略被進(jìn)一步加強(qiáng)。
圖:Xcode 15,構(gòu)建 iOS 應(yīng)用時(shí)支持熱重載
盡管 MonoDevelop 等許多其他 IDE 也支持 macOS 編程,但 iPhone 上的 iOS、iPad 上的 iPadOS、蘋果手表的 watchOS 以及車輛娛樂系統(tǒng)上的 CarPlay 則要求開發(fā)人員使用 Xcode 才能訪問整個(gè)蘋果生態(tài)系統(tǒng)和所有功能。另一方面,蘋果的 Developer Program 年費(fèi)為 99 美元,考慮到其中包括所有開發(fā)工具以及通過蘋果應(yīng)用商店分發(fā)應(yīng)用,這也算是一個(gè)合理的價(jià)格。
Xcode 是第一款大型封閉生態(tài)系統(tǒng)的 IDE。雖然這款 IDE 本身很優(yōu)秀,并具有封閉生態(tài)系統(tǒng)的巨大優(yōu)勢,但有點(diǎn)難以跟上最新發(fā)展。作為 Objective C 的替代,Swift 編程語言的引入增加了為蘋果平臺構(gòu)建應(yīng)用的吸引力。
第八名:vim
這款文本編輯器發(fā)布于 1976 年,vi 是 Visual(視覺) 的縮寫,而 vim 是 Vi Improved(改良版)的縮寫。這款編輯器一經(jīng)發(fā)布,很快就成為了 Unix 和 Linux 的默認(rèn)編輯器。沒錯(cuò),emacs 也是一款很不錯(cuò)的編輯器。然而,2015 年 Stack Overflow 的一項(xiàng)調(diào)查表明,vim 的使用比 emacs 更廣泛。多年來市場上涌現(xiàn)了一大批先進(jìn)的 IDE,為何 vim 能夠幸存下來?很簡單:與時(shí)俱進(jìn)。vim 具有高亮顯示語法的功能,調(diào)試很好用,而且速度也很快。一旦熟練掌握快捷鍵,你就再也不想使用其他編輯器了,尤其是如果你需要整天使用終端的話。
圖:VIM,macOS 的 Warp 終端中的 Vi IMproved 9.0
Vim 還具有跨所有操作系統(tǒng)高度可移植的優(yōu)點(diǎn),可在 Windows、Linux、Mac、大型機(jī)、MacBook 以及網(wǎng)絡(luò)路由器上運(yùn)行。這種可移植性意味著,開發(fā)人員可以在任何平臺上訪問 vim,他們很快就需要編輯配置文件、源文件等等。Neovim 等新版本在繼續(xù)支持 vi 和 vim 工作方式的同時(shí),也為開發(fā)帶來了更多便利。在未來的幾十年里,vim 還將繼續(xù)流行下去。它是 Unix 上的第一款編輯器,也是最受歡迎的編輯器之一,而且還是 Linux 和 Unix 上的主流選擇。特別有經(jīng)驗(yàn)的開發(fā)人員尤其喜歡 vim,因?yàn)樗乃俣纫约版I盤友好。
第七名:CodeWarrior
當(dāng)年蘋果從 68k CPU 轉(zhuǎn)戰(zhàn) PowerPC 平臺,賽門鐵克(THINK C當(dāng)時(shí)的所有者)等公司不得不將自己的 IDE 遷移到新的處理器架構(gòu)。一家名為 MetroWerks 的公司與前 THINK C 開發(fā)團(tuán)隊(duì)的許多成員一起開發(fā)了 CodeWarrior IDE。這款編輯器以其易用性、編譯時(shí)間超越蘋果的 MPW 以及更有吸引力的價(jià)格而聞名。第一版 CodeWarrior 于 1993 年發(fā)布。
圖:PowerPC 架構(gòu) Mac OS 9 上的 CodeWarrior 4.1
從1994 年 ~ 2002 年,CodeWarrior 逐漸成為了 Mac OS 8 和 9 應(yīng)用開發(fā)的主導(dǎo) IDE。從歷史的發(fā)展來看,蘋果先是從 68k CPU 轉(zhuǎn)戰(zhàn) PowerPC,后又轉(zhuǎn)向英特爾,然后再轉(zhuǎn)戰(zhàn)新的蘋果 arm64 Silicon CPU。對于 IDE 廠商來說,每一次硬件平臺的變換都是一場噩夢。從 80 年代末到 2000 年初,THINK C 和 CodeWarrior 是唯一在麥金塔的專業(yè)軟件開發(fā)領(lǐng)域占據(jù)重要市場份額的 IDE。不過后來被蘋果自己的 IDE Xcode 取代了。并不是因?yàn)?Xcode 更好,而是因?yàn)樘O果強(qiáng)迫開發(fā)人員使用 Xcode,導(dǎo)致第三方 IDE 難在該平臺上生存。
第六名:IntelliJ IDEA
20 世紀(jì) 90 年代中期 Java 異軍突起,當(dāng)時(shí)面向 Java 的 IDE 還很少。開發(fā)人員一般只能使用編輯器編寫 Java,然后通過命令行進(jìn)行編譯。Netbeans 和微軟的 Visual J 可能是最早的 Java IDE。IntelliJ IDEA 于 2001 年 1 月發(fā)布,具有先進(jìn)的代碼導(dǎo)航和重構(gòu)功能。
圖:IntelliJ IDEA,擁有幾乎所有可以想象到的功能
迄今為止,IntelliJ 仍然是有史以來最先進(jìn)的 IDE 之一??赡苤挥谐墒斓奈④?Visual Studio 可與之一較高下。IntelliJ IDEA 不僅擁有幾乎所有可以想象到的功能,而且還展示了 IDE 如何從輕量級代碼編輯器轉(zhuǎn)變?yōu)榫薮蟮?、具有無盡定制選項(xiàng)的開發(fā)環(huán)境。開發(fā)人員往往需要幾天的時(shí)間才能熟悉新的現(xiàn)代 IDE。IntelliJ 開啟了成熟集成式開發(fā)環(huán)境的時(shí)代,它將開發(fā)人員所需的所有工具打包到了一個(gè)應(yīng)用程序中。
第五名:Eclipse
Eclipse 與 IntelliJ 大約在同一時(shí)期內(nèi)誕生。雖然 Eclipse 最初面向的是 Java 編程語言,但很快就擴(kuò)展到了所有的編程語言。Eclipse 是一個(gè)廣泛的插件環(huán)境,允許你做任何事情。雖然如今 IntelliJ 也可用于多種不同的語言,例如 PHP 的 PHPStorm 以及許多其他語言,但 Eclipse 是第一款旨在實(shí)現(xiàn)真正的多語言、多平臺和多種功能的 IDE。
圖:使用 Eclipse IDE 開發(fā) C 程序
這個(gè)世上幾乎沒有不能用 Eclipse 構(gòu)建的程序。從 C 到 PHP、Python,再到 Go,每種語言在 Eclipse 上都有對應(yīng)的插件。Eclipse 開啟了開放式開發(fā)環(huán)境的新紀(jì)元,任何人都可以使用它來構(gòu)建自己的 IDE。某些時(shí)候,Eclipse 會讓人感覺非?;靵y。無論將來的發(fā)展如何,也無論有何種缺點(diǎn),Eclipse 在解放開發(fā)環(huán)境市場的名人堂中必須擁有一個(gè)特殊的位置。早在 2008 年,我就使用 Eclipse 編寫了第一個(gè) Google App Engine 應(yīng)用程序。在 Eclipse 的巔峰時(shí)期,微軟的開發(fā)環(huán)境仍然在收取高額費(fèi)用。而 Eclipse 不僅是免費(fèi)的,而且功能齊備,因此俘獲了很多開發(fā)人員的心。
第四名:Dreamweaver、Flash 和 Fireworks
1995 年~1996 年前后萬維網(wǎng)取得了突破性發(fā)展,同時(shí)網(wǎng)站管理員以及后來的網(wǎng)絡(luò)開發(fā)人員等職位也大量涌現(xiàn)。當(dāng)時(shí)的大多數(shù) IDE,例如 1995 年的 Visual C ,都是為桌面和服務(wù)器應(yīng)用程序量身定制的。這些編輯器提供的設(shè)計(jì)功能最多也不過是面向目標(biāo)操作系統(tǒng)的所見即所得 GUI 構(gòu)建器,允許開發(fā)人員設(shè)計(jì)窗口、列表和按鈕,但沒有提供有關(guān)瀏覽器的任何功能。
圖:Dreamweaver UltraDev,于 2000 年 12 月發(fā)布的 Web 開發(fā) IDE
當(dāng)時(shí),Macromedia 等公司推出了 Dreamweaver 等軟件,這是一種面向 HTML 以及后來的 CSS 和 JavaScript 的所見即所得編輯器。第一版的 Dreamweaver 僅適用于麥金塔,但隨后他們就推出了 Windows 版。1999 年~2002 年,Dreamweaver 在新經(jīng)濟(jì)泡沫中達(dá)到了巔峰。Dreamweaver UltraDev 4 是當(dāng)時(shí)最先進(jìn)的 Web 開發(fā) IDE,不僅包括前端 JavaScript、HTML 和 CSS 的開發(fā)功能,而且支持微軟的 ASP 及其服務(wù)器端 JavaScript,還支持 Visual Basic、JSP、PHP 和 Macromedia 自己的 ColdFusion。
圖:Macromedia Flash,永遠(yuǎn)活在我們心中
Macromedia Flash 及其 ActionScript 腳本語言為構(gòu)建多媒體應(yīng)用程序提供了無限的可能性,你只需要在安裝了 Flash 插件的瀏覽器中運(yùn)行即可。對于有些人來說,那是一場噩夢,而對于有些人來說,那是一次難以忘懷的經(jīng)歷。人們使用 Flash 構(gòu)建了第一款網(wǎng)絡(luò)游戲,第一個(gè)流行視頻和音頻流網(wǎng)站都使用了 Flash,網(wǎng)站所有者都喜歡在自己的主頁上添加動畫介紹。Flash 和 ActionScript 編程完美地代表了萬維網(wǎng),就像那個(gè)被人們銘記于心的時(shí)代一樣。
圖:Macromedia Fireworks,圖像和 HTML 所見即所得編輯
如果沒有 Fireworks,Macromedia 的 Web 開發(fā)工具集就不完整。盡管考慮到 ActionScript 的存在,F(xiàn)lash 算是一種開發(fā)環(huán)境,但 Fireworks 卻是一種向量圖形編輯軟件。然而,F(xiàn)ireworks 有一個(gè)集成的代碼生成器,允許你對圖形進(jìn)行切片、嵌入動畫以及導(dǎo)出 HTML 內(nèi)容(包括必要的 JavaScript 片段)等操作。如今雖然 Dreamweaver 仍然存在,但在 Macromedia 被 Adobe 收購后,F(xiàn)lash 和 Fireworks 就被拋棄了。Dreamweaver 現(xiàn)已成為 Adobe Creative Cloud 的一部分。
第三名:微軟的 Word 和 Excel
網(wǎng)上曾流行在微軟的 Word 中編寫代碼,相信也有不少人曾在 Excel 中按下 ALT F11 鍵。Word、PowerPoint 和 Excel 都為我們提供了成熟的 Visual Basic For 應(yīng)用程序開發(fā)環(huán)境。這款 IDE 本身與 1998 年及更高版本的 Visual Basic 6 非常相似,而且是 Visual Basic 6(VB6)專用的。VBA 于 1993 年首次隨 Excel 一起推出。當(dāng)初比爾·蓋茨希望將 VBA 設(shè)計(jì)為一款通用宏語言,而且他們確實(shí)做到了。
圖:Windows 上微軟 Excel 中的 Visual Basic for Applications(VBA)
自 20 世紀(jì) 80 年代末以來,電子表格和 Excel 一直是計(jì)算機(jī)上的主要商業(yè)應(yīng)用程序。此外還有微軟的 Word 等文字處理應(yīng)用程序以及圖形演示文稿 PowerPoint。微軟 Excel 內(nèi)部擁有完整的 IDE,基于最新的 Visual Basic 6,允許用戶將電子表格連接到任何數(shù)據(jù)源并執(zhí)行操作。你想通過電子表格自動收集本地網(wǎng)絡(luò)中的所有網(wǎng)絡(luò)主機(jī)?那么可以利用 Excel 和 VBA 自動完成。
圖:微軟 Word 中 VBA 的表單設(shè)計(jì)器和編輯器
VBA 不限于簡單的算法和基本宏,還包括完整的 GUI 構(gòu)建器、類、模塊以及 VB6 的所有功能。這將簡單的 Excel 工作表、Word 文檔和 PowerPoint 演示文稿轉(zhuǎn)變?yōu)橥暾膽?yīng)用程序。VBA 是微軟 Office 迅速占據(jù)市場主導(dǎo)地位的秘密武器。這款 IDE 不再是一個(gè)獨(dú)立的應(yīng)用程序,而是大型應(yīng)用程序自帶的 IDE。它標(biāo)志著通過應(yīng)用程序本身集成的 IDE 擴(kuò)展標(biāo)準(zhǔn)應(yīng)用程序的開始。
第二名:Borland C Builder 和 Delphi
從 20 世紀(jì) 80 年代開始,經(jīng)過 90 年代,直至 2000 年初,Borland 是軟件開發(fā)環(huán)境領(lǐng)域的一個(gè)家喻戶曉的名字。Borland 提供了聞名遐邇的 C Builder、Turbo Pascal 的繼承者 Delphi,并收購了 dBase。90 年代談?wù)?IDE,必然會提到 Borland。當(dāng)時(shí)許多有名的 Windows 應(yīng)用程序都是用 Borland 軟件編寫的。大學(xué)的 C 課程會使用 Borland Builder。我自己也是通過 DOS 和 Windows 的 Borland 軟件學(xué)習(xí)了 C 和 C 。
圖:C Windows 桌面應(yīng)用程序,使用了 Borland C Builder
Delphi 與 Borland 的關(guān)系,就像 Visual Basic 與 微軟一樣。90 年代末和 2000 年初 Visual Basic 和 Delphi 都擁有大型社區(qū)。Delphi 作為 Object Pascal 的一種流行實(shí)現(xiàn),至今仍然存在,而且仍然是微軟 Visual Basic 的最大競爭對手。兩款 Borland IDE 都配備了非常先進(jìn)的 GUI 編輯器,并且與微軟的產(chǎn)品相比具有許多小優(yōu)勢。此外, Borland 還提供了更廣泛的自定義用戶界面控件,而當(dāng)時(shí)的微軟只能提供 Windows 標(biāo)準(zhǔn)組件。
圖:Borland Delphi 4 IDE
多年來,Borland C 和 Delphi 與微軟 Visual C 和 Visual Basic 展開了激烈的競爭。一些先進(jìn)的功能,比如代碼自動補(bǔ)齊、高級語法高亮顯示、易于使用的組件、更簡單的抽象系統(tǒng) API 等等,都是在 Borland 和微軟的激烈競爭中萌發(fā)的??赡茉S多人仍然記得當(dāng)年的瀏覽器之戰(zhàn),而開發(fā)人員也不會忘記同一時(shí)期微軟和 Borland 之間發(fā)生的 IDE 之戰(zhàn)。
第一名:微軟 Visual Studio
從 Visual C 和 Visual Basic 一直到 Visual Studio .NET(自帶C#) 和 Visual Studio Code,毫無爭議,微軟的 Visual Studio 系列產(chǎn)品是近三十年來集成開發(fā)環(huán)境的重量級冠軍。從微軟成立之日起,該公司就專注于軟件開發(fā)和軟件開發(fā)工具。BASIC 為微軟打下了良好的基礎(chǔ)。微軟是一家軟件巨頭,但其核心是一家軟件開發(fā)巨頭。
圖:Windows 95/98/NT4 上的微軟 Visual C 6.0
Steve Ballmers 有一篇著名的演講《developers, developers, developers》曾風(fēng)靡整個(gè)互聯(lián)網(wǎng),文中強(qiáng)調(diào)了微軟十分注重不斷吸引開發(fā)人員并在軟件開發(fā)社區(qū)中擁有強(qiáng)大的市場份額。雖然許多人不太明白微軟為何收購 Github,但內(nèi)部人士非常清楚,微軟不想讓任何人在軟件開發(fā)工具和服務(wù)領(lǐng)域與他們競爭。
圖:Windows 3.1 上的微軟 Visual Basic 3.0
由于麥金塔的出現(xiàn),用戶對微軟 Windows 3 及其圖形用戶界面并不會感到新奇。然而,微軟 Visual Basic IDE 徹底改變了游戲規(guī)則。Visual Basic 引入了將用戶界面或控制元素拖放到窗口畫面的功能。由此,微軟于 1991 年開啟了可視化編程時(shí)代。開發(fā)人員可以直觀地設(shè)計(jì)應(yīng)用程序,并明確關(guān)注用戶界面,從而提高用戶體驗(yàn)。它標(biāo)志著以用戶為中心的軟件設(shè)計(jì)的開始。
圖:微軟 Visual Basic 6.0,微軟在 IDE 市場的突破
Visual Studio 6 是微軟以及 Visual Studio 的一個(gè)重要里程碑,這是第一款具有數(shù)據(jù)庫連接功能的 Visual Studio,能夠?yàn)?Windows、Pocket PC、帶有 ASP 的 IIS 服務(wù)器端應(yīng)用程序、ActiveX 控件等構(gòu)建應(yīng)用程序和庫。此外, Visual Studio 6 還可以擴(kuò)展到構(gòu)建其他平臺,例如 PalmOS。ActiveX 和 COM 組件也允許在 Windows 上使用第三方組件。
圖:2002 年Windows XP 上的微軟 Visual Studio .NET
2000 年,微軟發(fā)布了一種名為 C# 的編程語言,目的是與流行編程語言 Java 形成競爭,C# 使用了新發(fā)明的 .NET 框架。.NET框架是一個(gè)完整的類庫,抽象了Windows API。Visual Basic .NET 緊隨其后發(fā)布,如此 Visual Basic 就能夠通過 .NET 框架更加無縫地訪問 Windows 功能。微軟 Visual Studio 不斷發(fā)展,功能的豐富程度不輸于 IntelliJ IDEA。
圖:最新版的 Visual Studio 可以輕松與 IntelliJ 競爭(既包括優(yōu)點(diǎn)也包括缺點(diǎn))
鑒于 IDE 變得越來越大、吞噬過多資源且臃腫不堪,其功能和復(fù)雜性實(shí)際上是許多開發(fā)人員不需要或不想要的,因此從 2010 年開始編輯器的發(fā)展趨勢逐步轉(zhuǎn)向簡化。隨著 Sublime Text 等編輯器于 2008 年發(fā)布,Github 的 Atom 于 2015 年發(fā)布,還有從 2003 年起就已經(jīng)占據(jù)了市場份額的 Notepad ,從成熟的 IDE 回歸到編輯器已成為一種趨勢。微軟迅速響應(yīng)這一趨勢,并于 2015 年發(fā)布了一款名為 Visual Studio Code 的輕量級開發(fā)環(huán)境。
圖:微軟的 Visual Studio Code,簡稱 VSCode 或 Code
根據(jù) StackOverflow 2022 年的開發(fā)者調(diào)查問卷, 有74.48% 的開發(fā)人員在使用 Visual Studio Code。三十多年來,微軟一直統(tǒng)治著 IDE 市場,而且市場占有率一直高于 60%。如今,VSCode 支持所有你能想到的編程語言,而且可以在 Windows、macOS 和 Linux 上運(yùn)行。在 GitHub Copilot 的助力下,它還支持業(yè)界最先進(jìn)的基于AI的自動補(bǔ)齊功能。此外,它還支持版本控制、調(diào)試、擴(kuò)展插件,以及許許多多數(shù)不清的功能。
沒有任何一家公司能像微軟一樣,在過去的 35 年內(nèi)塑造 IDE 以及我們構(gòu)建軟件的方式。因此,微軟和 Visual Studio 家族能在本文中榮登榜首,實(shí)至名歸。