IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
Java Annotated Monthly – December 2019
Many of us are winding down for the end of the year. Or, more likely, desperately trying to hit deadlines before vacations, public holidays, or the schools break up. This month’s Java Annotated Monthly is not too full to take away from your busy schedules, and designed (as usual) for you to skim over the topics and dive into just the ones that interest you. Good luck with the tail end of 2019!
Java News
-
Project Loom: Helping Write Concurrent Applications on the Java Platform (video) – overview of lightweight threads in Java (not yet available)
-
JEP 305: Pattern Matching for instanceof (Preview) – due in Java 14. No more nasty casting after an instanceof call!
- JEP 359: Records (Preview) – “Records are a new kind of type declaration in the Java language. Like an enum, a record is a restricted form of class.”, also due in Java 14
- Records feedback – comprehensive feedback from Stephen Colebourne on the proposal for records
-
JDK 14 Early-Access Release Notes – speaking of Java 14, here’s the current release notes
-
The State of Java in 2019 – survey results of Java versions, frameworks, tools etc
-
Celebrating 20 Years of Java Community Collaboration – includes an overview of what the Java Community Process is and how it works
-
Low Latency Profiling Now Available in Java 8 – Java Flight Recorder has been backported to Java 8 OpenJDK.
Java Tutorials & Tips
-
Design gotchas in JDK’s functional interfaces – not a recent article but I stumbled over it and thought it was interesting to understand some of these subtleties
-
Java Feature Spotlight: Local Variable Type Inference – a thorough look at “var”, what it is, how it works, when to use it.
-
A guide to Java versions and features – a comprehensive guide to the current status of Java versions, JDK versions and features from Java 8 onwards.
-
Reasons to move to Java 11 – including new tools and performance improvements
-
Name the Date – great piece from the ever entertaining Kevlin Henney on why naming is important
-
Java’s Unspeakable Types – when is a type not a type?
-
2048FX – a JavaFX version of the game 2048
-
Understanding Garbage Collectors – an overview of GC, and how some specific garbage collectors work. From December’s Java Magazine.
Languages, Frameworks, Libraries and Technologies
-
Hello Kotlin – another introduction to Kotlin
-
Stop Mapping Stuff in Your Middleware. Use SQL’s XML or JSON Operators Instead – it is possible to use SQL to get your data into the right shape before it gets to your application.
-
What I learned about Quarkus in two months – in case you need a quick overview of Quarkus
- You can read one article a day in December on JVM Advent
-
Adopting a Cross Platform Strategy for Mobile Apps – using Kotlin Multiplatform
-
Introducing Kotlin at ING, a long but rewarding story – a case study of how a bank adopted Kotlin
-
Announcing Cloud Debugging (beta) for JetBrains IDEs – this is a new feature for the AWS plugin. In related news, the AWS Toolkit is now available for Rider (.NET).
-
Running Your Jupyter Notebooks on The Cloud – Java-based Jupyter notebooks via Oracle Cloud Infrastructure
Culture & Community
- Breaking the “senior developer” ceiling – “Optimize your impact, not output”, really interesting, but if the company can’t understand/measure your impact and only measures your output, this might not help you
-
Training Engineering Managers: This Is The Way to Keep Growing – you can’t simply promote developers to management positions and expect them to succeed.
-
Coding the Future Coders – a reminder that how we market ourselves has a big impact on the type of people we encourage into the industry
-
Creating Psychological Safety in the Workplace (podcast with transcript) – really interesting discussion about why psychological safety is important
-
Dave Farley on Taking Back Software Engineering (podcast with summary) – including “5 foundational principles for software engineering that will be durable, broadly applicable and broadly acceptable”
-
What to Wear on Stage – tips for speakers, particularly applicable to women but plenty in there to consider if you don’t identify as female. I’ve also covered this topic.
-
The Cloud Native Diabolical Developer by Martijn Verburg (video) – a very tongue-in-cheek presentation about What To Worry About As A Developer.
-
Use Testing to Develop Better Software Faster – testing is good not only because, you know, it tests things, but also because it helps us reason about our software.
-
Good and Bad Technical Debt (and how TDD helps) – an older article, but a good view on technical debt
-
To fix Climate Change, stop being a techie and start being a human – is there something we, as techies, can do about climate change?
-
Reflections on One Year in as a Developer Advocate; Advocating for Developers – if you’re interested in what developer advocates do, this is an interesting post
-
Book Report: Developer Advocate! – while we’re on the topic, there’s a new book out interviewing developer advocates (full disclaimer: I am featured in this book)
From @ashleymcnamara:https://t.co/AMf69VLYhg
From @jkriggins:https://t.co/aGsrJmdzfE
From @codepo8:https://t.co/LNV4hS52bV
From @trisha_gee:https://t.co/wJO7FQKyVg
From @mary_grace:https://t.co/DH5uOtAWra
From @GeertjanW: https://t.co/ow3moqRd5A
— Angie Jones (@techgirl1908) December 1, 2019
And Finally
A chance to catch up on the other IntelliJ IDEA blog posts from this month.
- IntelliJ IDEA 2019.3 was released! If video summaries are more your thing, check out the video of improvements for Java Developers.
- My Spring Boot tutorial is still ongoing! We’re up to lesson seven. See all lessons here.
- New screencast: Web Development in IntelliJ IDEA Ultimate, an overview of features to help us develop with JavaScript, TypeScript, HTML, CSS etc.
- Java 13 in IntelliJ IDEA (video) – get an overview of the features in Java 13, and see how IntelliJ IDEA can help you to use them
If you have any interesting or useful Java / JVM news to share via Java Annotated Monthly, leave a comment or drop me a message via Twitter.