4 ms·
I think this is one of the things that a lot of people in the FOSS don't get. Most ppl I know on the MS stack use it because its the best tool for their job.
by kenjackson 16y ago
I think this is one of the things that a lot of people in the FOSS don't get. Most ppl I know on the MS stack use it because its the best tool for their job. But will also use FOSS where it makes sense. They're just not as ideological, and are much more technology driven.
I suspect the staff at Stack Overflow never blinked at using FOSS software. I suspect they said, "we need capability X, lets find the best tool to handle it".
- mythz 16y agoI really wish it were the case that most devs on the MS-stack don't drink the kool-aid and use all-things-Microsoft. There are still devs using DataSet's in VB.NET, pushing the SOAP envelope, using the MS Patterns & Practices stack and continue to develop ASP.NET web apps like state-heavy windows apps since that's what they were told to do. I don't blame anyone for forming a stereo type on .NET devs, considering pre-ASP.NET MVC (years late to the game), there was no competing web framework to the anti-web state-heavy ASP.NET, simply because IMHO there was none sanctioned for use by MS. Sadly there is an inherent Microsoft culture that will only believe and advocate anything as long as they've read it on microsoft.com. Despite their failed DAL's and poor application frameworks, Truth is IMHO Microsoft have created a superior development platform with C#/.NET and with VS.NET/R# by the C# devs side, it's one of the most productive ones to use. Fortunately there are free-thinking pro developers, not constrained to think inside MS toolbox, who just want to use the best software they can use, regardless of the culture. Interestingly it seems a lot of the time C#/FOSS devs will independently come to the same conclusions on best-of-class FOSS software to use: e.g. nginx / redis / linux / naigos -- i.e. the best tool for the job. StackOverflow is clearly one such 'pro-dev company' not shackled to the MS Platform nor will purposely/religiously maintain an anti-MS stance since they'll continue to use MS tools and products where they think to be highest quality (i.e. C# / IIS7 / SQL Server). It's quite clear StackOverflow has a job to do, and they'll end up choosing the best tools they think to do it. I believe this pro-dev, high-quality culture is why they've become so popular, providing some of the most enjoyable website experiences on the Internet - all without skipping a beat, or with a hint of growing pains.
- bad_user 16y agoI like your comment, but there's something untold here: There's value in thinking inside the box - MySQL / PostgreSQL may not be the best in any category, but with inside knowledge of the internals, you may fine tune it to surpass any competitor in performance / scalability. I can't find the project right now, but there was this one guy that made a plugin for MySQL which allowed him to get passed the query parser/optimizer and talked directly with InnoDB ... with the result being much better performance than Memcached; using InnoDB as storage. And because the Memcached protocol is public, heck, you could even have memcache-clients talking directly to your DB. Not having loyalty to technologies or companies is pragmatic and kick-ass and makes you better in some ways - but it also gives you a wishy-washy attitude, and this outside-of-the-box thinking is actually inside-the-box from at least one perspective, as you'll end up jack of all trades, master of none. And if you are going to master a piece of technology, which would you rather choose? A proprietary piece of technology that's best in class for what it does, for which you don't have access to source code, and which might be discontinued after Microsoft invents this new / shiny and backwards incompatible alternative? Or an open-source alternative that's slightly worse in benchmarks or tools available or features - but that you can make it your bitch in any way imaginable? Pick your poison.
- mattbriggs 16y agoI find the opposite. Back when I was working in .net, I remember one argument I got into with my boss with regards to software evaluation. MS has a testing framework and a build tool that are basically a generic xunit and an ant clone. Now, there are a great many better xunit implementations on .net, and I think we can all agree at this point that xml isn't the greatest programming language for build scripts. I was pointing out various choices that beat out the MS ones in terms of community, maturity, and features. His argument was basically that if MS doesn't have the best product, eventually they will make it better and it will become the best. Every community has strengths and weaknesses. IMO the big weakness of the .net community is also the worst thing about MS itself from a tech point of view - a real unwillingness to look at what everyone else in the world is doing. Because of that, you see this strange effect where enterprise trends seem to happen about 5 years later in .net then they do in other communities. For example, it is only extremely recently (like in the last two years) that it started to become normal for .net shops to use ORMs, and the hot debates over whether or not to unit test are just starting to die down. And it is really in the last year that the most bleeding edge shops have started to look at DCVS (the cutting edge ones are on svn, and the majority on a cvs type system). And for the record, I don't think .net is a bad platform or anything like that. What I do think is that the single thing that could improve most .net shops is being more open to non ms technology.
- kenjackson 16y agoBecause of that, you see this strange effect where enterprise trends seem to happen about 5 years later in .net then they do in other communities. I think this is a different issue. And this I think is true, but actually by design. It's funny because when I consulted I ran into the opposite problem. I'd go into shops and the devs wanted to do some cutting edge stuff. I usually came in and convinced them that this was a bad idea. :-) The reason for this was pretty simple -- usually the stuff they wanted to use wasn't ready, and didn't match the culture of enterprise shops. For example I remember NHibernate picking up steam and lots of shops wanting to use it, but there were a lot of holes in it still. And DVCS is another great example. In enterprises there is very little advantage of Git over SVN. SVN's offline support has been great for years now. I can add/revert without touching the network. And in the enterprise you don't have a model of "anyone pull down a branch". You want a very controlled version of the code around. Yet, again, a lot of .NET devs want to use Mercurial and my recommendation, in most cases, is that its not a good idea. BUT source control is a great example where .NET devs have clearly not towed the line, given that I rarely see a shop using TFS. Everyone uses SVN or Mercurial. Just as no one used Source Safe in the past. If .NET devs just followed MS blindly we'd see all of these .NET devs using TFS and waiting for MS to make it better. Hasn't happened.