9e9b33cb38105f9cad21819b97889cca.gif

【编者按】本文作者将探讨过去三十年直至今日计算机编程中最有影响力的十大开发环境。我们按照影响力对这些IDE进行了排名。

原文链接:https://medium.com/@jankammerath/revolutionary-ides-that-shaped-software-development-de45cbb408fe

未经允许,禁止转载!

作者 | Jan Kammerath       译者 | 弯月

责编 | 夏萌

出品 | CSDN(ID:CSDNnews)

回顾往昔,代码不过是白色屏幕上的黑色字母。编写代码需要高度集中精神。拼写错误往往无法立即凸显出来,语法错误需要等到编译时才能察觉。而如今编写代码的体验已然完全不同。

ea85a160c5f939d5debaf705d51e143e.png

图:Asymetrix ToolBook——曾流行于多媒体领域,如今早已被遗忘

在本文中,我们将探讨过去三十年直至今日计算机编程中最有影响力的十大开发环境。我们按照影响力对这些IDE进行了排名。

0b6e76bd190a106d9d9b753c800e0412.png

第十名:THINK C

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

ff0e0b863ea2ee69e35916794445b331.png

图:THINK C 第三版,以前称为 Lightspeed C

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

b1f56076c6cc3bb834a5e179866bda94.png

图:麦金塔的 ResEdit 应用程序

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

bd004bcd8962496f2bd202dc983e37ae.png

第九名:苹果 Xcode

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

48766a7b5bcdf4e9f32def840ee9626c.png

图:在 NextStep 上编程(发现与 Xcode 的相似之处了吗?)

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

db978e6ecef75405fd657bb74b9baef1.png

图:Xcode 15,构建 iOS 应用时支持热重载

尽管 MonoDevelop 等许多其他 IDE 也支持 MacOS 编程,但 iPhone 上的 iOS、iPad 上的 iPadOS、苹果手表的 watchOS 以及车辆娱乐系统上的 CarPlay 则要求开发人员使用 Xcode 才能访问整个苹果生态系统和所有功能。另一方面,苹果的 Developer Program 年费为 99 美元,考虑到其中包括所有开发工具以及通过苹果应用商店分发应用,这也算是一个合理的价格。

Xcode 是第一款大型封闭生态系统的 IDE。虽然这款 IDE 本身很优秀,并具有封闭生态系统的巨大优势,但有点难以跟上最新发展。作为 Objective C 的替代,Swift 编程语言的引入增加了为苹果平台构建应用的吸引力。

b3902e23fa5a3807ef680033e03540f9.png

第八名:vim

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

bade840b1f72a1e7a7137eaeef0f7d47.png

图:VIM,macOS 的 Warp 终端中的 Vi IMproved 9.0

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

58df122c497d342543464b95ba692873.png

第七名:CodeWarrior

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

f17d33fe53da054be0781e3e4bbac555.png

图:PowerPC 架构 Mac OS 9 上的 CodeWarrior 4.1

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

31af47402fecee696eb68f1e91ce22f4.png

第六名:IntelliJ IDEA

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

55dce3aec7354228a44946b6a861397e.png

图:IntelliJ IDEA,拥有几乎所有可以想象到的功能

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

7d757e99b16098b1237bea6fe646e989.png

第五名:Eclipse

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

6a0feef74478c85a3da507420cab6454.png

图:使用 Eclipse IDE 开发 C++ 程序

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

8336daaf79f032bbf2aae85e135ee5ae.png

第四名:Dreamweaver、Flash 和 Fireworks

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

1b3ddc355285863f94caa9c7299b1225.png

图:Dreamweaver UltraDev,于 2000 年 12 月发布的 Web 开发 IDE

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

a1545ced90412e229ef72dc7d74ef18a.png

图:Macromedia Flash,永远活在我们心中

Macromedia Flash 及其 ActionScript 脚本语言为构建多媒体应用程序提供了无限的可能性,你只需要在安装了 Flash 插件的浏览器中运行即可。对于有些人来说,那是一场噩梦,而对于有些人来说,那是一次难以忘怀的经历。人们使用 Flash 构建了第一款网络游戏,第一个流行视频和音频流网站都使用了 Flash,网站所有者都喜欢在自己的主页上添加动画介绍。Flash 和 ActionScript 编程完美地代表了万维网,就像那个被人们铭记于心的时代一样。

33fa791a685c52142c976aa8d25c5a0e.png

图:Macromedia Fireworks,图像和 HTML 所见即所得编辑

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

c4a0c1589cabca8be006cd8558ee7acc.png

第三名:微软的 Word 和 Excel

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

75af7a31b2ff3a64593e935234c52fd5.png

图:Windows 上微软 Excel 中的 Visual Basic for Applications(VBA)

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

4768a413563f30fe01729dc1c4fa82e3.png

图:微软 Word 中 VBA 的表单设计器和编辑器

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

c4ec9d8710381b3ee3c98f3aaffc7453.png

第二名:Borland C++ Builder 和 Delphi

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

fae22f69643d00cf21fac76f78fbe41f.png

图:C++ Windows 桌面应用程序,使用了 Borland C++ Builder

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

4dbee05fc0af85649bf5bbef686c3c69.png

图:Borland Delphi 4 IDE

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

eeb742b9e4214440365ad0e962be3d78.png

第一名:微软 Visual Studio

从 Visual C++ 和 Visual Basic 一直到 Visual Studio .NET(自带C#) 和 Visual Studio Code,毫无争议,微软的 Visual Studio 系列产品是近三十年来集成开发环境的重量级冠军。从微软成立之日起,该公司就专注于软件开发和软件开发工具。BASIC 为微软打下了良好的基础。微软是一家软件巨头,但其核心是一家软件开发巨头。

fed04c2f7d7cd2497d666e1d7e8c68f3.png

图:Windows 95/98/NT4 上的微软 Visual C++ 6.0

Steve Ballmers 有一篇著名的演讲《developers, developers, developers》曾风靡整个互联网,文中强调了微软十分注重不断吸引开发人员并在软件开发社区中拥有强大的市场份额。虽然许多人不太明白微软为何收购 Github,但内部人士非常清楚,微软不想让任何人在软件开发工具和服务领域与他们竞争。

6bce49014fa02b9b418f73f1b0a56b14.png

图:Windows 3.1 上的微软 Visual Basic 3.0

由于麦金塔的出现,用户对微软 Windows 3 及其图形用户界面并不会感到新奇。然而,微软 Visual Basic IDE 彻底改变了游戏规则。Visual Basic 引入了将用户界面或控制元素拖放到窗口画面的功能。由此,微软于 1991 年开启了可视化编程时代。开发人员可以直观地设计应用程序,并明确关注用户界面,从而提高用户体验。它标志着以用户为中心的软件设计的开始。

085850205416b6bf9afbf1c96033cae5.png

图:微软 Visual Basic 6.0,微软在 IDE 市场的突破

Visual Studio 6 是微软以及 Visual Studio 的一个重要里程碑,这是第一款具有数据库连接功能的 Visual Studio,能够为 Windows、Pocket PC、带有 ASP 的 IIS 服务器端应用程序、ActiveX 控件等构建应用程序和库。此外, Visual Studio 6 还可以扩展到构建其他平台,例如 PalmOS。ActiveX 和 COM 组件也允许在 Windows 上使用第三方组件。

c6c5daa49fb5b25ff10d07b9537d2c11.png

图:2002 年Windows XP 上的微软 Visual Studio .NET

2000 年,微软发布了一种名为 C# 的编程语言,目的是与流行编程语言 Java 形成竞争,C# 使用了新发明的 .NET 框架。.NET框架是一个完整的类库,抽象了Windows API。Visual Basic .NET 紧随其后发布,如此 Visual Basic 就能够通过 .NET 框架更加无缝地访问 Windows 功能。微软 Visual Studio 不断发展,功能的丰富程度不输于 IntelliJ IDEA。

2119316783475cacf0d4774809dea143.png

图:最新版的 Visual Studio 可以轻松与 IntelliJ 竞争(既包括优点也包括缺点)

鉴于 IDE 变得越来越大、吞噬过多资源且臃肿不堪,其功能和复杂性实际上是许多开发人员不需要或不想要的,因此从 2010 年开始编辑器的发展趋势逐步转向简化。随着 Sublime Text 等编辑器于 2008 年发布,Github 的 Atom 于 2015 年发布,还有从 2003 年起就已经占据了市场份额的 Notepad++,从成熟的 IDE 回归到编辑器已成为一种趋势。微软迅速响应这一趋势,并于 2015 年发布了一款名为 Visual Studio Code 的轻量级开发环境。

1a8bc90910515ab7dd0ca1070e91d83b.png

图:微软的 Visual Studio Code,简称 VSCode 或 Code

根据 StackOverflow 2022 年的开发者调查问卷, 有74.48% 的开发人员在使用 Visual Studio Code。三十多年来,微软一直统治着 IDE 市场,而且市场占有率一直高于 60%。如今,VSCode 支持所有你能想到的编程语言,而且可以在 Windows、macOS 和 Linux 上运行。在 GitHub Copilot 的助力下,它还支持业界最先进的基于AI的自动补齐功能。此外,它还支持版本控制、调试、扩展插件,以及许许多多数不清的功能。

没有任何一家公司能像微软一样,在过去的 35 年内塑造 IDE 以及我们构建软件的方式。因此,微软和 Visual Studio 家族能在本文中荣登榜首,实至名归。

推荐阅读:

▶「卷轴」iPhone 有戏?苹果新专利曝光,果粉激动:终于要变了!

格局打开,Meta 发布免费商业应用的开源 AI 模型 Llama 2,网友:微软又赢麻了!

GPT 吞噬一切!我们还需要编程语言吗?

dd6bf219014fe15353c5931e17487aff.png

Logo

苏州本地的技术开发者社区,在这里可以交流本地的好吃好玩的,可以交流技术,可以交流招聘等等,没啥限制。

更多推荐