What is the main reason why VSCode can make a comeback?

Last week, I saw a question:

The arena of code editors/compilers is a fiercely competitive battlefield. How Visual Studio Code, as a younger generation, has risen among the many artifacts, its story is worth watching.

Erich Gamma, the father of VS Code, as one of the authors of the design pattern “Gang of Four”, a pioneer in the development of software patterns, developed the unit testing framework JUnit in the Java circle, and even more brilliantly, he led the development of the Eclipse IDE editor at IBM, the most popular at that time. editor/IDE.

However, Erich Gamma felt that something was wrong. The future belongs to the Web, and I want to create a desktop-like development experience on the Web.

In that era when the IE 6 browser was very fragrant and jQuery was the most advanced front-end framework, the big guy was really a big guy, at least 10 years later than the average person.

At the same time, IBM is also on the decline. At this time, Microsoft throws an olive branch, “Join in, the future is the cloud era, and let’s be the web editor for Azure”. Azure was just released in 2010 and requires a web-side editor.

The two sides hit it off!

2011 Story Begins – Monaco Editor

Because of the development experience of Eclipse IDE, I quickly created a web-side editor. Guess it’s because Erich likes to travel to Monaco and named it “Monaco”.

This is a pure Web Editor, the predecessor of VS Code. It is also the editor currently used by VS Code and will soon be available to Azure users.

Monaco is characterized by “fast”. Performance hangs Ace and CodeMirror. This is also the principle of VS Code so far: do not use any UI Framework, this is to pursue the ultimate performance, as close as possible to the DOM, so that every performance loss point can be fully controlled.

2013: Full switch to TypeScript

The JS language was designed too hastily, leaving a lot of quirks, and dynamic typing caused many problems to be discovered at runtime, making developing a project like VS Code embarrassing.

Think what a disaster refactoring a large JS would be without TS’s type checking!

This time, luck came to Erich again. He developed TypeScript with his colleague and good friend Anders Hejlsberg.

Monaco has been using TS since 2011, and it feels that the more you use it, the better. In 2013, it decided to fully switch to TypeScript. More fortunate: It is said that Anders Hejlsberg has a quirk and likes to write all the code in one file (to be verified), so there are many large files. He is also a heavy user of Monaco. With his blessing, Monaco’s performance is not against genius. Because of the switch to TypeScript, it has laid a solid foundation for the technology of VS Code.

2013: The year that almost died

The tool has been developed for 3 years. Although the performance is against the sky, the fatal disadvantage is that there are only 3,000 monthly active users! “What value have you created for the company?” Erich was also faced with soul torture. After doing the math, the number of users must be at least x10 to survive. But as a Web Editor, these users are probably the only ones who can continue to engage in Monaco or change to a new track? How to do?

2014: Opportunity

In 2014, Microsoft began a full transformation into productivity tools and cloud-first. From only considering the Windows platform to considering MacOS, Linux, Windows cross-platform, and fully embrace open source. But Microsoft lacked a cross-platform development tool, especially at a time when Web developers began to grow rapidly.

Erich realized the opportunity was coming. But the browser in 2014 is still not powerful enough, front-end projects are getting heavier and heavier, requiring a lot of file processing. Not a Monaco online editor can do it.

Erich faced a difficult choice: continue with his beloved web editor, Monaco, or switch to the Desktop version of the Editor/IDE? ? ?

Final: As we all know, Erich chose the Desktop Editor/IDE which is more acceptable to developers.

The method is also simple, use Electron to encase Monaco. And changed the name of the Internet celebrity potential “VS Code”, and it was done in a few months.

2015: Finally it’s here – VS Code

In order to be used by as many MS people as possible and enhance business value, VS Code chose to officially release it at the BUILD conference. One of the most successful demos at that time was to demonstrate debugging .NET applications under Linux. But at that time, many functions stayed on the Demo, such as the Extension API that many people expected, which was launched after 6 months.

2016: Multi-language support: LSP (Language Server Protocol)

Friends who have developed VS Code plugins should be familiar with LSP and can extend other language support.

The first LSP to use LSP access support is Java. Startup is done on a Hackathon.

2017-2019: Develop VS Code Remote

WSL helps a lot by not having to deal with the differences in the filesystems of different operating systems. 2020: Return to WebVS Code Desktop version heavily relies on various Node.js File APIs. So even an Electron application porting to the Web takes a lot of time.

Also in 2020, there are many online IDE/Editor development tools, and low-code tools are flying all over the sky, and they should all be more or less grateful to VS Code.

Well, this is the end of history science. Conclusion The following is my personal summary, why VS Code can make a comeback

1. Sex can be fast!

I believe that many users who have switched from Sublime/Atom, including myself, were convinced by the performance of VS Code at the beginning. For tools, “fast” is competitive at any time. Fast because there is enough technology accumulation.

2. Conform to the times

There must be idealism to foresee the future, but also to be able to find a feasible path from reality.

Although Erich bet on the Web editor 10 years ago, the time was really immature at that time. If he didn’t switch to Electron shell, he would not survive in 2014.

3. Accumulate rich, listen to the voice of users, continue to optimize, persist for 10 years

The general direction of Web Editor/IDE has been set, and the survival problem has been solved (helping Microsoft to do cross-platform development), and then we will see who can carry it for a long time.

As of January 2021 last year, VS Code solved 100K issues. It’s a taste of time, imagine how bad it would be to fix 100,000 bugs in software details.

There are superusers like Anders Hejlsberg who brought him TS

Strong ecology, rich expansion. Ecology and products are like chickens and eggs. If the product is not good, it will not be able to expand the ecology. So the essence is that VS Code itself has good functions, elegant architecture, and easy expansion.

4. Good luck

Opportunities are reserved for those who are prepared. When Microsoft announced its transformation in 2014, it happened to need a cross-platform editor, and Monaco was just ready.

In line with Microsoft’s major transformation. Doing open source in a commercial company, everyone who understands it, open source does not bring revenue, if you can’t solve the “business value” problem, it is destined to develop little, and it is easy to be dismantled in the process of resource grabbing, look at the people of the React team Replacement speed.

10 years ahead, betting on the rise of the Web because he’s Erich.

If you can do the above points and accumulate it for 10 years first, it is really not a big problem to “become famous overnight”, this may be a “return”.

The text and pictures in this article are from Zhihu

loading.gif

This article is reprinted from https://www.techug.com/post/microsoft-you-have-to-see-it-to-make-ide779bae9e51a188ce969a/
This site is for inclusion only, and the copyright belongs to the original author.

Leave a Comment