| 17 Jul 2025 |
msgilligan | @moon, if you'r the book-reading type you might look at:
- https://www.manning.com/books/modern-java-in-action
- https://www.manning.com/books/the-well-grounded-java-developer-second-edition
| 23:51:08 |
msgilligan | "Modern Java in Action" is excellent, though getting a little bit dated since it was written in the Java 9/10 era. | 23:51:48 |
msgilligan | "The Well-Grounded Java Developer" is more modern but jumps around between topics a little. It includes coverage of Clojure and Kotlin which may or may not interest you. | 23:52:39 |
msgilligan | * @moon, if you're the book-reading type you might look at:
- https://www.manning.com/books/modern-java-in-action
- https://www.manning.com/books/the-well-grounded-java-developer-second-edition
| 23:55:19 |
| 18 Jul 2025 |
@softmoonworld:matrix.org | Oh I am! Thank you for the recommendation msgilligan . these look really helpful. | 00:02:25 |
@softmoonworld:matrix.org | I think the well grounded developer sounds like the perfect book since i have to clean up and modernize and move things over to kotlin slowly | 00:04:25 |
Infinidoge 🏳️⚧️ | I wish I could like Kotlin | 00:04:41 |
Infinidoge 🏳️⚧️ | But alas
Conflict of Interest: The Language | 00:04:54 |
msgilligan | And if you're looking for an absolute beginner book, "Java in a Nutshell" was great. (Don't ask me what version Java was at when I first read it 🤣 -- but I've looked at the updated versions they're good too -- they finally realized there was this thing called "the internet" and got rid of the reference section) | 00:05:12 |
@softmoonworld:matrix.org | what don't you like about kotlin? i haven't really written it. only clojure | 00:05:17 |
Infinidoge 🏳️⚧️ | Since it's made by a company that also produces IDEs, it has pretty abysmal support outside of IntelliJ, and they have little motive to improve it | 00:05:52 |
Infinidoge 🏳️⚧️ | If it weren't for that, I'd like Kotlin | 00:05:59 |
msgilligan | I like Kotlin, but I avoid using it in libraries because it drags in the Kotlin Standard Library as a dependency. | 00:06:33 |
msgilligan | I'm a happy/paying IntelliJ user, but I've heard Kotlin support elsewhere is improving. And you can install IntelliJ Community (and the licensed version too) with Nix if you want. | 00:07:30 |
@softmoonworld:matrix.org | ohh yeah i can't stand corporate languages at all. i don't like having to commit to anything that disconnects me from everything else | 00:07:54 |
Infinidoge 🏳️⚧️ | I'm fully aware I can use IntelliJ, I very specifically don't | 00:07:56 |
Infinidoge 🏳️⚧️ | However Kotlin is only truly supported by IntelliJ, which makes it untenable for me | 00:08:09 |
msgilligan | Oh yeah, and Kotlin has bootstrappability issues (along with Gradle) that are keeping Debian Gradle back at Gradle 4.4 (with so many patches that it's known as "FrankenGradle") | 00:08:45 |
Infinidoge 🏳️⚧️ | I haven't tried it since I was using Doom Emacs (I've since switched to Neovim), but it was such a pain trying to get it to work that I instead decided to rewrite everything Kotlin in the template I was trying to use to Java, before later deciding "That isn't worth it" and starting from scratch | 00:09:22 |
msgilligan | And Java has adopted many of Kotlin's improvements and appears to have narrowed the gap. For me, the biggest thing I miss from Kotlin in Java is operator overloading (for numeric types) but I think we'll start to see that in Java in 2-4 years. | 00:11:18 |
msgilligan | One of the things I want to do with Nix is learn how to set up a souped-up version of Neovim with LSP server(s) etc. | 00:14:26 |
Infinidoge 🏳️⚧️ | Nixvim might be up your alley :) | 00:16:42 |
Infinidoge 🏳️⚧️ | I know there is another similar project, but Nixvim is what I use | 00:16:55 |
msgilligan | Can I use it in Home Manager on macOS? One of my other goals for using Nix is to migrate more of my stuff to Linux from macOS and Nix and Home Manager allows me to straddle the two as I'm migrating. | 00:18:05 |
Infinidoge 🏳️⚧️ | The 2 things I personally want for Java is operator overloading and the removal of type erasure | 00:18:14 |
Infinidoge 🏳️⚧️ | Type erasure is such a pain | 00:18:21 |
Infinidoge 🏳️⚧️ | In reply to @msgilligan:matrix.org Can I use it in Home Manager on macOS? One of my other goals for using Nix is to migrate more of my stuff to Linux from macOS and Nix and Home Manager allows me to straddle the two as I'm migrating. Should be able to! | 00:18:41 |
msgilligan | Yes, type erasure is one of the "original sins" of Java (though it happened as part of Java 1.5 5) | 00:19:22 |
msgilligan | I'm also waiting for Valhalla (which will allow value-types and more compact memory organization -- it should really help appropriately written Java apps to use a lot less memory) | 00:20:50 |
msgilligan | Note that you can use FFM to define memory "layouts" that store data in a more packed ("flat") format and provide accessors to pull things out (like you can do in C++) | 00:21:43 |