Welcome to the Java Tools and Technologies Landscape Report 2017! This is an analytical report, based on an online survey of the Java community about the tools that teams and developers use, popularity and reasons for using these tools, architecture choices and so on.
For this year’s report, we focused on why Java developers use the tools they use and how satisfied they are with their choices in tools, architecture, and so on.
Download the PDF version of the report (in excellent quality):
GET THE REPORT!
RebelLabs Developer Productivity reports are analytical reports based on online surveys of Java developers. Over the last 6 years, we reported on the ecosystem landscape, performance tooling choice, software development quality and predictability, and so on. One of our main reasons for writing the reports is to understand how the Java developer community evolves, which tools they use and the current trends.
This year’s report focuses on why Java developers use the tools they use and how satisfied they are with their choices in tools, architecture, and so on.
The data for this report comes from the results of a public RebelLabs survey that we ran in May-July 2017 which received about 2060 responses.
We analysed the data and all the findings are publicly available in the main report blog post.
However, this year we decided to share the data we gathered as well as the analysis. This way you can always check the claims, do additional research, or just play with the data to generate pretty graphs about your favorite tools.
In this post, I want to share my setup to switch the active JDK version on the command line. Note, I’m use a Mac, and the scripts in this post will work on a Mac and, perhaps, on some Linux machines. If you have a good recipe on how you switch Java versions on the command line on Windows, please share with the community in the comments.
Let’s get to it then. When you download a new JDK release it comes as an installer, so you double click it, click the “Next” button necessary amount of times, and it puts the files somewhere on the filesystem. Or you do it manually.
Download and print out this cheat sheet so you can use it whenever you need. To get fuller explanations and more detailed content in the cheat sheet, continue reading this blog post!
GET THE RxJava CHEAT SHEET!
In this post, I don’t want to spend time on discussing the module system in detail, but instead, I want to talk about what every Java developer can benefit from: the upcoming API and language changes.
So here’s a list of our favorite API changes in Java 9. Naturally, you can just look at the code examples in the post, to get the gist of what’s shown. But you can also fire up JShell and run these snippets as we talk about them to see for yourself what is going on. I’ll wait for you to start JShell up before continuing… ready? Not yet? Ok… done? Still not? Yeh, it takes a while to warm up… ok it’s started, great! Let’s begin.
We’re excited to launch the survey for the RebelLabs Developer Productivity Report 2017. We’ve done a bunch of survey fuelled reports in the past and try to publish one every year analyzing the responses we get from the community about the tools they use, the technologies considered exciting or dull, the architectures we employ to build software, productivity metrics and so on. If you’ve done this before, know the ropes and just want to get started with the survey, click the fantastic button below and you’re good to go.
With this post, we continue the series of one-page cheat sheet for Java developers. This time we’ll look at everyone’s favourite topic, regular expressions! Often seen as the tool capable of solving almost any problem, but all too often it’s just a source of other issues.
We’ve gathered the data at the following services: StackOverflow, LinkedIn, GitHub, and Google search, and unified it through a simple, but effective ranking formula. And we rank some of the most prominent Java web frameworks according to this popularity index.
Last week we published a short Java challenge that required you to make javac generate the smallest Java class possible.
It got a pretty good response, quite a few of the readers decided to stretch their javac knowledge and try their hands on the challenge.
In this post, I’d like to show you a couple of solutions that I got from our readers.
Spoiler alert! If you want to see whether you can convince javac to generate a smaller class file, this is the right time to stop reading and open your terminal.