3 ms·
I've been waiting for someone to say this; Every development language includes a development community, and in this case, .NET communities are more or less ste
by huertanix 16y ago
I've been waiting for someone to say this; Every development language includes a development community, and in this case, .NET communities are more or less stenciled across internal department lines and rarely extend much further. When I first started working as a developer, I thought it was just my then employer's department tribalism, but no. These patterns are things I've seen in every .NET shop I've ever worked for. Each shop had their own interal closed-source data logger, data mapping, and some other frameworks that were shared internally, but accomplished in an unpolished, mediocre manner. Each shop's code was redundantly similar and none of it was impressive.
The internal frameworks developed in .NET shops are inefficient and mediocre not because the Ruby or Python communities are full of pure genius, but because they have more than a single person continuously working on improving them. Pythonists and Rubyists have a culture of sharing and coding in a constant loop of feedback. They talk to and work with each other. People in .NET culture do not. As a .NET developer I have rewritten code that has been created several times before, and it will die in obscurity behind the closed doors of the companies I've worked for.
This is something I only begun to realize by talking to JS, Ruby, and Python developers. I've been teaching myself Ruby since September and hope to leave .NET as soon as I can.
- Encosia 16y agoIt sounds like you've been working in soulless corporate sweatshops, which would be just as miserable regardless of which platform they adopt. Policy is the only thing preventing you from using log4net for logging and NHibernate for ORM (assuming that's what you mean by data mapping), for example, not .NET.
- huertanix 16y agoThat's mostly true, but the culture dominated even in a small, non-corporate startup that I worked for in Scottsdale. Once, a few of us were attempting to utilize the CSLA framework in our app, but as soon as the CFO caught wind of the required reading of third party docs, etc, he stopped the effort dead in its tracks, because it would mean "having to learn something new," and that statement pretty much sums up the prevalent mentality in the .NET community.
- Encosia 16y agoI know those attitudes prevail in some shops, but that hasn't been my experience at all with the .NET community as a whole. I do choose my clients carefully, but I've literally never had a client tell me that I couldn't use a third-party library that I chose, open source or not. Another data point: My posts on using jQuery to replace the client-side ASP.NET AJAX stuff got hundreds of thousands of views before Microsoft officially endorsed jQuery and began supporting it. There are tons of .NET developers out there using the best tool for the job. I think your criteria has to be who and what you're working on, not the platform. There are absolutely shops out there using Rails and Django with the same mentality that makes some Java/.NET shops miserable.
- MortenK 16y ago"he stopped the effort dead in its tracks, because it would mean "having to learn something new," and that statement pretty much sums up the prevalent mentality in the .NET community." This is an over the top and even somewhat offending generalization. I don't know if all companies in Scottsdale are like this, but I can promise you that it's most definitely not the prevalent mentality in the .NET community nor in most .NET shops I know of.
- kenjackson 16y agoIt's not so much offensive as contradictory. "We were told we could not use 3rd party components, which sums up the prevalent mentality in the .NET community. So we did not use the popular 3rd party component CSLA, written Rocky Lhotka, a well respected member of the .NET community." To make it clear... how can that mentality be THE prevalent mentality when there are these extremely popular third party components such as CSLA and Log4Net. They're popular because a LOT of .NET shops use them. They're extremely popular, because that mentality is not as common as you might think it is.