7 ms·
These are not the reasons I like Java at all (I still use Java 8). My reasons are: 1. C-like language - Flip between C, C++, Java and JS with minimal thinking
by bArray 4y ago
These are not the reasons I like Java at all (I still use Java 8). My reasons are:
1. C-like language - Flip between C, C++, Java and JS with minimal thinking about syntax.
2. Build once - I can build locally and deploy the byte code straight to production. I don't need to worry about the production server having the right packages as long as everything is bundled in my JAR.
3. Libraries just work (mostly) - It doesn't matter if the library was written yesterday or 10 years ago, as long as it was written sanely, it should just work.
4. Garbage collector - Really in top class. I can create and throw away huge amounts of RAM and not have to worry about leaks and have it dealt with realitively little performance impact.
5. Memory safety - Never having to worry about pointers, segmentation faults, etc.
6. Exception handling - And if all else fails, Java will ultimately give you the opportunity to recover from many different scenarios. This may seem like lazy programming, but actually it's for the edge cases you can't think of. If your program does happen to crash, you get a very good stack trace.
Java may be cumbersome and repetitive is some areas (and perhaps the newer additions to the language deal with this), but I would take them every day of the week.
The only thing that has really left me wanting is C-like performance and networking capabilities. Most other things I want to use are very well implemented.
- kaba0 4y ago> The only thing that has really left me wanting is C-like performance Well, it is basically there in hot loops. Not necessarily with idiomatic Java, you do have to use primitives but it is absolutely achievable. Also, what do you lack with regards to networking?
- bArray 4y ago> Well, it is basically there in hot loops. Not necessarily with idiomatic Java, you do have to use primitives but it is absolutely achievable. Not quite in my opinion. Not bad, but it can be half performance at times. > Well, it is basically there in hot loops. Not necessarily with idiomatic Java, you do have to use primitives but it is absolutely achievable. Setting more intricate TCP settings, or sending ICMP, or essentially anything advanced.