diff options
Diffstat (limited to 'gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.gmi')
| -rw-r--r-- | gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.gmi | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.gmi b/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.gmi index 8a8ca6dc..652a9350 100644 --- a/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.gmi +++ b/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.gmi @@ -94,7 +94,7 @@ While (re)learning Java, I felt like a student again and was quite enthusiastic I don't hate Java, but I don't love programming in it, either. I will, I guess, always see Java as the necessary to get stuff done (reading code to understand how the service works, adding a tiny feature to make my life easier, adding a quick bug fix to overcome an obstacle...). -Although Java has significantly improved since 1.4, its code still tends to be more boilerplate. Not mainly because due to lines of code (Golang code tends to be quite repetitive, primarily when no generics are used), but due to the levels of abstractions it uses. Class hierarchies can be ten classes or deeper, and it is challenging to understand what the code is doing. Good test coverage and much documentation can mitigate the problem partially. Big enterprises use Java, and so also look at the languages. There are too many libraries and too many abstractions that are bundled with too many legacy abstractions and interfaces and too many exceptions in the library APIs. There's even an external library named Lombok, which aims to reduce Java boilerplate code. Why is there a need for an external library? It should be all part of Java itself. +Although Java has significantly improved since 1.4, its code still tends to be more boilerplate. Not mainly because due to lines of code (Golang code tends to be quite repetitive, primarily when no generics are used), but due to the levels of abstractions it uses. Class hierarchies can be ten classes or deeper, and it is challenging to understand what the code is doing. Good test coverage and much documentation can mitigate the problem partially. Big enterprises use Java, and that also reflects to the language. There are too many libraries and too many abstractions that are bundled with too many legacy abstractions and interfaces and too many exceptions in the library APIs. There's even an external library named Lombok, which aims to reduce Java boilerplate code. Why is there a need for an external library? It should be all part of Java itself. => https://projectlombok.org/ |
