Absolutely not, there are many, many language-specific things that an IDE does beyond code hints.
Microsoft doesn't seem to be investing that much, if anything, on languages other than JS/TS; it is delegating all on the OSS community through plugins. And while some of the plugins are really good, in my experience they don't even come close to the native capabilities of Jetbrains products.
This is what Microsoft does. Their #1 thing is being in the market even if the product is bad. They’re delegating now, but wait until they’ve established their foothold, leveled up the core framework. Then they’re going to stop delegating one language after another.
Extend: have a plugin system that everyone can contribute to (sounds like eclipse or IntelliJ CE) and even make money off of. Plugins don't have to be free.
Extinguish: make your own plugins with full refactoring support etc. for the languages you see most actively used (everyone uses it for Go and Python now? Make a good enough plugin for that. Nobody uses it for Erlang anyway? Leave it to the community)
It remains to be seen whether they will find this economical when they are not making any direct revenue on the product.
I understand that VSCode is part of a grand strategic plan that goes beyond revenue, but I seriously doubt that they'd be willing to internally maintain the absolute truckload of code that would ensue from getting to feature parity with Jetbrains on languages like Java or Python. I'd wager at some point the quality would derail, or someone would pull the plug altogether on such a cost sink.
And that's one of the things I love about Jetbrains products. I'm actually delighted to pay for a product that I use every day for ~8 hours and which I think is extremely well-designed, knowing that the money is going to a company of craftsmen who do that, and only that.
Once you've killed off the competition, a lot of other things don't really matter much any more. From the money perspective, it's a well known strategy to loose money to kill off the competition. It's just about who has the deeper pockets/better stomach for it. Microsoft has traditionally been able to do it and I have no doubts that they would still have the stomach for it. I don't know if their pockets are still as deep as they used to be. Windows (and Office etc.) used to be so dominant and such a cash cow that it enabled a lot of the other strategies, but then again they also had to get Windows to that point first. The landscape looks a bit different nowadays I'd wager, given Apple's and Google's footholds on mobile but then again, I wasn't really old enough back in the day, to really compare from my own experience, what the landscape looked like back then with Apple, Amiga, Atari, SGI, Sun etc. in the mix.
> A short read and should give enough examples and descriptions of the strategy
I know about it and don't need a Wikipedia link to enlighten me, thank you.
In my comment I questioned your application of that theory to reality by raising concerns about the cost/benefit analysis from a Microsoft perspective.
I don't think you're accurately scoping the undertaking of getting VSCode to feature-parity with Jetbrains products in Java, Python, etc., nor the potential benefit for Microsoft. My contention is that the gap between Jetbrains and VSCode outside of JavaScript/TypeScript is massive, and that while VSCode is strategically important to Microsoft, they don't have the incentives to even try to extinguish Jetbrains.
But instead of addressing any of the concerns in my original comment, you've just pretty much gone on your own unrelated tirade.
Also, Microsoft ultimately lost the browser wars and many of the similar crusades that they undertook in the 90s and early 2000s, so maybe they've learned a few things along the ways.
Wow, I seriously underestimated the way this written communication could be misunderstood. Especially how anyone could possibly read it as a 'tirade'. And not everyone knows about EEE, especially nowadays but fair enough as to how a link to explain some of it might upset someone that does. That said I really thought that you weren't aware of some of what they had done and how much it would have cost them.
We have a difference in opinion it seems on how much money we think Microsoft might be willing to pay for it and other items as well. That's fair enough. How any of that is a tirade is honestly quite nebulous to me but I probably won't be able to change your mind, even if I tell you that it wasn't written by the furiously typing mad dog you probably imagined.
Let's structure it, so you see how I thought I was addressing things:
> truckload of code
I.e. costs a lot of money: "it's a well known strategy to loose money to kill off the competition"
> pull the plug altogether on such a cost sink
Addressed in "Microsoft has traditionally been able to do it and I have no doubts that they would still have the stomach for it"
> feature parity with Jetbrains on languages like Java or Python
The rest that starts with "I don't know if their pockets are still as deep as they used to be." and which also includes "The landscape looks a bit different nowadays I'd wager" is basically me acknowledging that your opinion is different on this than mine and that I can see that potentially their cost/benefit analysis would lean towards your interpretation. They are trying to cover the Java side well enough with the Redhat maintained plugin. If Redhat does a good enough job to take customers away from Jetbrains that plays into Microsoft's strategy without spending a lot of cash on it. Brilliant.
It's an evolving thing too and as you point out in your reply here, MS did loose the browser wars eventually. The market changes all the time through technology breakthroughs for example and people are actively working against EEE tactics too. I for one am glad that MS lost the browser wars and to address one thing that I did not comment on (on purpose because I was concerned with the EEE discussion and not whether or not one or both of us like JetBrains):
> I'm actually delighted to pay for a product that I use every day for ~8 hours
I absolutely agree that IntelliJ is awesome and I don't want to miss it or use anything else. I don't even use vscode for FE code, unlike most of our FE developers. I'm traditionally a BE guy but have no qualms about doing FE work as long as you don't make me do pixel perfect reproductions of designs in CSS :)
Good point. I don't think that necessarily matters too much though. You obviously can't just give everything away and not have a strategy to make money at all.
That said, giving something away can still make you money or ensure that your competition does not make money either. This comes down to being a large enough entity to support that strategy, which I personally think Microsoft still is.
If I'm Microsoft, I can give away a "base IDE", enlist volunteers and other companies that can even make a buck themselves for quite some time (and spend some money myself) to kill two birds with one stone.
1) I can bind developers to my platform. From the 2019 annual shareholders report: "Beyond GitHub, we are investing to build the most complete toolchain for developers — independent of language, framework, or cloud. Visual Studio and Visual Studio Code are now the most popular code-editing tools in the world. And TypeScript is one of the fastest-growing programming languages."
2) Where I deem necessary use it to kill off competition by driving them out of business. For quite a few companies, the price point of the IDE that their developers use is important i.e. the choice that companies give their employee is: Use vscode or IntelliJ Community Edition (or something else that's free but we're not paying) and it's very hard to explain developer productivity increases to the bean counters.
I agree. Particularly with the first point. One of VSCode's big strengths is it runs on the web as well - it's easy to see it becoming a fully integrated cloud IDE (whether you run it in Electron or your browser), and then MS can sell VSCode Premium for $2/mo to integrate it with your corporate login etc.
It’s incredible how it runs on the web. CodeSandbox is an awesome tool because it’s the same thing you use on your desktop (if you use VSCode). Just the other day I saw some post here wondering why you can’t “code in the browser” and uh, you can! Just go to CodeSandbox.
I suspect MS will be selling VSCode premium, as I mentioned elsewhere on this thread, they are already maintaining closed components.
If you ever get a chance to work on something with JetBrains developers (I got to when I was on the Java 8 JSR), you will find them to be some of the best out there. Their Java support was always ahead of javac for the new features we were specifying.
Another important point: JetBrains have long experience of competing against well funded free competitors. In fact they have grown in an environment where there have always been such products: first NetBeans, then Eclipse, now VS Code. Subsidising IDEs has been a common tactic for a long time, VS Code is nothing new. The story is always the same: such IDEs grow quickly for a while because their price is zero, but eventually after the project has become a "success" the parent corporation gets tired of sinking money into it and the executives lose interest. With weakening internal support, the projects get steadily destaffed. Eventually the project may go off the rails by e.g. deciding to rewrite from scratch.
Meanwhile JB survive the assault, continue to invest in their core product (which have been incrementally evolved for decades and were never rewritten from scratch), and come out the stronger party. They cannot lose interest or make self-destructive decisions because the IDEs are their core revenue stream.
This argument is a compelling case for JetBrains and I hope it proves out.
> They cannot lose interest or make self-destructive decisions because the IDEs are their core revenue stream.
But this can be said about Microsoft as well. IDEs are not the core of their revenue stream, but they're near the core, because "developers, developers, developers, developers" is still true. They're a software company, they make operating systems, a cloud platform, and hardware. They need to provide developer tooling. If IDEs aren't their core revenue, they're certainly near the core. If Microsoft hasn't been making money on IDEs lately, they have in the past, they see other people are, and they're certainly going to try and get back to that if they can.
That argument is true for Visual Studio. Not VS Code, which is Microsoft's "rewrite moment". Visual Studio is targeted at Windows apps, which you have to pay Microsoft to use. VS Code is targeted at web apps, which people run on Linux. The revenue impact is highly indirect: it's not like people will write more web apps than before now VS Code exists, somehow benefiting Azure.
They could try to do a reverse JetBrains and introduce an enhanced for-pay version. Supposedly they're already starting to do that with Python support, it seems. But starting commercial and going free is a lot easier than starting free and going commercial, in terms of user loyalty.
> but I seriously doubt that they'd be willing to internally maintain the absolute truckload of code that would ensue from getting to feature parity with Jetbrains on languages like Java or Python
Why would you doubt this? Microsoft is huge compared to JetBrains and revenue opportunities of code editors have been clearly demonstrated since the 80s. Microsoft sold how many billions of dollars of Visual Studio in the 90s? Plus the red flags are already popping up: Microsoft is already not open sourcing Python language tooling [0].
Sure, but Microsoft also has Visual Studio. If they start heavily investing in VSCode for C#, C++, then they're going to be cannibalising Visual Studio. And for what?
I think they're going to phase out Visual Studio. They like VSCode because it's an Electron app that runs on any platform and even in the browser. Microsoft isn't just a Windows company anymore, and VSCode is their future editor.
Microsoft doesn't seem to be investing that much, if anything, on languages other than JS/TS; it is delegating all on the OSS community through plugins. And while some of the plugins are really good, in my experience they don't even come close to the native capabilities of Jetbrains products.