I'll preface this my saying that the last time I touched .NET was about six years ago, but my biggest turnoff with the .NET community was that it seemed like everyone wanted their $5, $10, $50 for everything. Libraries and tools that I could get for free with C++ or Ruby or Python seemed to all have price tags associated with them in .NET world. I don't remember the last time I saw the source for an assembly on GitHub et al.
I don't mind paying for good tools (and I would absolutely class Reflector as one), but there seem(s/ed) to be this very top-down mentality in the .NET world that everyone in every step of the chain has to make a buck. Reflector was a shining example of a great free tool in a sea of pay-for dreck, and it's quite sad to see that example die.
It's a bit disappointing, because this mentality seems like it really does a lot to stifle hobbyist exploration of the platform when it's doing cost you $48 in assorted widgets to build the toolset you need to try out an idea.
Edit: I should clarify that I don't think this is a bad thing, and I absolutely feel that Reflector justifies the price tag. The story just sparked some memories of my time in .NET that go a long way towards explaining why I'm not a .NET developer today. My time doing .NET development was in a professional context for my employer, so it's not like I couldn't get the tools due to cost issues, but the massive culture gap left an impression on me.
Comparing the price of each tool individually yes. However, if you add them all up then it really starts to be costly if you want to use most of those tools. You are limited in what you can budget for as an individual developer and are forced to look at the marginal cost of each new purchase as well as the opportunity cost of not buying some other tool unrelated to your purchase.
(Just in your example, we are already at $1335 not including the price of Visual Studio itself since the free express edition does not support add-ins such as ReSharper and other productivity tools)
I suspect this is because all the young developers who have the free time and inclination to release their efforts as open source are writing Ruby rather than .NET and Java these days. In a few years, they'll have mortgages and families too and will try to start charging for their work. The wheel goes round.
> this mentality seems like it really does a lot to stifle hobbyist exploration of the platform ...
It definitely does seem to stifle innovation on these platforms. Although if you need to use a bunch of commercial widgets in order to try out an idea, you're probably doing it wrong.
I understand what you're saying, but I don't think it's necessarily accurate. There are lots of people with marriages and families making good money in more open communities. I honestly don't believe the line that ".NET is a professional's community, Ruby et all are just for hobbyists". .NET has been relegated to a professional community because of the buy-in for everything, but it really doesn't have to be that way to make a living writing code.
Speaking as a 27 year-old-married-with-two-kids Rubyist, it's entirely possible to make a living charging for your work and still give away useful tools and libraries. I keep a GitHub account and publish code there, usually under MIT or BSD licenses, and while I don't publish everything I write, I have benefited so much from the open source that others have written that I contribute back to the community where I can, and somehow manage to get the bills paid at the end of the month.
I totally agree with you, and I think the simple explanation is that it starts at the top. You're building software with Microsoft tools on Microsoft platforms. You're in "commercial-land" right out of the gate. You're probably building software at a big company, or for a big company. Paying for software is common, and not a big issue. The cultures are just different.
It's not a reflection of the quality of the software or the quality of the engineers - it's just a fundamentally different culture.
I don't mind paying for good tools (and I would absolutely class Reflector as one), but there seem(s/ed) to be this very top-down mentality in the .NET world that everyone in every step of the chain has to make a buck. Reflector was a shining example of a great free tool in a sea of pay-for dreck, and it's quite sad to see that example die.
It's a bit disappointing, because this mentality seems like it really does a lot to stifle hobbyist exploration of the platform when it's doing cost you $48 in assorted widgets to build the toolset you need to try out an idea.
Edit: I should clarify that I don't think this is a bad thing, and I absolutely feel that Reflector justifies the price tag. The story just sparked some memories of my time in .NET that go a long way towards explaining why I'm not a .NET developer today. My time doing .NET development was in a professional context for my employer, so it's not like I couldn't get the tools due to cost issues, but the massive culture gap left an impression on me.