Understanding the .NET ecosystem: The evolution of .NET into .NET 7
I spent a lot of time as a Java developer and have recently moved into a spot where I&#x27;m being asked to work with C#. A few things rub me the wrong way, and I&#x27;m wondering if it&#x27;s just ignorance and &#x2F; or me being stuck in my old ways.<p>- Unit testing with mocking is kludgy compared to Java and Kotlin (Moq vs Mockito). There&#x27;s no mocking of concrete implementations for technical reasons, perhaps unless you shell out money for a paid product. This leads to folks putting interfaces everywhere so that code is testable.<p>- Along the lines of the above, everything feels a lot more corporatized or tied to Microsoft. The open source ecosystem and tooling around C# isn&#x27;t to the same level of the JVM langs.<p>- The project structure feels odd. Solutions hide a lot of files from you, whereas JVM langs generally show what&#x27;s actually there.<p>When it comes to actually writing implementations, I don&#x27;t mind it, and it&#x27;s far ahead of, say, Java 8. ASP.net might even be ahead of Spring in a few ways. But with Java 20 and Kotlin around, I don&#x27;t feel compelled to move to it as a new default.