DEV Community

Discussion on: Why not Java

 
davidsackstein profile image
david-sackstein

As a developer I want to focus on the tasks at hand and to learn as little as possible so that I can get the job done effectively.
.Net is also a huge framework, but when you learn one part, you often find that others follow the same pattern and the incremental learning effort is small.
And its not just about learning. The costs of working with a disparate ecosystem that has no clear direction or consistency is enormous and is often just a question of trial and error. It is not just learning. It is often guessing.
I have been through this so many times in the last 2 years. You want to make a small change, you need to upgrade a library. You find it is not compatible. You need to upgrade something else. You get cryptic error reports. You scan the internet for help. You find many, many developers with the same problems. Each suggest there own solution. None work for you, then you find mention of a tiny detail somewhere that you think might help - and it does. But it is brittle. You find that you cannot do A and B and C and everyone who says they succeeded to do so were using B v2 but you are on v3. And should it make a difference? Yes? No? Guesswork.
With .Net it doesnt work like that. You download the sample and F5 and it works.
This is not about learning a huge network.
It is trying to cope with a brittle ecosystem that has little consistency and spending hours of trial and error.
Try upgrading from Spring Boot 2.1.3 to 2.3.4 all hell breaks loose.
Try getting to use Junit 5 when working with Spring Boot. Good luck with removing the transitive dependencies on Junit 4.

Thread Thread
 
siy profile image
Sergiy Yevtushenko

I see no point to transfer your bad experience with Spring to whole Java ecosystem. I have my own set of painful stories related to Sprint.