BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Programming Content on InfoQ

  • Java Feature Spotlight: Sealed Classes

    The release of Java SE 15 in Sept 2020 will introduce "sealed classes" (JEP 360) as a preview feature. A sealed class is a class or interface which restricts which other classes or interfaces may extend it. Sealed classes, like enums, capture alternatives in domain models, allowing programmers and compilers to reason about exhaustiveness.

  • Using a DDD Approach for Validating Business Rules

    If the goal is to create software applications that emulate the behavior of domain experts, then the challenge is in capturing and implementing the business rules. This is more a factor of good knowledge management than it is raw coding ability. Following techniques from Domain-Driven Design can provide a structure for effectively validating and implementing business rules in a system.

  • TornadoVM: Accelerating Java with GPUs and FPGAs

    The proliferation of heterogeneous hardware represents a problem for programming languages such as Java that target CPUs. TornadoVM extends the Graal JIT compiler to take advantage of GPUs & FPGAs and provides a flexible, high-level model whilst still enabling high performance and features such as live task migration.

  • Blazor RenderTree Explained

    Blazor is a new single page application (SPA) framework from Microsoft that relies on the .NET framework in favor of JavaScript. As part of its component development model, Blazor uses a DOM abstraction called a RenderTree. In this article we’ll learn what exactly a DOM abstraction is, what the RenderTree is used for, and why Blazor developers should know about it.

  • Crank, a New Front-End Framework with Baked-In Asynchronous Rendering - Q&A with Brian Kim

    Brian Kim introduces Crank.js, a new front-end framework with baked-in asynchronous rendering. The framework orchestrates front-end applications' tasks and rendering with standard asynchronous generators. Crank strives to be Just JavaScript, and reduces the number of concepts that need to be acquired to write a front-end application. Gone are proprietary notions of asynchronous resources.

  • Running Axon Server - CQRS and Event Sourcing in Java

    Axon Server Standard Edition is an Open Source, purpose-built solution supporting distributed CQRS and Event Sourcing applications written in Java with the Axon Framework. Part one in this series discusses running it locally and explores aspects of Administration/Security and Configuration. It also discusses more advanced features available with the Enterprise Edition - Clustering/Multi-Contexts.

  • PHP 7 — Getting Started and OOP Improvements

    PHP had almost become a forgotten language, with a lapse of more than 10 years without a new major version after PHP 5.0 in 2004. PHP 7.0 is a major version with several improvements and new features which have brought it to the level of other modern languages. In this series of articles, we shall discuss new features in the various PHP 7.x versions.

  • Extensible Effects in JavaScript for Fun and Profit - Q&A with William Heslam

    Extensible effects, described by some as the right way to structure programs, are crossing over to JavaScript. Extensible effects at core provide a composable and flexible way to separate concerns, while allowing to redefine the implementation of those concerns at will. William Heslam explained what extensible effects are and the benefit of using them.

  • Machine Learning in Java with Amazon Deep Java Library

    In this article, we demonstrate how Java developers can use the JSR-381 VisRec API to implement image classification or object detection with DJL’s pre-trained models in less than 10 lines of code.

  • Apache Arrow and Java: Lightning Speed Big Data Transfer

    Apache Arrow puts forward a cross-language, cross-platform, columnar in-memory data format for data. It is designed to eliminate the need for data serialization and reduce the overhead of copying.

  • Building .NET Applications for AWS

    AWS provides a large set of online services. To use those services effectively, AWS offers .NET developers a complete SDK for building apps, and a set of toolkits for popular IDEs.

  • Interview with Node.js Technical Steering Committee Chair

    Michael Dawson, active contributor to the Node.js project and chair of the Node.js Technical Steering Committee(TSC), and IBM Node.js community lead, joins us for a behind-the-scenes look at Node.js. The recent Node.js 14 release introduces improvements in Diagnostic Reporting, Internationalization, ES module loading, and an experimental Web Assembly System Interface.

BT