InfoQ Homepage Languages Content on InfoQ
-
Java InfoQ Trends Report - December 2022
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 2022. 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.
-
Using Serverless WebSockets to Enable Real-Time Messaging
This article reviews some of the most common live-user experiences with examples, discusses event-driven architectures to support real-time updates, and introduces common technology choices.
-
PHP 8 - Classes and Enums
In this article, we will review new PHP 8 features related to classes, including enums, used to specify an enumerated list of possible values for a type; the new readonly modifier for a class property, which makes the property unmodifiable after its initialization; and constructor parameter promotion, useful to assign a constructor parameter value to an object property automatically.
-
Java Champion Josh Long on Spring Framework 6 and Spring Boot 3
Microservices show where Java lags behind other languages. Reactive programming provides a concise DSL to express the movement of state and to write concurrent, multithreaded code with better scaling. Developing in Spring Boot works well even without special tooling support. Josh Long is excited about Project Loom, Java optimization in Project Leyden, and Foreign-Function access in Project Panama.
-
Separation of Concerns in Node.js
In Node.js you can structure your code however you want. There is no "correct way". You have the option of writing all of your code in a single app.js file or creating multiple files and placing them in different folders. Most developers, however, would recommend structuring your projects by grouping related data together rather than having it all together.
-
PHP 8 — Attributes, Match Expression and Other Improvements
PHP 8 is a major update to PHP that introduces several new features and performance optimizations. In this first article of the PHP 8.x Article Series, we are going to introduce a number of new features including attributes, match expression, instanceof operator, new operator, a new JIT compiler, and more.
-
Turning a Node.js Monolith into a Monorepo without Disrupting the Team
Splitting monoliths into services creates complexity in maintaining multiple repositories (one per service) with separate (yet interdependent) build processes and versioning history. Monorepos have become a popular solution to reduce that complexity.
-
Shift Left Approach for API Standardization
Descriptions about API standardization using common tools like OpenAPI and Zally, to simplify re-use across microservices between teams. Reviews against best practices such as an API stylebook and guidelines from Microsoft and Google.
-
Moving Kafka and Debezium to Kubernetes Using Strimzi - the GitOps Way
Deploying an Apache Kafka cluster to a Kubernetes is not an easy task. There are a lot of pieces to configure like the zookeeper, the Kafka cluster, topics, and users. Strimzi is a Kubernetes controller making the deployment process of Kafka a child game. Moreover, Strimzi lets you manage Kafka using GitOps methodology as everything is executed using a Kubernetes YAML file.
-
Virtual Threads: New Foundations for High-Scale Java Applications
Virtual threads are a lightweight implementation of Java threads, delivered as a preview feature in Java 19. They dramatically reduce the effort of writing, maintaining, and observing high-throughput concurrent applications. Virtual threads breathe new life into the familiar thread-per-request style of programming, allowing it to scale with near-optimal hardware utilization.
-
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.
-
How to Speed up Large Collections Processing in Java
A review on Java performance for many objects using Java Collections or alternative collections, with the impact of serial vs. parallel streams. For some streaming data sets, parallel processing can be slower than the default.