5 ms·
What are some good primers to understand the prominent new Java features? Not just in 20, but since, say, 8. Asking as someone who would like to be cursorily fa
by nsm 4y ago
What are some good primers to understand the prominent new Java features? Not just in 20, but since, say, 8. Asking as someone who would like to be cursorily familiar with Java, but does not use it day to day. I'm very familiar with things like auto type inference, pattern matching, multi-line strings and structured concurrency from other languages, so I'm not looking for an introduction to Java. I'm looking for something like "Modern Java for the experienced Rust/Python/C++ programmer". Thanks!
- mongol 4y agoBoring answer... but Chat GPT? I asked it what was new in Java 8 and it enumerated a number of features. I could proceed to ask it about more details for each, and then continue Java version by version and I think it would be quite exhaustive. The other day I did something similar for cell biology. As a layman I wanted to learn more about DNA, mRNA, tRNA, translation, transcription, mitosis, miosis, etc. I think I learned it much better by querying Chat GPT than say reading Wikipedia. Something about the interaction, to ask for more details on what was not clear that helped me understand it.
- nsm 4y agoThanks! I keep forgetting to reach for this.
- copperx 4y agoI've avoided that because of the tedium of having to fact check everything.
- illiarian 4y ago> Boring answer... but Chat GPT? Trained on data up to September 2021.
- dragonwriter 4y ago> Trained on data up to September 2021. Wrap the ChatGPT API in a ReAct pattern implementation where one of its available actions is a search against the Java 20 docs? Probably better for reference than tutorial, though.
- Legion 4y agoThe problem with ChatGPT is that, when it should say "I don't know", it will instead confidently spew plausible sounding garbage.
- coldtea 4y agoSo, like most people?
- smcl 4y agoThere are bullshitters in the real world, but for the most part they tend to just say "I don't know" in a really convoluted way. They won't, for example, completely fabricate entire concepts and speak confidently and in detail about them. For example, I asked ChatGPT about the meaning of a non-existing verb ("to spoink"). It originally said the word didn't exist, but when I said "are you sure? we talked about it before, it's something to do with trifle" it invented an entire episode of the IT Crowd (Season 3, Episode 3), talked at length about how that word appeared twice. It claimed that one character - Moss - created it as the sound a metal ball would make if it hit a hard surface, and also that it's what happens when you leave a trifle out uncovered in the open and it goes lumpy. It's creative, but it's nonsense. Very few humans could pull this off convincingly or would even attempt it. They would say "no we didn't talk about the verb 'to spoink' that sounds like nonsense".
- peterashford 4y agoNo. When I ask a workmate how something works, they don't just lie to me. YMMV
- anotherevan 4y agoRP @johl@mastodon.xyz: I wish more people understood that "I want the computer to generate a natural language text that sounds like a plausible answer to a question about x" and "I want the computer to answer a question about x" are two very different problems. https://aus.social/@johl@mastodon.xyz/110050185180546324 https://aus.social/@johl@mastodon.xyz/110050185180546324
- sarchertech 4y agoWhen I’ve asked chatgpt to explain something to me that I’m very knowledgeable about, distributed systems, it was flat out wrong about many fundamentals in a way that would have seemed completely plausible to a novice. It was making up algorithms, complete with fake but believable names, to solve problems that are provably unsolvable. My wife, a physician, reported similar errors when I got her to ask it medical questions. Using chatgpt to learn about something new is flat out dangerous.
- nerpderp82 4y agoYou have to provide more context, so that it has something to bridge in the high dimensional space. > The Byzantine Generals Problem is a more difficult problem than the Two Generals Problem because it requires a consensus algorithm that can tolerate the presence of faulty actors. There are many solutions to the Byzantine Generals Problem, including Byzantine Fault Tolerance, which is a common technique used in distributed systems to ensure that the system can continue to operate correctly even in the presence of faulty actors. One can't jump over a chasm, you have to literately bridge from the known to the unknown. https://privatebin.net/?45ed3f39de71f289#eyiwC81q93MtfpimZBHHKv3jaBudYJLSrGbyss8zqgg https://privatebin.net/?45ed3f39de71f289#eyiwC81q93MtfpimZBH...
- kedean 4y agoYou're supporting their point. You can't go to ChatGPT for knowledge you don't already have because it will confidently spout garbage, which is what was being suggested "whats new in java X". If you can build that bridge yourself then you aren't asking it for knowledge, you're asking it to format things for you.
- nerpderp82 4y agoI disagree, I use it all the time for things I don't know about. I then feed those discoveries into semanticscholar, scholar.google.com, wikipeida, libgen.is, etc. I then ask it so summarize and ELI15. If ChatGPT is feeding you bogus knowledge then you are already consuming bogus knowledge over your existing channels. If you aren't including feedback into your understanding you are recording, not learning.
- aardvark179 4y agoYou might find just browsing the JEPs will get you a long way. https://openjdk.org/jeps/0 https://openjdk.org/jeps/0
- emdashcomma 4y agoHere are some resources I've found helpful and have read or are on my backlog to catch up with these developments: - https://github.com/wesleyegberto/java-new-features https://github.com/wesleyegberto/java-new-features (terse, includes links to JEPs, good jumping off point) - https://github.com/winterbe/java8-tutorial https://github.com/winterbe/java8-tutorial (quick tour through features of Java 8) - https://winterbe.com/posts/2018/09/24/java-11-tutorial/ https://winterbe.com/posts/2018/09/24/java-11-tutorial/ (same for Java 11) Books: - Java 8 in Action / Modern Java in Action (Raoul-Gabriel Urma, Alan Mycroft, Mario Fusco; 2014 and 2018 respectively) - The Well-Grounded Java Developer (Martijn Verburg, Benjamin Evans, Jason Clark; 2022) - not specifically focused on new features but does cover them in the context of going deeper into Java and the JVM.
- cbm-vic-20 4y agoJava Almanac can show the API differences between versions of Java. https://javaalmanac.io/ https://javaalmanac.io/
- 62951413 4y agohttps://reflectoring.io/java-release-notes/ https://reflectoring.io/java-release-notes/ https://advancedweb.hu/new-language-features-since-java-8-to-18/ https://advancedweb.hu/new-language-features-since-java-8-to...
- VagueMag 4y agoI've been trying to get caught up while job searching after being laid off, and have found YouTube to be a pretty good source, the Java language advocates are all very keen to show off all the shiny new stuff. Also definitely recommend the JEPs as one of the other sibling comments did. All of the "Data Oriented Programming in Java" stuff is I think especially relevant, Brian Goetz had a good article on InfoQ about it.
- carimura 4y agoalso http://dev.java/evolution http://dev.java/evolution
- cryptos 4y ago- https://www.baeldung.com/java-8-new-features https://www.baeldung.com/java-8-new-features, - https://www.baeldung.com/new-java-9 https://www.baeldung.com/new-java-9, - https://www.baeldung.com/java-10-overview https://www.baeldung.com/java-10-overview, - https://www.baeldung.com/java-11-new-features https://www.baeldung.com/java-11-new-features, - https://www.baeldung.com/java-12-new-features https://www.baeldung.com/java-12-new-features, - https://www.baeldung.com/java-13-new-features https://www.baeldung.com/java-13-new-features, - https://www.baeldung.com/java-14-new-features https://www.baeldung.com/java-14-new-features, - https://www.baeldung.com/java-15-new https://www.baeldung.com/java-15-new, - https://www.baeldung.com/java-16-new-features https://www.baeldung.com/java-16-new-features, - https://www.baeldung.com/java-17-new-features https://www.baeldung.com/java-17-new-features, - https://www.developer.com/java/java-18-features/ https://www.developer.com/java/java-18-features/, - https://www.infoworld.com/article/3676699/jdk-20-the-new-features-in-java-20.html https://www.infoworld.com/article/3676699/jdk-20-the-new-fea... - https://www.infoworld.com/article/3653331/jdk-19-the-new-features-in-java-19.html https://www.infoworld.com/article/3653331/jdk-19-the-new-fea...,