Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼


Funding the .NET Development Ecosystem

In the write-ups for the Jolt Awards in Coding Tools, I called out Microsoft for the sky-high prices of the high-end editions of Visual Studio 2013. As I pointed out, the top edition, referred to as "Ultimate," has a retail price of $13,299, while the next lower-priced version ("Premium") costs $7000 less — which remains a princely sum. These numbers are for show. No one actually pays them. Rather, they pay for the less-expensive corresponding MSDN subscription, which includes the desired edition. And at large sites, customers pay even lower prices. In sum, the $13K price is there primarily to create the perception of value (and of correspondingly significant discounts on bids for new business.)

While there is no doubt that Visual Studio is great software and delivers considerable value, I can't help asking why it does not deliver more. For example, one of the highly touted new features of VS2013 is built-in support for Git, the addition of which means that Microsoft finally added a feature found in other IDEs for years. To make the point explicitly clear, VS2013 now has out-of-the-box support for two SCMs: TFS and Git. Hardly the stuff of $13K tools.

Moreover, why hasn't Microsoft included the IDE enhancements offered by two other contenders for the Jolt Award, DevExpress CodeRush and JetBrains ReSharper? While Visual Studio occasionally aggregates the features of previous versions of these tools, it does so very slowly — at roughly the speed it adds SCM tools. The reason for this is political. Microsoft has long had a relationship of benevolent protection towards vendors who sell development tools and extensions: It will not roll over the vendors by bundling equivalent products in its offerings.

Because of this dynamic, .NET developers enjoy a very wide array of software, especially controls and libraries, from third-party vendors, such as Telerik, ComponentOne, Infragistics,  n/Software, and many others. These vendors get cover for their own pricing by the prices charged by Microsoft for the base product. That this model works and has richly rewarded all involved parties is undeniably true.

For comparison, consider the Java ecosystem, where the model is turned upside down. That community has long been raised on the notion of free or nearly free tools. For example, the principal Java IDEs are available as free open source, and even the one paid stand-out, JetBrains IntelliJ IDEA Ultimate Edition, costs only $499 at full retail. While the "free" aspect has provided multiple choices for Java IDEs, it has eliminated the market for Java widgets. Java controls come primarily from free packages: Swing, JavaFX, or the SWT. Commercial vendors have not fared well in this space. In the '90s, the KL Group (later called Sitraka), which had made its name selling topflight widgets for Unix, was unable to gain traction in Java. In the '00s, Trolltech tried to enter the market with a Java wrapper (Jambi) for its widely admired Qt library with equally little success — despite excellent products in both cases and established reputations in other communities.

While it can certainly be argued today that the failure in the Java space is due to the language's absence in client-side UIs, that was not the case when both these products initially came out. At that time, competition between Swing and SWT was closely followed by developers and the press alike. And the dream of a single UI codebase that could run on any platform was very much being pursued. (Ultimately, successfully, as can be seen by the ability of Eclipse and IntelliJ IDEA to run on numerous platforms.) However, the expectation of free products essentially killed off the third-party market and made it such a barren place that no entrants have since been willing to enter there.

Normally, the open-source community would be a rich alternative solution for such widgets. But a low-activity Apache project, Pivot, is one of the very few ongoing efforts in the Java world. Curiously, in the .NET space, there are also few open-source alternatives to the commercial libraries. (The Mono project is the one conspicuous exception.) The widely held belief that open source will flourish where there is demand but few free resources is shown to be incorrect in the .NET universe. This is due, in part, to the dynamics of most large-scale open-source projects: They tend to be sponsored by a commercial vendor. (Novell, in the case of Mono.) And as yet, no vendor has seen benefit in developing free alternatives to the principal tools and libraries for .NET developers.

In sum, when looking at developer products from Microsoft either in their sky-high standalone prices or their more moderate MSDN equivalents, if the question arises regarding why they're so expensive, the answer is you're supporting an entire ecosystem.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.