I&#x27;ve spent years coding C# apps and really like the core language. But .Net app dependencies and deployment are a huge pain, especially if you decide Linux might be a cheaper way to go. However, the biggest problem with .NET is the huge overhead of having to learn some new framework every time you want to try something new. Months and maybe even years of wasted time learning MVC, MVVM, Sliverlight, WCF, Remoting, etc. etc. I cringe every time Microsoft announces some new framework as the next standard for .NET apps.<p>Also, bringing a developer without .NET experience into a project means 6 months before they can do most anything and a good year to be truly up to speed. The ramp-up time for both C# and Java applications are now about as long as C++.<p>I had high hopes for .NET core. I saw it as a way to start over creating a Go like situation on top of the C# language. But it&#x27;s still about two years from being production ready and its already gotten complex and bloaty. Just to install the development tools and environment means multiple downloads, dependencies, and install scripts. Download a zipped file, extract to the directory of your choice, and set a few environment variables. That&#x27;s the way to ensure reducing complexity.