| 17 Jul 2025 |
msgilligan | I'm guessing there's code in Nixpkgs that still deals with the 1.8 versioning for Java 8... | 23:41:10 |
@softmoonworld:matrix.org | oo i should take a look at that and see if i can imagine the history | 23:41:33 |
msgilligan | Java 17 is a good version to start with. The newer you can use, the better. They've really made dramatic improvements from 8 (aka 1.8) to 25 and seem poised to continue the good work. | 23:43:00 |
msgilligan | And part of the (historical) problem(s) with Java was that there were some really bad "enterprise" programming patterns that infected the ecosystem. They weren't required by the language, but they were ubiquitous. | 23:44:22 |
Infinidoge 🏳️⚧️ | See also FizzBuzz Enterprise Edition | 23:45:08 |
msgilligan | OutputGenerationContextVisitorFactory oh yeah! | 23:47:10 |
msgilligan | import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors.OutputGenerationContextVisitor; | 23:47:35 |
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 |