IDE as a Platform
Developers live in their integrated developer environments (IDEs). They provide a place to browse, refactor, debug, and search code. They usually do autocomplete and integrate with version control systems. IDEs perform many of the same functions they did nearly 40 years ago, but look completely different.
The first IDE was TurboPascal in 1983. It was written by 23-year-old Anders Hejlsberg at the computer company Borland. Hejlsberg would go on to design both C# and TypeScript at Microsoft later in his career.
Some other notable IDEs over the years
Microsoft Visual Studio (1997)
Eclipse (IBM, 2001)
IntelliJ IDEA (JetBrains, 2001)
Xcode (Apple, 2003)
TextMate (2004)
Sublime Text (2008)
Xamarin (2011, acquired by Microsoft in 2016)
Atom (GitHub, 2014)
Microsoft Visual Studio Code (2015)
The first step in becoming a platform is extensibility. IDEs have always leaned heavily on the idea of integration – an all-in-one environment for the entire code lifecycle. Even the first IDEs were extensible in some way or another – through plugins, addons, or packages. Some IDEs integrated deeply within an ecosystem – Visual Studio could theoretically be used for many languages, but excelled at languages that targeted the CLR and the .NET ecosystem.
The second wave towards platformization came as a reaction to the heavyweight language-specific IDEs. Their total addressable market was only the users of a specific language or two. Sublime Text (or TextMate), arguably started a trend of lightweight general-purpose editors that were extremely extensible through a marketplace or package manager. Developers would just install the tools needed for the languages they worked with and the version control systems they needed. Third-party developers could find some distribution through these marketplaces to reach developers.
Visual Studio Code (VSCode) took this to the logical extreme – an open-source editor with a vast marketplace of high-quality extensions. The top extension – Python language tools – has over 44 million installs. But it's not just python, developers love VSCode for every language.
The latest wave towards platformization is coming with run-anywhere VSCode. Like I wrote about in Everything is a Browser, the line is blurring between desktop software and web browsers. There are many ways to run VSCode in the browser – gitpod.io, coder.com, github.dev, or vscode.dev. There are still a few things to figure out – how do you handle high filesystem I/O smoothly? vscode.dev lets you edit local files. But the move to the browser and simpler-than-installing workflow can be really powerful. In the browser, you can assume an always-connected developer and use cloud resources well beyond any laptop can offer. This brings IDEs one step closer to becoming a platform.