Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage System Programming Content on InfoQ

  • How to Use Rust Procedural Macros to Replace Panic with syn’s Fold

    In this article, we show how you can write advanced macros to step through Rust code and modify it. Using the standard tooling available in the syn crate, we first show how to change the occurrence of a panic into an Err. Then we go a step beyond and use the Fold trait to recursively step through the entire function, automatically executing a change in every applicable location.

  • What's New in PHP 8.3

    PHP 8.3 is the latest major update in the PHP 8.x series. In addition to performance improvements, it brings a wealth of new features, including amendments to the readonly feature introduced in PHP 8.1; explicitly-typed class constants; a new #[\Override] attribute for methods intended to be overridden from a superclass, and more.

  • AI-Based Prose Programming for Subject Matter Experts: Will This Work?

    In this article, author Markus Völter discusses the future of programming using Large Language Model (LLM) tools like ChatGPT and GitHub’s Copilot for prose-to-code generation. He also talks about what new approaches and language changes need to be in place to help non-programmers take advantage of the "program in prose" techniques.

  • InfoQ DevOps and Cloud Trends Report – July 2023

    InfoQ editorial staff and friends of InfoQ are discussing the current trends in the domain of cloud and DevOps as part of the process of creating our annual trends report. These reports provide InfoQ readers with a high-level overview of the topics to pay attention to and help the editorial team focus on innovative technologies.

  • Learning eBPF for Better Observability

    This article shares insights into learning eBPF as a new cloud-native technology which aims to improve Observability and Security workflows. Learn how to practice using the tools, and dive into your own development. Iterate on your knowledge step-by-step, and follow-up with more advanced use cases later.

  • Rust Reviewed: the Current Trends and Pitfalls of the Ecosystem

    In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from other languages.

  • Relearning C++ after C++11

    C++ is an old but evolving language. It has been around for a long time, but has changed significantly, particularly since 2011. In this article, we will review a few of its most compelling new features, including ranges, lambdas, range-based for loops, and move semantics, all by practising with a vector.

  • PHP 8 - Arrays, Variables, Operators, Exception Handling and More

    In this article, we discuss new features brought by PHP 8 related to arrays, variables, operators, and exception handling. We also discussed some trait-, class-, and function-related features. This article concludes the PHP 8 article series.

  • Designing for Concurrency: the Hilbert’s Hotel Problem in Go

    In this article, we want to show how achieving concurrency is the result of an appropriate design. A concurrent solution may turn out to be more elegant and easier to reason about than an equivalent sequential algorithm. To illustrate these concepts we use, as an example, the Hilbert’s Hotel mathematical problem.

  • Your Tech Stack Doesn’t Do What Everyone Needs It To. What Next?

    Stack extensibility is an essential trait of well-designed IT ecosystems. Low-code BPA (Business Process Automation) has advantages that puts it at the forefront of approaches to stack extensibility. Learn how low-code software increases process resiliency by empowering business teams with an easy-to-use, easy-to-understand and, most of all, IT-sanctioned set of tools.

  • Article Series: PHP 8.x

    PHP continues to be one of the most widely used scripting languages on the web with 77.3% of all the websites whose server-side programming language is known using it according to w3tech. PHP 8 brings many new features and other improvements, which we shall explore in this article series.

  • PHP 8 - Type System Improvements

    In this article we will discuss extensions to the PHP type system introduced in PHP 8, 8.1, and 8.2. Those include union, intersection, and mixed types, as well as the static and never return types. Additionally, PHP 8 also brings support for true, null, and false stand-alone types.