4 ms·
One of the things I love about .NET is the monoculture. It means that I can jump on any .net stack and have extensive experience with their ORM, their IDE, th
by JamesBarney 8y ago
One of the things I love about .NET is the monoculture. It means that I can jump on any .net stack and have extensive experience with their ORM, their IDE, their language, their sql database, their mvc framework, their front end language, and even their mobile stack. It's one of the few stacks that truly allows you to be a full stack developer with ease. I love solving algorithmic problems, I love data modelling, I love learning about the domain, I love solving software engineering problems to deliver useful software people love. I dont like spending time going through documentation and learning yet another technology that accomplishes the same thing.
98% of projects can be accomplished just as well with react or Angular, typescript or Vue, mysql or sql server, hibernate or EF, asp.net mvc or Nancy, c# or f#, git or tfs, Asana or VSTS. These decisions don't matter nearly as much as the expertise of the team. So it's nice to be able to field or join a team of experts on every part of the stack and focus on solving problems with technology and not the technology.
- deanCommie 8y agoOnly if you ignore the entire .NET OSS community, most of which puts out better versions of everything you list than the default Microsoft stuff. I do think I understand your point - there is comfort in knowing there is one default solution for almost every abstraction. But how much can you love it when each one tends to be mediocre? Disclosure: I spent 10 years working on .NET from 2006 to 2016 , so I've missed the last revolution of .NET Core, so maybe things got better?
- JamesBarney 8y agoWebforms was absolutely awful and I've worked with technologies so terrible they single handedly sank projects.[0] . But I've never found that modern .NET defaults were so terrible it wasn't made up for by the voluminous amounts of documentation(not just official documentation but stack overflows/blog posts etc) that you get from the default option. Whatever weird issue you end up running into there is a documented fix which can save anywhere from hours to days of time.. Not sure what you worked on but .NET has gotten better since 2016 but not by leaps and bounds(exception EF Core is leaps and bounds better than the prev. version). I've always thought asp.net mvc was good, newest one is better but not by a huge margin. Original EF was bad but EF Core is far better. TFS was mediocre but now everyone uses git. Typescript is absolutely delightful. Xamarin's kind of painful but all cross platform mobile development seems to be. Visual Studio is probably best in class of the heavy duty IDE's. I've heard complaints about nuget but it always seems reliable which is more than I can say about npm. The work item tracking kind of sucks but it makes up for it with streamlined integration from the IDE->commit->task tracking->time tracking->reporting->invoicing. The part of the stack that always bothered me were the poorly designed DevExpress/Infragistics controls that were ubiquitous. They get weird impossible to debug errors. They seem to trade extensibility for endless amounts of configuration. But with modern .NET applications you don't see them anymore which has brought me great joy. [0] - One time upper management forced all of the devs in the organization to use a high performance real time database that fell down with 200 points/minute. And would sometimes(monthly) crash so hard both the data and the installation and sometimes the vm were unrecoverable. It took 3 days to install and we required one full time person on a team of 5 whose full time job(she was working 60 hr weeks) was just to keep 3 instances running(Dev/test/stage).