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

  • Elm in Action - Book Review and Q&A with Richard Feldman

    The book Elm in Action by Richard Feldman provides a gentle, thorough introduction to Elm for web developers, and walks them through the creation of a full-featured photo-browsing application. Elm is a purely functional language for creating web applications. Elm touts the absence of runtime errors, a sound type system with strong type inference and delightful developer experience.

  • PHP 7 — New Features for Types

    In the previous two articles in this series, we explored some of the improvements introduced in PHP 7. To set the background for this article on PHP’s type system, PHP is a weakly typed language, which implies the data type of variables does not need to be declared. In this article we explore new type-related features available in PHP 7.x.

  • Project Helidon Tutorial: Building Microservices with Oracle’s Lightweight Java Framework

    Oracle introduced its new open-source framework, Helidon, in September 2018. Originally named Java for Cloud, Helidon is a collection of Java libraries for creating microservices-based applications. Within six months of its introduction, Helidon 1.0 was released in February 2019. The current stable release is Helidon 1.4.4, but Oracle is well on their way to releasing Helidon 2.0.

  • PHP 7 — Classes and Interfaces Improvements

    In the second instalment of this article series dedicated to PHP 7, we continue our exploration of PHP 7 new features focusing on object-oriented programming support, classes, and interfaces.

  • 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.

BT