InfoQ Homepage JVM Languages Content on InfoQ
-
How Functional Programming Can Help You Write Efficient, Elegant Web Applications
Many things can make software more challenging to understand and, consequently, to maintain. One of the most complex and problematic causes is managing internal mutable states. When the internal state is poorly managed, the software behaves unexpectedly, leading to bugs and fixing, which introduces unnecessary complexity. FP solves this problem by providing immutability mechanisms and more.
-
InfoQ Java Trends Report - November 2023
This report provides a summary of how the InfoQ Java editorial team and several Java Champions currently see the adoption of technology and emerging trends within the Java and JVM space in 2023. We focus on Java the language, as well as related languages like Kotlin and Scala, the Java Virtual Machine (JVM), and Java-based frameworks and utilities.
-
Streamlining Code with Unnamed Patterns/Variables: a Comparative Study of Java, Kotlin, and Scala
Explore the use of the Unnamed Patterns/Variables in programming languages like Java, Kotlin, and Scala. Enhancing code readability, allowing omission of unnecessary components, and simplifying code are key features. Expect further innovative uses as languages evolve.
-
Java Champion James Ward on the State of Java and JVM Languages
James Ward is a Java Champion and Google’s Kotlin product manager. In a podcast, Ward agreed that “people are still trapped in the Java world” and called default mutability in Java the “trillion-dollar mistake”. In this interview, he speaks about the state of Java, JVM languages, mutability, and functional programming.
-
Gatling vs JMeter - What to Use for Performance Testing
A performance tool with a graphical interface will probably be easier to use at the beginning, but the idea of a performance test as code is the future. Tests are readable and much easier to maintain. Many people are skeptical about Gatling because it requires learning a new programming language - Scala. However, Java is supported with the release of Gatling 3.7.
-
Kotlin at Ten. Interview with JetBrains’ Roman Elizarov
JetBrains unveiled Kotlin in July 2011, aiming to create a modern, general-purpose programming language running on the JVM as well as on the Web. Kotlin has quickly seen huge adoption, especially for Android app development. InfoQ has taken the chance to speak with Kotlin project lead at JetBrains Roman Elizarov to learn more about the origins of the language and its future.
-
Enhanced Streams Processing with Kotlin’s Sequence Interface
Data structures are an intrinsic part of every programming language, yet Java’s Stream interface lacks vital operations and its complex approach to extensibility gave rise to alternative libraries such as jOOλ and Guava. This article provides an alternative approach that can be easily integrated in any Java project using Kotlin's Sequence interface.
-
Donkey: a Highly-Performant HTTP Stack for Clojure
Donkey is the product of the quest for a highly performant Clojure HTTP stack aimed to scale at the rapid pace of growth we have been experiencing at AppsFlyer, and save us computing costs. In this article, we’ll briefly outline the use-case for a library like Donkey and present our benchmarks. Finally, we will discuss Clojure and immutability, and some of our design decisions.
-
Java InfoQ Trends Report—September 2020
This article provides a summary of how the InfoQ editorial team currently sees the adoption of technology and emerging trends within the Java space in 2020. We focus on Java the language, as well as related languages like Kotlin and Scala, the Java Virtual Machine (JVM), and Java-based frameworks and utilities.
-
Tutorial: Writing Microservices in Kotlin with Ktor—a Multiplatform Framework for Connected Systems
Ktor (pronounced Kay-tor) is a framework built from the ground up using Kotlin and coroutines. It is a great fit for applications that require HTTP and/or socket connectivity. These can be HTTP backends and RESTful systems, whether or not they’re architectured in a microservice approach.
-
Groovy 3.0 Adds New Java-Like Features
Groovy 3 adds several new features similar to equivalents in Java, including the enhanced for loop, try-with-resources and lambda expressions.
-
A Bottom-Up View of Kotlin Coroutines
Recently coroutines have become popular as an alternative to Reactive Programming on the JVM. In many cases the costs of restructuring your code around functional operations for reactive streams outweigh the benefits, so coroutines have emerged, initially for Android, as an alternative solution. This deep dive explores how Kotlin's implementation works under the hood.