3 ms·
> was not sure if the choice of language (Java) for the first half of the book would be a hindrance I think it is refreshing he uses a "boring" language.
by rightbyte 4y ago
> was not sure if the choice of language (Java) for the first half of the book would be a hindrance
I think it is refreshing he uses a "boring" language.
- bigDinosaur 4y agoThe way you phrase that makes it sound like you're implying there isn't an overwhelming dominance in terms of 'boring languages' and tutorials/content/books/training material. HN presumably doesn't upvote Java book #10^6 unless it is quite unique otherwise.
- bow_ 4y agoI didn't worry because of Java's perceived lack of 'excitement'. Just that I am more familiar with other languages and I worried I'd get lost trying to understand Java and not digest the material properly. I tend to fall down rabbit holes sometimes ... If anything, this has been another way for me to be more acquainted with Java, which I am happy for :).
- throwaway9032 4y agoJava is the opposite of boring. It lacks basic fundamentals such as algebraic data types and pattern matching. You will be kicking and screaming the whole ride. A boring language would be a language where you aren't triggered/bothered by its basic ergonomics and hygiene. In Java, you must translate discrete variants into dogmatic OO paradigm instead of using language primitives. Thanks to Java's poor design, it's fundamentally a hazard and a land mine thanks to null not being first class in type system. The use of null as a value inhabiting any type should result in a slap in the face upon opening a pull request (until Java adopts type-safe optionals like Kotlin) P.S. Switch expressions and sealed interfaces aren't there yet, Kotlin and Scala are still the only options if you are imprisoned to JVM.
- dunefox 4y agoI have the same opinion about Java and I hesitated as well before starting to read the book, so I'll use either Kotlin or common lisp.
- stolsvik 4y agohttps://openjdk.org/jeps/360 https://openjdk.org/jeps/360 https://openjdk.org/jeps/394 https://openjdk.org/jeps/394 https://openjdk.org/jeps/406 https://openjdk.org/jeps/406