
【编者按】本文作者将探讨过去三十年直至今日计算机编程中最有影响力的十大开发环境。我们按照影响力对这些IDE进行了排名。
原文链接:re-development-de45cbb408fe
未经允许,禁止转载!
作者|JanKammerath译者|弯月
责编|夏萌
出品|CSDN(ID:CSDNnews)
回顾往昔,代码不过是白色屏幕上的黑色字母。编写代码需要高度集中精神。拼写错误往往无法立即凸显出来,语法错误需要等到编译时才能察觉。而如今编写代码的体验已然完全不同。

图:AsymetrixToolBook——曾流行于多媒体领域,如今早已被遗忘
在本文中,我们将探讨过去三十年直至今日计算机编程中最有影响力的十大开发环境。我们按照影响力对这些IDE进行了排名。

第十名:THINKC
在原始的麦金塔电脑上构建应用程序需要使用MacintoshProgrammer'sWorkshop(简称MPW)。由于麦金塔的图形用户界面远远领先于时代,因此与DOS等其他系统相比,在其上编程是一种完全不同的体验。苹果的MPW是为经验丰富的程序员量身定制的,价格也很高。1986年中期ThinkTechnologies发布了LightspeedC,极大地简化了麦金塔上的编程方法。

图:THINKC第三版,以前称为LightspeedC
ThinkC(即早期的LightspeedC)首战告捷,著名的杂志BYTE将其列为1986年9月的明星产品。这款产品身兼强大的功能和易于导航的GUI,而且价格也极具竞争力——当时的零售价为200美元(换算到今天大约为500美元),而MPWC的开价为600+美元(换算到今天大约为1,500美元)。另外,ThinkC还附带了源代码级的调试器,当然如今我们看来这是理所应当的。

图:麦金塔的ResEdit应用程序
由于麦金塔的用户界面是全新的,前所未有,因此开发人员需要能够构建用户界面。苹果提供了一款名为ResEdit的小工具,可作为单独的工具购买,也可以作为MPW软件包的一部分获得。单独购买的价格约为100~200美元(换算到今天大约为500美元)。以前,编程是一种非常昂贵的奢侈行为。尽管在现代IDE中所见即所得GUI编辑器是免费的,而且是标准,但ResEdit才是第一款原生的所见即所得GUI编辑器。

第九名:苹果Xcode
早在2007年iPhone发布之前,苹果就发布了一款名为Xcode的IDE,要想为MacOS、iPhone、iPad、WatchOS、CarPlay及其生态系统中的所有其他苹果平台构建应用程序,只能使用Xcode。当年苹果从经典的麦金塔过渡到OSX时,开发人员也不得不随之进行彻底的改变。虽然THINKC、苹果MPW和麦金塔System8+上的CodeWarrior都是C和C++,但新的OSX主要使用ObjectiveC及其基于NextStep的XcodeIDE。

图:在NextStep上编程(发现与Xcode的相似之处了吗?)
Xcode的出现标志着麦金塔系统上的许多IDE的终结,它们必须将整个IDE和所有运行时库移植到新构建的OSX——即NextStep。新OSX上的库和对象均加了前缀“NS”,强调了它们源自NextStep。崭新的Xcode为苹果带来了新的范式。苹果生态系统的开发人员或多或少地被迫使用苹果的开发环境。从某种程度上来说,MPW也属于这种情况,但随着Xcode的出现,封闭生态系统的“围墙花园”策略被进一步加强。

图:Xcode15,构建iOS应用时支持热重载
尽管MonoDevelop等许多其他IDE也支持MacOS编程,但iPhone上的iOS、iPad上的iPadOS、苹果手表的watchOS以及车辆娱乐系统上的CarPlay则要求开发人员使用Xcode才能访问整个苹果生态系统和所有功能。另一方面,苹果的DeveloperProgram年费为99美元,考虑到其中包括所有开发工具以及通过苹果应用商店分发应用,这也算是一个合理的价格。
Xcode是第一款大型封闭生态系统的IDE。虽然这款IDE本身很优秀,并具有封闭生态系统的巨大优势,但有点难以跟上最新发展。作为ObjectiveC的替代,Swift编程语言的引入增加了为苹果平台构建应用的吸引力。

第八名:vim
这款文本编辑器发布于1976年,vi是Visual(视觉)的缩写,而vim是ViImproved(改良版)的缩写。这款编辑器一经发布,很快就成为了Unix和Linux的默认编辑器。没错,emacs也是一款很不错的编辑器。然而,2015年StackOverflow的一项调查表明,vim的使用比emacs更广泛。多年来市场上涌现了一大批先进的IDE,为何vim能够幸存下来?很简单:与时俱进。vim具有高亮显示语法的功能,调试很好用,而且速度也很快。一旦熟练掌握快捷键,你就再也不想使用其他编辑器了,尤其是如果你需要整天使用终端的话。

图:VIM,macOS的Warp终端中的
Vim还具有跨所有操作系统高度可移植的优点,可在Windows、Linux、Mac、大型机、MacBook以及网络路由器上运行。这种可移植性意味着,开发人员可以在任何平台上访问vim,他们很快就需要编辑配置文件、源文件等等。Neovim等新版本在继续支持vi和vim工作方式的同时,也为开发带来了更多便利。在未来的几十年里,vim还将继续流行下去。它是Unix上的第一款编辑器,也是最受欢迎的编辑器之一,而且还是Linux和Unix上的主流选择。特别有经验的开发人员尤其喜欢vim,因为它的速度以及键盘友好。

第七名:CodeWarrior
当年苹果从68kCPU转战PowerPC平台,赛门铁克(THINKC当时的所有者)等公司不得不将自己的IDE迁移到新的处理器架构。一家名为MetroWerks的公司与前THINKC开发团队的许多成员一起开发了CodeWarriorIDE。这款编辑器以其易用性、编译时间超越苹果的MPW以及更有吸引力的价格而闻名。第一版CodeWarrior于1993年发布。

图:PowerPC架构MacOS9上的
从1994年~2002年,CodeWarrior逐渐成为了MacOS8和9应用开发的主导IDE。从历史的发展来看,苹果先是从68kCPU转战PowerPC,后又转向英特尔,然后再转战新的苹果arm64SiliconCPU。对于IDE厂商来说,每一次硬件平台的变换都是一场噩梦。从80年代末到2000年初,THINKC和CodeWarrior是唯一在麦金塔的专业软件开发领域占据重要市场份额的IDE。不过后来被苹果自己的IDEXcode取代了。并不是因为Xcode更好,而是因为苹果强迫开发人员使用Xcode,导致第三方IDE难在该平台上生存。

第六名:IntelliJIDEA
20世纪90年代中期Java异军突起,当时面向Java的IDE还很少。开发人员一般只能使用编辑器编写Java,然后通过命令行进行编译。Netbeans和微软的VisualJ++可能是最早的JavaIDE。IntelliJIDEA于2001年1月发布,具有先进的代码导航和重构功能。

图:IntelliJIDEA,拥有几乎所有可以想象到的功能
迄今为止,IntelliJ仍然是有史以来最先进的IDE之一。可能只有成熟的微软VisualStudio可与之一较高下。IntelliJIDEA不仅拥有几乎所有可以想象到的功能,而且还展示了IDE如何从轻量级代码编辑器转变为巨大的、具有无尽定制选项的开发环境。开发人员往往需要几天的时间才能熟悉新的现代IDE。IntelliJ开启了成熟集成式开发环境的时代,它将开发人员所需的所有工具打包到了一个应用程序中。

第五名:Eclipse
Eclipse与IntelliJ大约在同一时期内诞生。虽然Eclipse最初面向的是Java编程语言,但很快就扩展到了所有的编程语言。Eclipse是一个广泛的插件环境,允许你做任何事情。虽然如今IntelliJ也可用于多种不同的语言,例如PHP的PHPStorm以及许多其他语言,但Eclipse是第一款旨在实现真正的多语言、多平台和多种功能的IDE。

图:使用EclipseIDE开发C++程序
这个世上几乎没有不能用Eclipse构建的程序。从C++到PHP、Python,再到Go,每种语言在Eclipse上都有对应的插件。Eclipse开启了开放式开发环境的新纪元,任何人都可以使用它来构建自己的IDE。某些时候,Eclipse会让人感觉非常混乱。无论将来的发展如何,也无论有何种缺点,Eclipse在解放开发环境市场的名人堂中必须拥有一个特殊的位置。早在2008年,我就使用Eclipse编写了第一个GoogleAppEngine应用程序。在Eclipse的巅峰时期,微软的开发环境仍然在收取高额费用。而Eclipse不仅是免费的,而且功能齐备,因此俘获了很多开发人员的心。

第四名:Dreamweaver、Flash和Fireworks
1995年~1996年前后万维网取得了突破性发展,同时网站管理员以及后来的网络开发人员等职位也大量涌现。当时的大多数IDE,例如1995年的VisualC++,都是为桌面和服务器应用程序量身定制的。这些编辑器提供的设计功能最多也不过是面向目标操作系统的所见即所得GUI构建器,允许开发人员设计窗口、列表和按钮,但没有提供有关浏览器的任何功能。

图:DreamweaverUltraDev,于2000年12月发布的Web开发IDE
当时,Macromedia等公司推出了Dreamweaver等软件,这是一种面向HTML以及后来的CSS和JavaScript的所见即所得编辑器。第一版的Dreamweaver仅适用于麦金塔,但随后他们就推出了Windows版。1999年~2002年,Dreamweaver在新经济泡沫中达到了巅峰。DreamweaverUltraDev4是当时最先进的Web开发IDE,不仅包括前端JavaScript、HTML和CSS的开发功能,而且支持微软的ASP及其服务器端JavaScript,还支持VisualBasic、JSP、PHP和Macromedia自己的ColdFusion。

图:MacromediaFlash,永远活在我们心中

图:MacromediaFireworks,图像和HTML所见即所得编辑
如果没有Fireworks,Macromedia的Web开发工具集就不完整。尽管考虑到ActionScript的存在,Flash算是一种开发环境,但Fireworks却是一种向量图形编辑软件。然而,Fireworks有一个集成的代码生成器,允许你对图形进行切片、嵌入动画以及导出HTML内容(包括必要的JavaScript片段)等操作。如今虽然Dreamweaver仍然存在,但在Macromedia被Adobe收购后,Flash和Fireworks就被抛弃了。Dreamweaver现已成为AdobeCreativeCloud的一部分。

第三名:微软的Word和Excel
网上曾流行在微软的Word中编写代码,相信也有不少人曾在Excel中按下ALT+F11键。Word、PowerPoint和Excel都为我们提供了成熟的VisualBasicFor应用程序开发环境。这款IDE本身与1998年及更高版本的VisualBasic6非常相似,而且是VisualBasic6(VB6)专用的。VBA于1993年首次随Excel一起推出。当初比尔·盖茨希望将VBA设计为一款通用宏语言,而且他们确实做到了。

图:Windows上微软Excel中的VisualBasicforApplications(VBA)
自20世纪80年代末以来,电子表格和Excel一直是计算机上的主要商业应用程序。此外还有微软的Word等文字处理应用程序以及图形演示文稿PowerPoint。微软Excel内部拥有完整的IDE,基于最新的VisualBasic6,允许用户将电子表格连接到任何数据源并执行操作。你想通过电子表格自动收集本地网络中的所有网络主机?那么可以利用Excel和VBA自动完成。

图:微软Word中VBA的表单设计器和编辑器
VBA不限于简单的算法和基本宏,还包括完整的GUI构建器、类、模块以及VB6的所有功能。这将简单的Excel工作表、Word文档和PowerPoint演示文稿转变为完整的应用程序。VBA是微软Office迅速占据市场主导地位的秘密武器。这款IDE不再是一个独立的应用程序,而是大型应用程序自带的IDE。它标志着通过应用程序本身集成的IDE扩展标准应用程序的开始。

第二名:BorlandC++Builder和Delphi
从20世纪80年代开始,经过90年代,直至2000年初,Borland是软件开发环境领域的一个家喻户晓的名字。Borland提供了闻名遐迩的C++Builder、TurboPascal的继承者Delphi,并收购了dBase。90年代谈论IDE,必然会提到Borland。当时许多有名的Windows应用程序都是用Borland软件编写的。大学的C++课程会使用BorlandBuilder。我自己也是通过DOS和Windows的Borland软件学习了C和C++。

图:C++Windows桌面应用程序,使用了BorlandC++Builder
Delphi与Borland的关系,就像VisualBasic与微软一样。90年代末和2000年初VisualBasic和Delphi都拥有大型社区。Delphi作为ObjectPascal的一种流行实现,至今仍然存在,而且仍然是微软VisualBasic的最大竞争对手。两款BorlandIDE都配备了非常先进的GUI编辑器,并且与微软的产品相比具有许多小优势。此外,Borland还提供了更广泛的自定义用户界面控件,而当时的微软只能提供Windows标准组件。

图:BorlandDelphi4IDE
多年来,BorlandC++和Delphi与微软VisualC++和VisualBasic展开了激烈的竞争。一些先进的功能,比如代码自动补齐、高级语法高亮显示、易于使用的组件、更简单的抽象系统API等等,都是在Borland和微软的激烈竞争中萌发的。可能许多人仍然记得当年的浏览器之战,而开发人员也不会忘记同一时期微软和Borland之间发生的IDE之战。

第一名:微软VisualStudio
从VisualC++和VisualBasic一直到(自带C的编程语言,目的是与流行编程语言Java形成竞争,C#使用了新发明的.NET框架。.NET框架是一个完整的类库,抽象了WindowsAPI。紧随其后发布,如此VisualBasic就能够通过.NET框架更加无缝地访问Windows功能。微软VisualStudio不断发展,功能的丰富程度不输于IntelliJIDEA。

图:最新版的VisualStudio可以轻松与IntelliJ竞争(既包括优点也包括缺点)
鉴于IDE变得越来越大、吞噬过多资源且臃肿不堪,其功能和复杂性实际上是许多开发人员不需要或不想要的,因此从2010年开始编辑器的发展趋势逐步转向简化。随着SublimeText等编辑器于2008年发布,Github的Atom于2015年发布,还有从2003年起就已经占据了市场份额的Notepad++,从成熟的IDE回归到编辑器已成为一种趋势。微软迅速响应这一趋势,并于2015年发布了一款名为VisualStudioCode的轻量级开发环境。

图:微软的VisualStudioCode,简称VSCode或Code
根据StackOverflow2022年的开发者调查问卷,有74.48%的开发人员在使用VisualStudioCode。三十多年来,微软一直统治着IDE市场,而且市场占有率一直高于60%。如今,VSCode支持所有你能想到的编程语言,而且可以在Windows、macOS和Linux上运行。在GitHubCopilot的助力下,它还支持业界最先进的基于AI的自动补齐功能。此外,它还支持版本控制、调试、扩展插件,以及许许多多数不清的功能。
没有任何一家公司能像微软一样,在过去的35年内塑造IDE以及我们构建软件的方式。因此,微软和VisualStudio家族能在本文中荣登榜首,实至名归。
免责声明:本文章如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务如因作品内容、版权和其他问题请于本站联系