DEV Community

Anastasia Khomyakova ❤ for Konfy

Posted on

"Being happy helps everything else work better.", — Josh Long

Hello Java Universe!

JLove is coming!

We don't know have you heard it yet, but each of you has a chance to win one of the fantastic prizes from our lovely sponsors!
The only you need to do is to follow up the website, press the button "GO" and fill in all the gaps in the Typeforms!
Leave as much info as you can! Double your chances!

Oli will announce the winners during the closing words of the Conference!

We adore the idea to interview our speakers, their answers are inspiring and giving diverse food for thought!

Please welcome, Josh Long!

Josh has been the first Spring Developer Advocate since 2010. Josh is a Java Champion, author of 6 books (including O'Reilly's "Cloud Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry" and "Reactive Spring") and numerous best-selling video training (including ["Building Microservices with Spring Boot Livelessons"])( with Spring Boot co-founder Phil Webb), and an open-source contributor (Spring Boot, Spring Integration, Spring Cloud, Activiti and Vaadin, etc), a podcaster ("A Bootiful Podcast") and a YouTuber.

What new countries have you "visited" thanks to the online format?

I don't even know. I think I did a conference in Lithuania, which I've never been to physically. I would love to visit in real life one day.

How has your programming style with Java evolved over the past couple of years? What are some of the things that led to the significant improvements?

My programming style with Java has become more and more like my style with Kotlin. Lots more multiline strings, var usage, lambdas, etc.

Do you have any personal habits around development or self-care that you would like to share with our audience?

Take time to stop and breathe and reflect on everything that's going well. Being happy helps everything else work better.

Projects Valhalla, Loom, and Amber have received a lot of buzz, but there is a healthy level of skepticism about the projects. Do you have any thoughts you'd like to share?

I am super excited about those, but I'm equally as excited about Project Panama! Project Panama brings integration with native code, something the Java ecosystem has sorely been lacking.

What is planned for Java after Java 17? How will it change the everyday life of a Java developer?

I have no idea. I don't even know when Java 17 will start changing the everyday lives of Java developers.

There are Groovy, Scala, Kotlin, and many others in the family of JVM languages. What features do we miss in Java in comparison with other JVM languages? Elaborate.

Well, Java's evolving quickly! It's becoming better and better by the day. I use Kotlin a lot, but the gap is narrowing considerably. Indeed, some cases where Java's implementation is preferable, like the work they're doing in pattern matching. That said, it's possible to get algebraic types and exhaustive pattern matching in C-99 with the proper use of macros, so maybe the goal shouldn't be adding more features but adding the right features. I think Java's done an excellent job of that in the recent time that they've done it.

Alt Text

There are plenty of reasons why Java, being one of the older software programming languages, is still widely used. For one, the immense power one wields when using Java is enough to make it their staple—coupled with the possibility of using good Java frameworks that can reduce the turnaround time for big projects. Your favorite framework? What advantages and disadvantages it has?

My favorite framework is Spring because it has been around for most of Java's life, integrates with darn near everything, and quickly adapts new ideas and paradigms (like containerization with buildpacks, GraalVM native images with Spring Native, and Kubernetes). In addition, it's got a huge community, so people that you can ask questions are never far.

In the beginning, Make was the only build automation tool available beyond homegrown solutions. Make has been around since 1976, and as such, it was used for building Java applications in the early Java years.
However, many conventions from C programs didn't fit in the Java ecosystem, so in time Ant took over as a better alternative. Maven continues to use XML files just like Ant but in a much more manageable way. And then, Gradle was built upon the concepts of Ant and Maven.Fancy Gradle or old school Maven? Or Ant?!

These days I use Maven for pretty much everything. It works fine, and there's a plugin and option for just about everything out there. Either is fine. I don't care. My preference and comfort are with Maven, but there are better engineers than I prefer Gradle, so it's fine. Just use whatever gets your application to production faster :)

Are we going to use modules ever? When we create a module, we organize the code internally in packages, just like we previously did with any other project. So why are packages not enough?

We do use modules, all the time, in the JDK. I doubt, however, that many of us are using it in our applications :-) Modules give us a more modular JRE, and so their use there is already a win. Today, I don't see the need for them in my applications, where the unit of granularity is the microservice or container (not the module). That's not to say that they won't be great for somebody else. You just never know...

There are rumors that you're not using GraalVM's native image in your demos because it takes you less time to create a fully-featured microservice during the demo from scratch than to AOT compile it. Comments? :D

LOL! I do use Spring Native and GraalVM in my "Kubernetes Native Java," talk, but I don't wait for it - I go and create another microservice while I'm waiting for it to build :-)

We are so honored that Josh is our speaker again! You can check his talk "Reactive Spring" from the previous year!

This time Josh will look at how Spring Boot makes writing blisteringly fast, cloud-native, and scalable services more effortless than ever. We bet you don't want to miss his talk, so you'd better make a notification that Josh will be presenting on the 25th of June at 21.00 CEST!

Register to attend
Check out our Website

We'll see you at the jLove Conference on the 25-26th of June!

Top comments (0)