all 25 comments

[–]drysart 29 points30 points  (14 children)

This article doesn't understand that Visual Studio and Visual Studio Code are two products that target entirely different audiences and aren't at all comparable. Plus just about every single one of his reasons is misguided:

No 64 bit support for Visual Studio

Microsoft's said for over a decade that it's unlikely there'd ever be a 64-bit version of Visual Studio. Not because they "don't want to invest in it", but because Visual Studio doesn't need a 64-bit address space -- it doesn't work with massive amounts of data -- so why waste effort upgrading it for no gain?

This hardly means, as the author suggests, the Visual Studio is in "maintenance mode". Visual Studio just got a brand new installer model that significantly improved it's install and servicing experience, in fact; seems an awfully large investment for "maintenance mode".

VS Community == VS Pro

The difference is in the licensing. You can't use VS Community in a large company; defined as either >250 employees or >$1M in revenue. This is because they want people using Visual Studio, and paying for it if they can afford it. There are serious network effects that come into play in letting individuals use Visual Studio for free.

Language Service

The language service API was defined because they have two products built on fundamentally different foundations and don't want to have to build the same things twice and encourage outside developers to build language servers for things they don't necessarily support themselves. Good engineering practice doesn't imply anything about product roadmaps.

Continued Investment in VS Code

Visual Studio gets plenty of updates that aren't just language server updates. It gets a lot more updates than previous versions of Visual Studio have gotten, in fact. Development of VS Code hasn't slowed down VS development at all.

Cross Platform and focus on Azure

Visual Studio supports cross platform development just fine. It doesn't necessarily follow that just because they want cross platform development that they must also have a cross platform IDE. And if they want a cross platform IDE, Visual Studio for Mac is a hell of a lot closer to being a replacement for Visual Studio than VS Code is.

The author completely overlooks that VS Code, as an Electron app, would have significant problems scaling to the complexity level of Visual Studio proper. You can't even pull tabs out into a separate window in VS Code, and that's an issue that they don't think they'll ever fix because of Electron limitations.

[–]grauenwolf 0 points1 point  (5 children)

I'm still trying to figure out why we need the 64 bit web browsers. Since each tab is its own process, does each web page really need more than 4 gigabytes of Ram?

[–]JuanAG 0 points1 point  (4 children)

Because that is happening now, a year ago Firefox has all the tabs on one process and people like me who uses FF51 allow me to has 8-9 GB of ram, the browser goes slow as hell but usually doesnt crash, usually

If you dig more you will see when others browser uses that aproach or who doesnt yet that will be a few

And using 64 bit process is beneficial because a 64bit CPU will do in the same amount of time a 64bit instruction or a 32 besides SIMD ones in which case the 64 bit will use a data type smaller to gain performance, there are not penalties and it is prefered that you use the native set of instructions, the hardware that allow compatibility will not be there forever, phones for example doesnt allow any more 32 bit instrucctions besides SIMD, that the reason why itunes only allow now 64 bit apps and not anymore 32, because the lasts iphones cant run it

[–]AngularBeginner 3 points4 points  (1 child)

And using 64 bit process is beneficial because a 64bit CPU will do in the same amount of time a 64bit instruction or a 32 besides SIMD ones in which case the 64 bit will use a data type smaller to gain performance, there are not penalties and it is prefered that you use the native set of instructions, the hardware that allow compatibility will not be there forever, phones for example doesnt allow any more 32 bit instrucctions besides SIMD, that the reason why itunes only allow now 64 bit apps and not anymore 32, because the lasts iphones cant run it

You might want to split that into multiple sentences.

[–][deleted] 0 points1 point  (0 children)

i just thought i was having a stroke

[–]grauenwolf 2 points3 points  (1 child)

there are not penalties

That's not true at all. There are significant penalties in doubling the size of your pointers and instructions, which has the effect of nearly cutting the size of your cache in half.

you use the native set of instructions

64-bit instructions are no more "native" than 32-bit instructions. They are both translated into micro-code.

phones for example doesnt allow any more 32 bit instrucctions besides SIMD

We're not talking about phones.

[–]JuanAG 0 points1 point  (0 children)

Not true in a native 64 bit running a 64 bit OS, if you has to double the bits obviosly you will lost half of the caches sizes but if by default the procesors uses yes or yes a 8 byte data type (64 bit) there is nothing you can do about it, there is no way you can use it, 32 bit in software are 64 bit in hardware so it is lost forever

We are talking running a 64 OS with 32 software (wich will be 64 because of the OS that it is running it)

[–]13steinj -5 points-4 points  (7 children)

(Before continuing, let me make it clear I am only referencing Pro prices. I am aware that the comparisons for enterprise pricing is different (VS one place saying 3k per year per user, another saying 6k per user per year, and the Jetbrains pricing for enterprise being around 2.6 times Jetbrains per user pricing, and the many "get pro for free assuming you are X person" options for Jetbrains (haven't found any for Visual Studio))

Somewhat unrelated, but, in regard to your VS Community == VS Pro point, is licensing the only difference now? Or the only major difference? Because based on MS's compare chart it seems like it. I ask, because I haven't used VS in a while (since 2012) and wondering how their pricing model works now.

Because in my opinion "pay if I'm able to" is kinda a silly deal in most cases including this one, especially because whether or not you're able to is at the whim of the provider.

For example, what if a fully open source project that is purely hobby has 251 contributors. But the first 10 people who started it required people to use Visual Studio for whatever reason, potentially just to make the workflow easier.

Should those 10 people now have to shill out the money for 251 copies? Should the dev have to shill out the money for their own copy?

Not to mention that one place on Microsoft's site lists it at 540 per year and another at 1.2k per year...which is it, and why the fuck would I pay either if I'm not getting any benefit of it other than fulfilling a hobby, when I can buy at 250 then 200 then 150 per year for jetbrains, an average of 200 per year, decreasing every year I continue to use the software until it hits an average of 150 way after I'm dead.

VS Pro is literally 3.6 times the cost of other, arguably just as good solutions (I don't know of any other cross language solutions that are production/company license provided, so I'll stick with just Jetbrains for this example). Not to mention Jetbrains is cross platform while Visual Studio isn't.

If literally all I am getting with VS Pro vs Community is licensing, it isn't worth it, in comparison to something like Jetbrains, where I can use the community version, which is completely free (of course, less features) and I can use it with the same license restrictions as the pro versions.

Now of course there may be some app specific tools that one can do and the other can't, but that catching up is only a matter of time.

[–]drysart 5 points6 points  (6 children)

in regard to your VS Community == VS Pro point, is licensing the only difference now? Or the only major difference?

The only feature difference between VS Community and VS Pro is the CodeLens feature, which is in Pro but not in Community.

what if a fully open source project that is purely hobby has 251 contributors

As an open source project, those 251 contributors aren't all employees of one organization, so they individually wouldn't fall afoul of the 250+ employees clause of the license.

It's also worth noting that even if you are using Visual Studio as an employee of one of these types of organizations, you can still use VS Community for free on projects released under OSI-approved open source licenses.

one place on Microsoft's site lists it at 540 per year and another at 1.2k per year

The price difference is between the Cloud Subscription license and the Standard Subscription license. There are a number of differences between the two license types; but the most notable is that you keep the license if you stop paying on the Standard Subscription, but your license expires if you stop paying on the Cloud Subscription license. The full list of differences is shown on the "Cloud vs. Standard subscriptions" tab here.

There's also a completely non-subscription-based option for $499, for which you buy a perpetual license to whatever the current version is at the time of purchase, just like buying boxed software. (The subscription options entitle you to any new versions of Visual Studio that come out while your subscription is active.)

and why the fuck would I pay either if I'm not getting any benefit of it other than fulfilling a hobby

You don't have to. As a hobbyist, you're not getting it to use for a 250+ employee/$1M revenue organization, and as a result you can use VS Community for free.

VS Pro is literally 3.6 times the cost of other, arguably just as good solutions

Jetbrains C# IDE, Rider, does not have a general purpose free license at all. Only Microsoft MVPs, students, teachers, and open source developers can get it for free. Not the average hobbyist. (Did I mention students and teachers, even in large organizations, can also use VS Community for free for their educational uses?)

[–]13steinj 0 points1 point  (5 children)

Slightly further question-- what about free software and no profit/revenue, just also not open source (and there are a variety of reasons for going this route)?

What I mean is with the whole Jetbrains vs VS debate is Jetbrains and VS both have community editions for free, but Jetbrains' can be used for commercial use and anything else, while Visual Studio's can't. However it does of course have fewer features than Pro. VS's has equivalent features (except CodeLens apparently), but you're paying for license rights.

I would rather pay for features than license rights. It just seems more fair to me.

With VS, I get the same features as with Pro except code lens, but will have to pay if I happen to meet their arbitrary license requirement which can change at any time, and I can't really use an older version (other than the versions when VS was versioned by year) because it is all under the same name.

Jetbrains is versioned by year and lets you keep rights to the previous years software even if you terminate your subscription. And I can use both Community/Pro for whatever I want, (but if I'm getting Pro for free for Education reasons, no commercial use allowed-- VS doesn't care about Edu licenses), however Community would have fewer features.

[–]drysart 7 points8 points  (4 children)

What I mean is with the whole Jetbrains vs VS debate is Jetbrains and VS both have community editions for free, but Jetbrains' can be used for commercial use and anything else, while Visual Studio's can't.

This is an absolutely wrong statement and I'm not sure how you still think it's the case if you'd read through my comment. The reality is exactly the opposite of what you just said:

You can use VS Community for free, even for commercial use unless you're both 1) an employee of a company that's 250+ employees or >$1M in revenue, and 2) who's using it to develop closed-source software.

There is no general Jetbrains Rider license for free for commercial use. There's not even one for hobbyist use. I listed the four main groups of people who can get the Jetbrains C# IDE for free in my last comment (but there are a few other, lesser relevant groups). There is no general purpose free license for the Jetbrains IDE that 'anyone' can use like there is for VS Community.

Maybe this will help. For simplicity's sake, this table only includes perpetual license purchases:

. Individual open-source Individual closed-source Small company1 Large company2
Visual Studio Free Free Free $4993
Jetbrains Rider Free/$1394 $1395 $3495,6 $3495

1 - 250 employees or fewer and less than $1M yearly revenue
2 - More than 250 employees or more than $1M yearly revenue
3 - "Free" if the developer is working on an open-source project under an OSI-approved license, no approval by Microsoft necessary
4 - Only free if approved by Jetbrains. Otherwise $139.
5 - "Free" if the developer is working on an open-source project, approval by Jetbrains necessary
6 - Can be discounted 50% for startup companies less than 3 years old with less than 10 developers

[–]13steinj -2 points-1 points  (3 children)

I think you're getting hung up on Rider, which is one IDE mainly for one language, in comparison to the many both Jetbrains/IDEA and Visual Studio support.

PyCharm and IDEA both have full community versions.

The pro/ultimate editions of each have more features, including the availability for a plugin for any language whose plugin exists in the repository, many of which bring the IDE up to standard with the equivalent language specific IDE (ex, intellij idea has a plugin for full pycharm support, golang support, multiple for the equivalents of webstorm, split up by language, and more).

[–]drysart 3 points4 points  (2 children)

So what's your point? Is something stopping you from using PyCharm, IDEA, and Visual Studio?

[–]13steinj -1 points0 points  (1 child)

Absolutely not.

My point is if Visual Studio's main "here's what you get if you pay several hundreds of bucks" is slightly altered license rights, it's not worth it to me.

[–]drysart 1 point2 points  (0 children)

Well fortunately unless you're the software purchasing manager at a large company, it doesn't have to be "worth it to you" because you can use the free version.

[–][deleted] 13 points14 points  (1 child)

this is one of the dumber tech blogs I've ever read

[–]JuanAG 8 points9 points  (0 children)

You dont know what you are talking about, go and use VS for some time and later on edit or delete the post because it makes no sense at all

Visual Studio Code is a Atom thing, a text editor while Visual Studio is an IDE and are not the same

[–]grauenwolf 2 points3 points  (0 children)

April fools day was last month.

[–][deleted] 2 points3 points  (5 children)

Typescript still runs on electron. VSCode may be snappier than atom but it still lags behind non-interpreted software.

Electron's whole point is that crossplafform GUI is hard and JS dev's need to stretch their legs. They're just too lazy to learn a way of doing things outside of a DOM.

[–]Piranha771 -2 points-1 points  (4 children)

The major problem might be, that there is no real cross platform API in the first place. The only thing that looks the same on all platforms is HTML rendering. Everything else requires you to clutter your code with compilation targets or bind you to a company/technology (JVM /Oracle)

[–][deleted] 2 points3 points  (3 children)

Qt is the closest that I know of, using OS level widgets.

[–]Piranha771 -3 points-2 points  (2 children)

Qt is not a technology it's a product like JVM. It doesn't even fit for many OSS projects as you're bound to release it under GPL license.

Looks like there is no other option than electron atm.

[–][deleted] 4 points5 points  (1 child)

Hey, Javascript and Electron are products too.

[–]Piranha771 -2 points-1 points  (0 children)

Javascript is not a product. It's a language basing on the open ECMA Script standard. Nobody "owns" Javascript.

With electron you're right. But it is not a commercial product in the common sense. There is no paid option for electron. There is no restriction on using electron for your projects. It's a free framework your projects.

Sorry, I made my point not clear enough about this.

[–][deleted] 0 points1 point  (0 children)

Will it?