IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
Java Annotated Monthly – September 2017
The major news in August was for Android, with the release of Oreo. Other than that, the rest of the Java world seems to be holding its breath waiting for Java 9, due (finally!) this month. The lull in pure technology news gives us a chance to explore other topics that affect us as developers and members of a larger organisation, so this month we have a whole section on Culture.
Java
There’s not a lot of Java 9 specific news this month, so all the Java news is in one section for a change.
- How Java 9 Incubator Modules Will Change the Future of Java – a new feature that takes advantage of the introduction of modules in Java 9.
- Concatenating Strings in Java 8 – featuring one of my favourite Java 8 features.
- Put Your Java 8 Method References to Work – thinking a little more about how method references can enhance your code (or not).
- Java Still Number One, But What’s Taking Over?
- How Memory Leaks Happen in a Java Application
Android
Android Oreo is now out! So as you’d expect there’s Oreo-related news along with the usual mix of good practice, patterns, things learnt the hard way.
- Android 8.0 Oreo Is Here. Developers Are Recommended to Test Their Apps
- Android Oreo Background Execution Limits (video)
- Introduction to Android Architecture Components
- RxJava cheat sheet, with a pinch of Android
- SOLID Android analytics with RxJava2
- Understanding the performance benefits of ConstraintLayout
- How to improve app design for Wear 2.0
- Time for non-Time Lords: Part 1 (Units Are Important), Part 2 (Calculating Time Is Hard, Use JSR 310 or Joda time), Part 3 (Using JSR 310 in Android), Part 4 (A Deeper Look at 310) – Note that while these are Android-specific articles, Java developers looking to use the new Date and Time API in Java 8 (JSR 310) may also find this useful.
- Exploring Test-Driven-Development with Android UI Tests
- 30+ Bite-Sized Pro Tips to Become a Better Android Developer
- Android Dev 101: Things every beginner should know – You probably already know it all, but it’s worth skimming to feel better about everything you do know.
Languages, Frameworks and Libraries
News about Java/JVM-related technologies, as usual there’s reasonable overlap with the Android and Java sections.
- Opening Up Java EE – Oracle is talking about finding ways to open up the development of Java EE. More information: Oracle Looking to Move Java EE to Open Source Foundation and WebLogic Server and Opening Up Java EE. Of course this has lead to speculation about opening up Java SE as well.
- Rise and fall of JVM languages – by a Kotlin fan.
- Kotlin From Scratch: Ranges and Collections – Hadi and I were discussing just this week the difference in creating and using Collections in Kotlin and Java. I tried to hide my jealousy at how much easier some things are in Kotlin. Catch up on the whole Kotlin from Scratch series.
- Clojure – the perfect language to expand your brain? – whether you agree with the specific choice of language or not, it’s worth understanding that different languages affect the way you think.
- Error handling in RxJava
Design and Architecture
August was a quiet month for this topic, unless you want yet more “Microservices! The answer to everything!”/”Microservices! They don’t work!” articles.
- Why unnecessary variables are bad for your code – possibly controversial, but it makes you think about what your approach is.
- Object-Oriented Programming Strikes Back! – some thoughts in response to an article mentioned in last month’s annotated.
- Becoming Fully Buzzword Compliant (video) – my talk on how to fake your way in current technologies and architectures.
Culture
Every month I come across interesting articles that are related to being a developer, but aren’t specifically about development technologies. The relative lack of technology news this month combined with the expectation that there will be a lot of Java-related news off the back of September’s release of Java 9, means this is the perfect time to clear the backlog of articles I’ve nebulously labelled “Dev Culture”.
- A Look into NASA’s Coding Philosophy
- Focus on Culture When Building an Engineering Culture – like, really focus on it, don’t just pay lip service
- For programmers, the ultimate office perk is avoiding the office entirely – if you can’t compete with the salaries of Facebook/Google etc, perhaps offer your developers a different perk.
- How I stay productive working remotely
- Effective Remote Teams
- Rethinking Lean Startup at a Big Corporate (text interview)
- Interactions of individual and pair programmers with an intelligent tutoring system for computer science – An analysis of how effective pair programming is for learning.
- How to deal with technical debt and save your sanity
- Managing Developer Stress – or: How can I minimise my stress levels?
- The language of programming – not really sure how to categorise this article but it’s very interesting, not least for helping native English speakers to understand the pain of non-natives.
- 5 ways to motivate technical employees
- Overcoming the Goldilocks Complex or: stuck between novice and expert developer.
- How Developers Stop Learning: Rise of the Expert Beginner
- The Critical Importance of Play in the Workplace (podcast)
- Forming and Maintaining Great Teams (podcast)
- Growing Technical Leadership and Evolutionary Architecture (podcast)
- What Google Learned about Creating Effective Teams (video) – and what you as a leader can do.
Events
Come and say hello at the booth, see our presentations and ask us any questions!
- 5-6 Sep: Google Developer Days, Poland (Hadi is presenting What can Kotlin do for me?)
- 13-14 Sep: JavaZone, Oslo
- 18-20 Sep: HashiConf, Austin TX
- 20-21 Sep: WinOps, London
- 1-5 Oct: JavaOne, San Francisco (so sad I can’t personally be there this year)
- 1-4 Oct: Velocity, New York (30 passes available at 30% off with code VIP30)
And Finally
News and topics from the IntelliJ IDEA blog that you may have missed:
- IntelliJ IDEA 2017.2.3 is available now
- IntelliJ IDEA 2017.2: Spring Boot Improvements
- Code Smells Series: Nulls, Deeply Nested Code, Iteration, Mutation.