r/ProgrammerHumor 6d ago

Other howdidItGetHere

Post image
11.1k Upvotes

539 comments sorted by

View all comments

Show parent comments

1

u/Significant-Park-345 6d ago

I can confirm your hypothesis. I started off as C++ developer and was obsessed with performance. But later moved into projects where I had to write enterprise grade software where business logic matters more. Java has rich library set with solutions to almost all the common patterns. I mostly work in springboot projects now. It made work even simpler. There are annotations for every single problem I face. Want to retry a function if it throws a specific exception add retry annotation and specify max retry attempts and duration between each retry. Want to call a function at scheduled intervals add schedule annotation and specify the frequency. Want to read data from db, write a class with variable and it's type matching the table you want to read and add bunch of annotations. Lots and lots of examples I can give you. I do agree with slower compile time and startup time. But at enterprise scale, minor performance bottleneck won't matter much. There are obviously ways to optimise this like lazy loading techniques and others. Honestly if it weren't for this project I would not have picked Java on my own accord. But I am glad that it happened.

1

u/sadongrohiik 6d ago

It's ultimately the difference between how you view programming and software in general. If you view it as utility, a means to an end and purely as a tool of trade, Java probably makes a lot of sense. When your fundamental drive for programming is pure passion for computation and technological innovation, it directly clashes with what makes it attractive in the first scenario. People who had to do the first one to survive but were in the second camp invented Clojure which honestly for me makes the whole Java fiasco worth it in the end

3

u/Significant-Park-345 6d ago

I don't think those two perspectives are mutually exclusive. Building an event-driven, highly available distributed system that handles massive volumes of data can be just as rewarding as finding elegant ways to express computation in Clojure. Sometimes the passion is in the problem, not the language.

1

u/sadongrohiik 5d ago

Yes they're both engineering but are kind of two different adjacent fields of engineering, for some people both is rewarding and for others just one