May 17, 2024
Guys, giving my insight after years. So much time passed and so many things learned and experienced. I will break up my advice in three parts - technical, career and business.
Before moving on, i think that comparing web frameworks is kind of not right, because any popular web framework you pick, works pretty much same, ORM, Models-View-Controllers, Routes, and HTTP request handling has to be done everywhere and different come in core things. I believe the discussion should mainly be around platforms, C# vs Java in web development, and further in, I will only compare C# and java, cuz comparing ASP.NET and Sprint is the same as comparing peach with an apple for me.
TechnicalBefore comparing, i suggest you to just try each of them and decide which you like more, do what your heart says. Technical capabilities of each tech, C# in general has more features and better developer experience than Java, you can do everything in both languages but in C#, things are achieved slightly faster and easier, performance-wise C# wins again. Most of things you do on C# is done using Microsoft things, due to enterprise environment it is used, everything is maintained very well and you won't feel any kind of discomfort as in Java, because java has quite big community too and in this case most of provided solutions are from open-source community. If you are wondering which is the more modern and faster, the answer is: C# and dotnet environment.
CareerNow let's discuss career-wise, both of C# and Java are very popular and both share a big pile of market, in global scope, java jobs are more than C#, and even in web or backend development or software development in general. Java has pretty strong tooling and it has been on market longer than C# (remember, C# was intended to be Windows clone of Java), which means that so many code is already developed in java, and so many professionals' main tool is java, which means that more and more jobs would be on Java, because most companies' infrastructure was written by Java developer. But if you want to start a job in your area, better choose according to open job positions and opportunities that each platform provides, prioritize your future, salary and potential and if you didn't like any of believe me, you will switch to another super fast, programming language is just a tool (a drill) that is designed to achieve tasks (make a hole in a wall) and achieving this is very similar everywhere (knowledge how to drill matters) and only some core and deep concepts are different (is it wireless drill or not).
BusinessTo be honest, I really doubt that some businessmen or entreprenuer will read this, so this is my thought about these environments from business perspective. Business should care and nowadays it cares about the profit. As long as it brings money, is stable and preferably cheap is good, they don't care how is the developer experience, fast by couple ms, is it Microsoft or Oracle or is it trendy or else. As long as it brings money, works and is stable, everything is ok, that's it.